Skip to main content

Qu'est-ce qu'une API distante ?

API signifie Application Programming Interface : une interface qui permet à un programme d'utiliser les fonctionnalités d'un autre, sans connaître son fonctionnement interne.

L'analogie du restaurant : vous (le client) ne rentrez pas en cuisine. Vous passez commande au serveur avec un vocabulaire défini (la carte), et il vous rapporte le plat. Le serveur, c'est l'API.

Une API distante

Une API distante (ou API web) est exposée sur le réseau, en général via HTTP. Le client et le serveur sont deux programmes séparés, souvent sur deux machines différentes, écrits dans des langages différents.

curl https://api.github.com/users/thibaudfrichet
{
  "login": "thibaudfrichet",
  "id": 277130160,,
  "name": "Thibaud Frichet",
  "public_repos": 5,
  ...
}

Un programme Python, une application mobile ou un script bash peuvent tous obtenir ces informations, sans savoir comment GitHub les stocke.

Son rôle : faire communiquer des services ou des applications entre eux.

  • un front (SPA, application mobile) avec son back ;
  • deux services d'une même entreprise ;
  • votre application avec un service tiers (paiement, météo, cartographie…) ;
  • un assistant IA avec vos outils.

Ce qu'on appelle aussi « API »… mais qui n'est pas distant

Exemple API ? Distante ?
La bibliothèque math de Python, lodash en JS Oui, API d'une bibliothèque Non : appel de fonction dans le même programme
document.querySelector() Oui, API DOM du navigateur Non : fournie par le navigateur
Les appels système Linux (open, read) Oui, API du noyau Non
Une base de données MariaDB / MySQL Elle a un protocole, mais on ne parle pas d'API web Elle est sur le réseau, mais ce n'est pas du HTTP
https://api.github.com/users/thibaudfrichet Oui Oui

SSH, MySQL, RDP, etc. : Ce sont des protocoles, comme HTTP. On ne parle pas d'API dans ce cas.

API, webservice, microservice

  • API : le contrat, l'interface (les routes, les formats, les règles).
  • Webservice : un service accessible par le réseau qui expose une API. Le terme est surtout utilisé pour l'époque SOAP.
  • Microservice : une manière de découper une application en petits services indépendants, qui communiquent entre eux… par API.