Tout, tout, tout, vous saurez tout sur les APIs
Les APIs. Un acronyme que l'on aime à jeter négligemment dans la conversation : "... et bien sûr, ils proposent une API..." Mais lorsqu'arrive le moment des explications, peu sont ceux qui s'en sortent avec pédagogie, justesse technique et brio.
API, une définition
Commençons par le commencement. Demandons à Wikipedia :
« En informatique, une interface de programmation applicative (souvent désignée par le terme API pour Application Programming Interface) est un ensemble normalisé de classes, de méthodes ou de fonctions qui sert de façade par laquelle un logiciel offre des services à d’autres logiciels. »
Avouons-le, si un lecteur sans bagage technique lit cela, force est de constater qu’il ne doit pas y comprendre grand chose.
De quoi l'API est le nom ?
Une API, c’est une Application Programming Interface. Expliquons chacun de ces termes et leurs relations.
- Application : une application, c’est un service accessible par un humain ou un programme informatique via internet. Quelques exemples d’applications : un portail open data, un réseau social où l’on gazouille, votre brosse à dent connectée.
- Programming : un programme est un ensemble de fonctions informatiques écrites par un développeur (ou une intelligence artificielle, mais c’est un autre sujet) qui exécute des tâches à sa place. Par exemple, si je dois transformer des adresses postales en coordonnées géographiques, je peux le faire à la main. Où je peux écrire un programme pour le faire à ma place.
- Interface : Une interface est la porte d’entrée à travers laquelle le programme pourra interagir avec l’application. L’utiliser requiert souvent un comportement codifié et attendu. Pensez Gandalf devant la porte de la Moria.
C’est à travers cette interface, qu’un programme pourra interagir avec une application.
En français, une API se traduit par Interface de Programmation Applicative (IPA donc, mais rien à voir avec la bière artisanale).
Et ça fait quoi une API ?
Ah la bonne question ! Et la réponse est : une foule de choses ! Mais nous y reviendrons après, pour le moment, parlons de comment cela fonctionne.
Une API, c’est une abstraction qui permet d’utiliser un service sous-jacent.
Une quoi ? Une abstraction. Un exemple de tous les jours devrait nous aider.
Portrait de l'API en machine à laver
Prenons un fournisseur d’eau :
- le fournisseur produit et distribue un service : l’eau
- le fournisseur utilise une infrastructure pour assurer la distribution : aqueducs, tuyaux, robinets d’arrivée d’eau…
À ce fournisseur correspond un consommateur :
- le consommateur a besoin du service (l’eau) pour faire fonctionner son lave-linge
- le lave-linge est vendu avec un flexible d’alimentation dont l’embout est standardisé
- le consommateur relie son lave-linge au fournisseur en vissant le flexible au robinet d’arrivée d’eau.
Sans ce robinet, le consommateur aurait dû sortir son fer à souder pour relier « en dur » sa machine au tuyau (et gâcher une bonne partie de son week-end). Ce robinet est une abstraction. Il fait office d’interface entre le tuyau et la machine à laver.
Le robinet (l’API) est une abstraction du service nécessaire. Il permet à une machine à laver (le programme) de consommer de l’eau (une application) dans des conditions pré-définies et standardisées (embout standardisé).
TL;DR
De la même façon qu’un particulier délègue la production et l’acheminement d’eau à une entreprise, « les APIs permettent aux développeurs de déléguer le service qu’ils consomment » (source).
Quelques exemples d'APIs
Je le disais plus tôt, les APIs sont partout et servent à une foule de choses. Des prévisions météorologiques sur votre smartphone à Netflix, tout repose sur des APIs.
Ce qui vous permet, ainsi qu’à vos voisins, de regarder votre application météo le matin, ce sont les APIs. Un fournisseur de données météo fait des prédictions et partage ses données en temps réel à des développeurs en un flux continu. Pour briller en soirée, je vous donne le terme technique : on parle d’exposer les données. Les développeurs peuvent ainsi construire une application autour de ce flux de données.
Vous sortez de soirée et souhaitez prendre un vélo en libre service ? Idem ! L’opérateur relève chaque seconde la disponibilité de tous ses vélos et expose ses données via une API. Ces données temps-réel sont partagées simultanément à toutes les applications construites autour de cette API. Pratique !
Lorsque vous regardez Netflix, le service de vidéos mesure la qualité de votre connexion internet et adapte automatiquement la qualité de ses vidéos en conséquence. Vous vous tenez à côté du boîtier de votre fournisseur ? La définition de l’image est parfaite. Vous marchez jusqu’à la cuisine en tenant votre ordinateur d’une main pour mettre une pizza au four (ne faites pas ça, c’est dangereux)? Netflix vous propose une image moins nette (et donc un flux de données moins important) pour ne pas interrompre le visionnage de votre série.
Gotta catch 'em all
J’espère que cette combinaison de machine à laver, pizza et Netflix vous aura aidé à mieux comprendre le fonctionnement des APIs et leur potentiel.
Vous êtes curieux d’en savoir plus et d’explorer plus en avant les différentes possibilités des APIs ? Bonne idée ! Le site Programmable Web en recense plus de 18 000. Voilà qui devrait vous occuper pendant que votre série Netflix charge depuis la cuisine.
Les interfaces de programmation d’applications (API) sont essentielles à la réussite du partage et de la gestion des données. Elles permettent aux flux de données de circuler de manière transparente entre les applications, ce qui améliore la qualité, renforce la gouvernance et développe les capacités de partage aussi bien en interne qu’en externe. Comment exploiter les API dans votre entreprise ? Notre guide complet fournit tout ce que vous devez savoir sur les API et sur la manière de les déployer pour maximiser la valeur de vos données. Avec des exemples concrets, découvrez ce que sont les API, leur rôle dans le partage et la gestion des données, et bénéficiez de conseils illustrés par des exemples de meilleures pratiques pour vous aider à démarrer et mettre en place vos API.
Nous avons interrogé Coralie Lohéac, Lead Product Manager, et Hugo Bost, Software Engineer, qui font partie de l’équipe ayant supervisé le développement du projet. Ils nous dévoilent les aspects techniques de cette API et les bénéfices qu’elle offre déjà, aux administrateurs de portails data et au reste de l’organisation.
Les APIs sont partout, et elles sont extrêmement puissantes. Elles permettent aux données et aux produits de travailler ensemble de manière transparente. Mais... à quoi les APIs ressemblent-elles vraiment en pratique ?