Effectivement, ces deux mots décrivent des solutions logicielles utilisées pour faciliter le développement d'application, ce sont donc des concepts, à la base, assez similaires. 😵
Mais...
Une API représente un accès à du code externe dont l'utilisation se fait à travers une interface simplifiée et permettant d'étendre les fonctionnalités d'un logiciel.
Elle est mise à disposition par l'environnement dans lequel tourne le logiciel. ⚙
Un SDK, comme son nom l'indique, n'est pas seulement un morceau logiciel, mais c'est un kit complet.
Il peut faciliter l'accès à une ou plusieurs APIs, fournir un ensemble de bibliothèques, de la documentation, des exemples, etc... et cible un langage spécifique ! 📦
En résumé 📄
- Une API est externe à l'application tandis que le SDK doit être intégré à l'application
- Une API est une abstraction de code complexe et expose des fonctionnalités, tandis qu'un SDK est une abstraction de nombreux outils et ressources (dont des APIs)
Pour comprendre la différence entre une API et un SDK, avec des exemples concrets, je vous invite à lire l'article complet sur Code-Garage 👇
Souvenez-vous que les jurés ne sont là que pour valider les compétences que vous leur présentez en fonction du référentiel qui leur a été confié, et rien d'autre ! 🎯
C'est notre obligation légale, donnée par la DIRECCTE !
2️⃣ Relire et faire relire son dossier
Laisser une faute à chaque ligne ou paragraphe donne vraiment une impression que l'étudiant.e n'a pas accordé suffisamment de soin à son dossier.
Ça peut même parfois rendre la lecture et la transmission d'informations difficiles ! 😱
Née en 1986, il s'intéresse TRÈS tôt à l'informatique, à tel point qu'à 12 ans il créé son premier site de partage de connaissances collaboratif (Wikipédia-like) : The Info Network. 🤯
Ce site va lui permettre de visiter le MIT et de rencontrer son futur mentor : Lawrence Lessig
À 14 ans il participe à la création de la spécification 1.0 de RSS. À 15 ans, il devient l'un des concepteurs de la licence de partage Creative Commons... 🔥
Savez-vous pourquoi les numéros de versions des dépendances logicielles sont toutes notées sous la forme "1.3.14" ?
C'est une convention qu'on appelle le "Semantic Versioning", et chaque chiffre a son importance ! 🧵 #code#dev#software#versioning
L'objectif du Semantic Versioning (ou SemVer) est de donner un numéro unique à chaque nouvelle version d'un logiciel. ✨
Un identifiant minimal de version qui ressemble à 0.0.1 se lira tout simplement MAJOR.MINOR.PATCH
Le numéro "MAJOR" est le plus critique, c'est le seul qui indique une évolution de l'API tellement importante que la rétrocompatibilité n'est plus assurée 😱
On recense les premières traces de chiffrement symétrique vers 1500 av. JC, en Mésopotamie. 🥐
Aujourd'hui, on utilise le chiffrement symétrique dans notre vie numérique, souvent sans le savoir. Mais comment ça fonctionne exactement ? 🧵 #dev#code#infosec
Le chiffrement symétrique, même le plus basique, est basé sur deux outils : Un algorithme de chiffrement / déchiffrement, et une clé. 🔑
Prenons l'exemple d'une discussion entre deux personnes 👇
1️⃣Les participants d'une discussion se mettent d'accord sur un algorithme de chiffrement commun (souvent inhérent au système utilisé pour communiquer).
L'avantage d'une promesse, c'est de pouvoir normaliser le retour d'une fonction asynchrone.
Et donc d'offrir une API pour traiter ces retours avec des fonctions comme .then(), .catch(), Promise.all(), etc... et de pouvoir les chainer. 🔗
Mais parfois, on aimerait simplement pouvoir traiter ces appels asynchrones de manière synchrone plus simplement qu'en enchainant les .then() par exemple.
Voilà pourquoi il existe les directives async/await ! 👇