Tech

Qu’est-ce qu’une interface de programmation (API) ?

Dossier - Comprendre Facebook
DossierClassé sous :informatique , facebook , réseau social

-

Comprendre les médias sociaux et leur fonctionnement social et psychologique comme technique, tel est l’enjeu de ce dossier, qui s'appuie essentiellement sur l'exemple de Facebook.

  
DossiersComprendre Facebook
 

Facebook, comme d'autres grands acteurs du Web particulier, propose des interfaces de programmation, API. Que sont-elles ? À quoi servent-elles ?

La croissance du nombre d’API disponibles et de leur utilisation par Programmable Web. © DR

Les modes d'accès à un site Web

Il existe deux façons de donner accès à des données sur le Web, explique Charles Nepote, responsable du programme Données publiques de la Fing. Tout d'abord un accès direct à un fichier contenant les données. C'est souvent la méthode la plus simple, car les outils de gestion proposent généralement une fonction d'export des données sous forme de fichier. Elle est cependant moins bien adaptée lorsque les données changent souvent et qu'il y en a beaucoup : cela oblige les réutilisateurs à recharger fréquemment l'ensemble du fichier, ce qui peut être consommateur en ressources système et réseau.

C'est pourquoi se développe fréquemment un mode d'accès direct aux données uniquement nécessaires à travers une interface de programmation (API).

L'accès aux services via les API

Pour Karl Dubost, chargé des relations avec les développeurs chez Opera, l'API n'est rien d'autre qu'« un protocole de communication pour accéder à un service. De la même façon qu'avec un logiciel de base de données, on a un vocabulaire pour accéder aux données et faire une requête, l'API permet de construire des interrogations via une interface normalisée ». Les fonctionnalités proposées par les API évoluent selon les services et au cours du temps. Par exemple, Facebook propose plusieurs API : celle pour s'authentifier, celle pour explorer et exploiter le graphe social des utilisateurs, etc.

Une API va permettre à un programme de demander à l'application qui fournit les données, uniquement celles dont elle a besoin ou auxquelles il souhaite ou peut accéder. Les grands acteurs du numérique en général et du Web particulier, comme Google, Amazon, Facebook, Twitter... ont établi leur succès grâce à leurs API. Une API est donc un protocole d'accès à un système d'information pour un autre système d'information, afin qu'ils échangent des données entre eux. Ce à quoi ils ont accès et les conditions de cet accès sont clairement décrits et documentés par l'interface, selon les jeux de données qui peuvent s'échanger. Via des API, on peut construire un système de réservation de billets de trains ou d'avion (en utilisant les API proposées par les transporteurs), utiliser des banques d'images (comme celles des agences de presse) ou utiliser des services spécifiques (faire correspondre cette banque d'image à un service de reconnaissance d'image lui-même accessible via une API).

Les API sont des interfaces d'accès aux données numériques, comme l'explique Christian Fauré. C'est une porte d'entrée qui permet de contrôler l'exposition et l'utilisation des données numériques produites par un service. C'est un service logistique qui s'adresse aux autres services et aux développeurs pour faciliter l'échange d'informations. Chaque API à ses particularités : ses clés d'accès, le nombre de requêtes maximales par clés d'accès, les données accessibles (et celles qui ne le sont pas), les fonctions de manipulation des données (celles qui sont proposées en lecture seule comme celles qui pourront être écrites par un service tiers permettant par exemple à un service d'écrire à votre place sur votre mur Facebook quand vous l'utilisez et si vous l'avez autorisé). Elles permettent donc à des services de communiquer entre eux, de croiser leurs données, d'utiliser les données des uns et des autres, de manière plus ou moins transparente pour l'utilisateur.