Comprendre ce qu'est une API en 109 secondes
En résumé : c'est une interface où l'utilisateur est un autre logiciel.
Voyons d'abord le cas de l'interface utilisateur classique.
Interface utilisateur classique
Ce sont tous les éléments graphiques visibles actionnables avec le doigt ou la souris : des fenêtres, du texte, des boutons, des liens, etc. Par exemple une page web ou un terminal d'achat de billet de train est aussi une interface utilisateur classique.
Parfois c'est aussi un logiciel qui peut simuler les clics sur l'interface. Cette technique est utilisée par exemple pour :
- Des tests automatiques, pour vérifier que le logiciel fonctionne bien, sans avoir à déranger un humain pour enchaîner les clics. Je me souviens avec émotion des « cahiers de test » ou « cahier de recette » des années 2000, où il était écrit noir sur blanc : « cliquez sur tel bouton, tapez tel texte dans le formulaire, indiquez quel résultat est obtenu ». Tout ça sur papier. Et avec une signature manuscrite à la fin. J'ai connu ça chez General Electric.
- De la « robotisation de processus », terme pompeux pour désigner un logiciel qui simule des clics sur l'interface utilisateur. On appelle ça de la RPA ou Robotic Process automation.
API (Application Programming Interface)
Une API est la même chose qu'une interface utilisateur, mais l'utilisateur en question est quasiment tout le temps un autre logiciel, et l'utilisation se fait au travers du réseau :
D'un côté, un logiciel écoute le réseau et attend une requête.
Exemple
Scaleway est un fournisseur de cloud public. Il existe un point d'accès d'API pour gérer les espaces de stockage de type « objet » :
Cliquez sur ce lien avec votre navigateur, c'est l'API qui vous répond, mais comme vous n'avez pas donné d'informations suffisantes pour utiliser cette API, vous obtenez juste une bannière d'informations. Comme un site web minimaliste.
Maintenant essayons d'accéder à un espace de stockage réel via l'API :
https://s3.fr-par.scw.cloud/qu-est-ce-qu-une-api
Le navigateur vous renvoie la réponse de l'API :
Cette réponse est au format XML et contient les informations demandées. Ce format peut être analysé de manière rigoureuse par du code informatique.
Une API ne s'utilise pas depuis un navigateur, mais avec de petits outils basiques en ligne de commande comme curl, ou wget, ou bien avec du code informatique, par exemple en Python, qui fait la même chose. L'API analyse la requête, vérifie si elle est valide et authentifiée, puis effectue des actions (créer une facture, créer une image avec de l'IA, donner des horaires de train, etc.).
Les usages des API se sont généralisés et touchent tous les domaines. Tous les services Cloud disposent ainsi d'une API, ainsi que la plupart des logiciels. Les API sont par exemple à la base de l'Iaas. Elles permettent d'automatiser la création de toute une infrastructure logicielle, avec un simple langage de description. Vous décrivez votre infrastructure dans un morceau de texte structuré, l'API interprète ce morceau de texte et crée les services que vous avez réclamés.
Voir aussi :