API (interface de programmation) : définition, technos, exemples...
Quelle la définition d'une API, ou application programming interface ? Quel est son rôle en informatique ? Sur quelles technologies peut-elle s'adosser ? Tour d'horizon.
Qu'est-ce qu'une API en informatique ?
En informatique, API est l'acronyme d'Application Programming Interface, que l'on traduit en français par interface de programmation applicative ou interface de programmation d'application. L'API est une solution informatique qui permet à des applications de communiquer entre elles et de s'échanger mutuellement des services ou des données.
Les interfaces de programmation d'application proposent en général un ensemble de fonctions qui facilitent, via un langage de programmation permettant de lancer des requêtes, l'accès aux services d'une application.
Comment ça marche une API ?
Une API permet d'accéder aux fonctions ou aux données d'une application à distance, généralement depuis une autre application, en passant par un une interface applicative standard. Une requête est envoyée à au logiciel cible dans un langage universel.
Le langage des API, sorte d'esperanto universel, permet au logiciel sollicité de comprendre ce qui est demandé, puis de réaliser les actions et de délivrer les contenus demandés (voir schéma ci-dessous).
Quels sont les types d'API ?
Il existe plusieurs grande catégories d'interface de programmation d'application :
- L'API ouverte (ou Open API) disponible publiquement sans restriction,
- L'API partenaire accessible via une licence ou des droits d'accès spécifiques,
- L'API interne ou privée (Private API) conçue par une entreprise pour ses besoins.
Pourquoi faire une API ?
Une API permet d'exposer sur le web ou sur un réseau local d'entreprise un catalogue de fonctionnalités issues d'une application, ou encore des contenus en provenance d'une base de données ou d'un système de fichiers. Objectif : permettre à des systèmes tiers d'accéder à ces fonctionnalités et ces contenus. In fine, une interface de programmation d'application a donc pour but de faire dialoguer plusieurs logiciels.
Depuis quelques années, l'API est devenue la technologie de référence pour intégrer entre elles plusieurs applications d'entreprise. Les acteurs du web et des logiciels y ont par ailleurs de plus plus recours pour donner accès à leurs offres de manière programmatique, et plus seulement sous la forme d'interfaces graphiques traditionnelles.
Exemples d'API
L'API permet aux développeurs d'utiliser un programme sans avoir à se soucier de son fonctionnement. Les API peuvent par exemple être utilisées pour déclencher des campagnes publicitaires en ligne en évitant de passer par la compréhension du processus technique sous-jacent. C'est le cas avec l'API AdWords de Google notamment.
On retrouve les API dans de nombreux logiciels, en particulier dans les systèmes d'exploitation (Windows, Linux, Mac OS), les serveurs d'applications (Apache), dans les outils graphiques (OpenGL), dans les applications SaaS (Office 365, G Suite, Salesforce...), dans les bases de données, l'open data, etc. Sur le Web, elles sont typiquement utilisées pour intégrer à un site des services tiers (par exemple Google Maps et Facebook). Autre exemple : les plateformes de réservation de billets d'avion y ont recours pour interroger l'offre disponible au sein des systèmes des différentes compagnies aériennes.
Quelles sont les technologies d'API ?
Il existe deux grands protocoles de communication sur lesquels s'adossent les API : Simple Object Access Protocol (SOAP) et Representational State Transfer (REST). Le second s'est désormais largement imposé face au premier car il est plus flexible. Il a donné naissance aux API dites REST ou RESTful (lire l'article SOAP vs REST : les principales différences ?).
Traduction du terme API (Application Programming Interface)
- Interface de programmation applicative ou interface de programmation d'application
- L'interface de programmation applicative (ou API) peut être utilisée dans les campagnes d'e-mailing.
- L'acronyme API peut recouvrir d'autres significations, par exemple allocation parent isolé.