API REST et intégrations
Ce cours t'apprend ce qu'est une API REST, comment elle fonctionne et comment deux logiciels échangent des données grâce à elle. Tu comprendras le vocabulaire de base, les méthodes utilisées et les pièges classiques rencontrés sur le terrain.
1.Qu'est-ce qu'une API REST
Une API, ou interface de programmation, est un ensemble de règles qui permet à deux logiciels de communiquer. Imagine un restaurant : toi le client, tu ne rentres pas en cuisine, tu passes commande au serveur, qui transmet et rapporte le plat. L'API joue ce rôle de serveur entre une application et un système externe. REST, qui signifie Representational State Transfer, est un style d'architecture qui définit comment organiser cette communication via le protocole HTTP, celui du web. Par exemple, l'application météo de ton téléphone interroge une API REST pour récupérer la température de Lyon, sans connaître les détails internes du serveur météo. Cette approche est devenue le standard car elle est simple, basée sur des adresses web classiques, et compréhensible par n'importe quel langage de programmation.
- Une API relie deux logiciels sans exposer leur fonctionnement interne.
- REST est un style d'architecture basé sur le protocole HTTP.
- Exemple concret : une appli météo interroge une API pour obtenir des données.
2.Les ressources et les URL
Dans une API REST, tout tourne autour de ressources. Une ressource est une donnée ou un objet manipulable, comme un utilisateur, une commande ou un article de blog. Chaque ressource possède une adresse unique appelée URL, ou Uniform Resource Locator. Par exemple, l'adresse api.boutique.com/produits/42 désigne le produit numéro 42 dans une boutique en ligne. Cette logique ressemble à un plan de classement : chaque dossier a un chemin précis pour le retrouver. Une bonne API organise ses URL de façon prévisible et hiérarchique : produits, puis produits/42, puis produits/42/avis pour les avis clients sur ce produit. Cette structure claire facilite la compréhension du système par les développeurs qui l'utilisent, même sans documentation détaillée, car elle suit une logique intuitive proche du langage naturel.
- Une ressource est un objet ou une donnée identifiable, comme un produit ou un client.
- Chaque ressource a une URL unique et stable.
- Les URL s'organisent en hiérarchie logique, ex : produits/42/avis.
3.Les méthodes HTTP et leurs usages
Pour agir sur une ressource, une API REST utilise des méthodes HTTP, des verbes qui indiquent l'action demandée. GET récupère une information, sans rien modifier, comme consulter la fiche d'un produit. POST crée une nouvelle ressource, comme ajouter un article au panier. PUT ou PATCH modifient une ressource existante, par exemple changer l'adresse de livraison. DELETE supprime une ressource, comme annuler une commande. Ces verbes rendent le comportement d'une API prévisible : un développeur sait qu'un GET est sans danger, tandis qu'un DELETE demande de la prudence. Par exemple, l'appel GET api.boutique.com/commandes/17 renvoie les détails de la commande 17, alors que DELETE sur la même adresse la supprime. Cette cohérence entre verbe et action est au cœur de la philosophie REST et facilite grandement la maintenance des systèmes.
- GET lit, POST crée, PUT ou PATCH modifient, DELETE supprime.
- Chaque méthode HTTP correspond à une intention claire et prévisible.
- Exemple : DELETE sur commandes/17 supprime la commande numéro 17.
4.Le format des données échangées
Quand une API répond, elle envoie des données dans un format structuré, le plus souvent JSON, pour JavaScript Object Notation. Ce format ressemble à une fiche organisée avec des paires clé-valeur, lisible par un humain et facile à traiter par une machine. Par exemple, une réponse pour un utilisateur pourrait ressembler à un objet contenant nom, égal Dupont, et âge, égal 34. Le client qui appelle l'API, une application mobile ou un site web, lit ce JSON et l'affiche à sa façon. Un autre format existe, XML, plus ancien et plus verbeux, encore utilisé dans certains systèmes d'entreprise. Le choix du format doit être annoncé dans l'en-tête de la requête, via un champ appelé Content-Type, pour que les deux parties se comprennent sans ambiguïté sur la structure des données transmises.
- JSON est le format dominant, lisible et léger, basé sur clé-valeur.
- XML reste utilisé dans certains systèmes historiques ou d'entreprise.
- Le Content-Type précise le format des données échangées.
5.Authentification et sécurité des échanges
Une API accessible à tous sans contrôle serait dangereuse. C'est pourquoi la plupart imposent une authentification, un mécanisme qui vérifie l'identité de celui qui appelle. La méthode la plus courante utilise une clé API, une chaîne de caractères unique transmise à chaque requête, comme un badge d'accès. Une autre méthode, plus robuste, s'appelle OAuth : elle permet à une application d'agir au nom d'un utilisateur sans connaître son mot de passe, comme quand tu te connectes à un site avec ton compte Google. Par exemple, une application de comptabilité qui synchronise tes factures bancaires utilise OAuth pour accéder à ton compte en banque de façon sécurisée et limitée dans le temps. Sans authentification correcte, une API expose des données sensibles, ce qui explique pourquoi la sécurité occupe une place centrale dans toute intégration professionnelle.
- La clé API identifie l'appelant à chaque requête, comme un badge.
- OAuth permet un accès sécurisé sans partager de mot de passe.
- Une API mal sécurisée expose des données sensibles à des tiers.
6.Erreurs fréquentes et points d'examen
Trois confusions reviennent souvent. D'abord, confondre API et REST : REST est un style parmi d'autres, il existe aussi SOAP ou GraphQL, alors ne présente pas REST comme la seule forme d'API possible. Ensuite, oublier les codes de statut HTTP : 200 signifie succès, 404 signifie ressource introuvable, 401 signifie non autorisé, 500 signifie erreur serveur ; à l'examen, on te demandera souvent d'interpréter ces codes. Enfin, négliger l'idempotence, propriété qui garantit qu'un appel répété plusieurs fois produit le même résultat : GET et PUT sont idempotents, POST ne l'est pas, car il crée une nouvelle ressource à chaque appel. Retiens aussi la différence entre paramètres d'URL et corps de requête, souvent testée. Une bonne préparation consiste à manipuler une vraie API publique, comme celle d'une météo gratuite, pour observer requêtes et réponses concrètement.
- REST n'est qu'un style d'API parmi d'autres, comme SOAP ou GraphQL.
- Connaître les codes HTTP courants (200, 401, 404, 500) est essentiel.
- L'idempotence distingue GET ou PUT, répétables, de POST, non répétable.
À retenir
- 1Une API REST permet à deux logiciels d'échanger des données via des URL et des méthodes HTTP.
- 2Chaque ressource possède une adresse unique et se manipule avec des verbes comme GET, POST, PUT, DELETE.
- 3Le JSON est le format standard pour structurer les données échangées entre client et serveur.
- 4L'authentification, via clé API ou OAuth, protège les données contre les accès non autorisés.
- 5Les codes de statut HTTP et la notion d'idempotence sont des points fréquemment évalués à l'examen.
Dix questions sur ce sujet démarrent tout de suite, corrigées et expliquées.
L'essentiel en six phrases, à relire la veille.
Cours rédigé par intelligence artificielle et relu au fil des retours. Pour un examen officiel, garde tes cours et les textes en vigueur comme référence.