coldwa.st
Tous les guidesProgrammationWebDonnéesOutilsBases de donnéesHaskellConceptsCabal & buildsChaîne d’outilsCompilateurPerformanceÉditeur & HLS

Programmation · concepts · web

Qu’est-ce qu’une API ?

Par ColdwastMis à jour le 14 juin 20267 min de lecture#api#web#concepts
Des baies de serveurs dans un centre de données
Des baies de serveurs dans un centre de données — beaucoup d’API tournent sur des serveurs comme ceux-ci, répondant aux requêtes d’autres logiciels.

Vous l’entendez sans cesse : « appeler l’API », « l’API publique », « une clé d’API ». Une API (Application Programming Interface) est l’une des idées les plus utiles du logiciel — et l’une des plus sur-jargonnées. Ce guide explique, simplement, ce qu’est une API, les principaux types que vous rencontrerez, comment fonctionne une requête d’API web typique, et pourquoi les API sont partout.

La définition courte

Une API est un contrat qui permet à un logiciel de communiquer avec un autre. Elle définit quelles requêtes vous pouvez faire, quelles données vous devez envoyer, et ce que vous récupérez en retour — sans que vous ayez besoin de savoir comment l’autre côté est construit en interne.

L’analogie classique est le restaurant. Vous (un programme) lisez un menu (l’API) et passez commande auprès du serveur. Vous n’entrez pas dans la cuisine et n’avez pas besoin de savoir comment le plat est préparé. Le menu est l’interface convenue ; la cuisine est l’implémentation, cachée derrière. Une API, c’est ce menu pour les logiciels.

Les principaux types d’API

  • API web (les plus discutées) — un programme parle à un autre par le réseau, généralement via HTTP. Quand une app météo affiche les prévisions, elle appelle l’API web d’un service météo. La plupart des API web modernes suivent le style REST et échangent des données en JSON.
  • API de bibliothèque / framework — l’ensemble des fonctions et types qu’une bibliothèque de code expose pour que vous les appeliez. Quand vous utilisez une bibliothèque de dates, les fonctions qu’elle vous offre sont son API.
  • API du système d’exploitation — la façon dont un programme demande à l’OS d’ouvrir un fichier, de dessiner une fenêtre ou d’utiliser le réseau. POSIX en est une.

Le fil conducteur : une API est la surface publiée de quelque chose, la partie que vous avez le droit d’utiliser, séparée des rouages internes dont vous n’êtes pas censé dépendre.

Une personne tenant un smartphone à deux mains
Un smartphone en usage — les applis qu’il contient appellent en permanence des API web en arrière-plan pour récupérer messages, cartes, prix et plus encore.

Comment fonctionne une requête d’API web

Un appel d’API web est une requête et une réponse. Le client envoie une requête HTTP à une URL (un endpoint) en utilisant une méthode qui signale son intention, et le serveur renvoie un code de statut et généralement des données. Les méthodes courantes :

  • GET — lire des données (« donne-moi l’utilisateur 42 »).
  • POST — créer quelque chose de nouveau.
  • PUT / PATCH — mettre à jour quelque chose.
  • DELETE — supprimer quelque chose.

Une simple requête pour lire un utilisateur pourrait ressembler à ceci, le serveur répondant en JSON :

GET /users/42  HTTP/1.1
Host: api.example.com

-- response --
200 OK
{ "id": 42, "name": "Ada", "active": true }

Le 200 est un code de statut qui signifie succès ; 404 signifie non trouvé, 401 non authentifié, 500 une erreur serveur. Le corps est du JSON — le format léger et lisible par l’humain que la plupart des API web utilisent pour échanger des données structurées.

Authentification et clés

Beaucoup d’API exigent que vous vous identifiiez avec une clé d’API ou un jeton, envoyé dans un en-tête de requête. Cela permet au fournisseur de contrôler qui utilise le service, d’appliquer des limites de débit et de facturer l’usage. Gardez les clés secrètes — une clé divulguée, c’est comme un mot de passe divulgué.

Pourquoi les API comptent

Les API sont ce qui permet de composer le logiciel plutôt que de le reconstruire. Une boutique peut encaisser des paiements sans écrire une banque ; une app peut afficher une carte sans dessiner le monde ; les services d’une même entreprise se parlent via des API internes. Elles transforment les capacités des autres en briques que vous appelez en quelques lignes — ce qui est l’essentiel de la façon dont le logiciel moderne se construit.

Les limites honnêtes

Une API est une dépendance. Si le fournisseur la modifie, vous limite en débit, augmente ses prix ou ferme, votre logiciel est affecté — c’est pourquoi les bonnes API sont versionnées et documentées, et pourquoi vous gérez erreurs et délais d’attente plutôt que de supposer que chaque appel réussit. Une API cache la complexité ; elle ne la supprime pas.

En résumé

Une API est un contrat qui permet à un programme d’utiliser les capacités d’un autre via un ensemble défini de requêtes et de réponses, sans toucher à ses rouages internes. Les API web/REST sur HTTP avec JSON sont le type que vous rencontrerez le plus, mais l’idée — une interface publiée, séparée de l’implémentation qui la sous-tend — traverse les bibliothèques, les systèmes d’exploitation et tout programme bien structuré. Apprenez à lire la documentation d’une API et vous pourrez brancher presque n’importe quoi sur n’importe quoi.

Nouveau à un langage pour construire ou appeler des API ? Parcourez notre index des guides pour des explications de programmation claires et originales.

Guide indépendant, maintenu par la communauté. coldwa.st est un site de ressources de programmation ; cet article est un écrit explicatif neuf et original sur les API. Les exemples reflètent le comportement standard HTTP/REST — vérifiez auprès de la documentation de l’API spécifique que vous utilisez.