Loupe

Qu'est-ce qu'une API ?

Si vous dĂ©butez dans les mĂ©tiers du web ou que vous frĂ©quentez des dĂ©veloppeurs, vous avez certainement pu entendre les phrases suivantes : 

"Il faudra brancher ce bouton Ă  l'API !",

"J'aurai besoin que l'API me renvoie le nom de l'utilisateur et son identifiant... tu peux me faire ça ?",

"Pourquoi l'API me renvoit une erreur lĂ  ?" ...

Qu'est-ce qu'une API ?

Littéralement, cela signifie "Application Programming Interface"... mais ça n'a jamais éclairé personne, donc je vais tenter de vous fournir une explication simple de ce qu'est une API.

Pour vulgariser, une API c'est une liste d'adresses HTTP, qui, quand on les appelle, vont exécuter du code qui va souvent lire, créer, modifier ou supprimer des informations dans une base de données puis renvoyer ces informations (s'il y en a) en les accompagnants d'un code de réponse (200: OK, 404: Not Found, 500: Server error etc...).

Les API sont utilisĂ©es dans la quasi-totalitĂ© des projets web manipulant des donnĂ©es car elles sont un moyen organisĂ© et clair de dĂ©couper un projet d'application entre le back (les donnĂ©es) et le front (interface utilisateur). Ce dĂ©coupage permet de rendre nos donnĂ©es indĂ©pendantes de l'interface qui va les utiliser ! Ainsi on peut imaginer une API qui va ĂȘtre utilisĂ©e par une application web, une application mobile, des systĂšmes embarquĂ©s...

Résultat de recherche d'images pour "API"

Schéma explicatif d'une API

API : mode d'emploi

Une API, à mon sens, se définit par ses adresses. En les regardant, vous pouvez immédiatement savoir à quoi elle sert :

1
2
3
https://api/users   [GET, POST]
https://api/users/{id}   [GET, PUT, DELETE]
https://api/users/{id}/animals   [GET, POST]

J'ai accompagné ces adresses des méthodes autorisées, qui nous indiquent quelles actions je peux exécuter avec mon API.

C'est ainsi que je peux d'emblée vous dire qu'avec la premiÚre adresse "https://api/users" je vais pouvoir récupérer tous les utilisateurs en base de données avec la méthode GET et ajouter un utilisateur dans cette base de données avec la méthode POST.

La deuxiĂšme requĂȘte me permet de rĂ©cupĂ©rer un utilisateur unique (en spĂ©cifiant son identifiant), de modifier ces donnĂ©es (son nom, son adresse mail) avec la mĂ©thode PUT et de le supprimer avec la mĂ©thode DELETE.

La troisiĂšme requĂȘte nous indique que je peux rĂ©cupĂ©rer la liste des animaux d'un utilisateur (en spĂ©cifiant son identifiant) et d'ajouter un animal dans cette liste via la mĂ©thode POST.

Quand on va appeler ces adresses, l'API nous renverra une réponse qui peut contenir des données (une liste d'utilisateur) et dans tous les cas un code de réponse qui nous informe sur ce qui s'est passé du coté du serveur:

  • 200 (OK) => Ma requĂȘte vers l'API est correcte.
  • 404 (Not Found) => La ressource que j'ai demandĂ© n'a pas Ă©tĂ© trouvĂ©e.
  • 500 (Server error) => Une erreur est survenue sur le serveur.

Il existe d'autres codes de réponse que je ne détaillerai pas ici mais les codes de réponses sont vitaux lors du développement d'une application car ils représentent la bonne (ou mauvaise) communication de notre interface utilisateur avec notre API.

Vous avez compris ? 

Pour tout rĂ©sumer, une API c'est une liste d’adresses et chaque adresse est reliĂ©e Ă  une fonction qui se dĂ©clenche Ă  l'appelle de l'adresse pour aller manipuler des donnĂ©es !

Pour toute question, n'hésitez pas à mettre un commentaire ci-dessous ;)

Happy Coding !

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires