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 :

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

comments powered by Disqus