Comprendre ce qu'est une API en 109 secondes

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.

source : Wikipedia

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 » :

https://s3.fr-par.scw.cloud/

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 :

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>qu-est-ce-qu-une-api</Name>
<Prefix/>
<Delimiter/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Marker/>
<Contents>
<ETag>"637c920c91a22382b43473715a19bdf7"</ETag>
<Key>gorfou-2023.webp</Key>
<LastModified>2023-06-10T17:12:33.000Z</LastModified>
<Size>10204</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID/>
<DisplayName/>
</Owner>
</Contents>
</ListBucketResult>

Si vous ne voyez pas exactement ça, appuyez sur Ctrl-U

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.

💡
Des questions sur les API ? Vous pouvez me contacter, ou bien abonnez-vous pour recevoir les prochains articles.

Voir aussi :

Comprendre le Cloud public en 211 secondes
Vous entendez parler de Cloud, mais ça reste un peu nuageux pour vous. Vous n’êtes pas seul(e) ! 💡Première confusion possible, ici on parle de Cloud public, qu’il ne faut pas confondre avec certains logiciels de partage de fichiers qu’on peut aussi appeler cloud, comme NextCloud ou Dropbox. J…