Menu Fermer

Les API (Application Programming Interface)

API (Application Programming Interface) est un acronyme connu des développeurs ou lorsque l’on s’intéresse au fonctionnement des applications et même des systèmes d’exploitation.

Si vous souhaitez connaître la définition d’une API et les bases, vous pouvez consulter ce guide.
Je vous y explique ce que sont les API et quelles sont leurs utilisations dans les systèmes et applications.

Les API (Application Programming Interface)

Qu’est-ce qu’une API

Une API, ou interface de programmation d’applications, est un ensemble de règles définies qui permettent à différentes applications de communiquer entre elles.
Elle agit comme une couche intermédiaire qui traite les transferts de données entre les systèmes.
Pour cela, elle met à disposition un ensemble de fonction de programme que l’on peut utiliser.

Les API regroupent des données et des processus complets sur des systèmes complètement disparates, ce qui leur permet d’interagir les uns avec les autres.
Lorsque les développeurs créent du code, ils ne commencent pas souvent sans préparation. L’efficacité des développeurs dépend de la manière dont les API rendent les procédures complexes régulièrement répétées profondément réutilisables avec une infime quantité de code. La vitesse à laquelle les API permettent aux développeurs d’élaborer des applications est essentielle au rythme actuel d’amélioration de l’utilisation.

Elles sont responsables d’à peu près tout ce que nous faisons et, en quelques clics, vous permettent de demander une pizza, de réserver un hébergement, d’évaluer un morceau de musique ou de télécharger un logiciel. Les API fonctionnent discrètement, à l’abri des regards, et rendent concevable l’intelligence à laquelle nous nous attendons et dont nous dépendons.

C’est une méthode important pour la mise en place d’échange de données entre service ou application.
Elle facilitent le développement de logiciels et l’innovation en permettant aux programmes de communiquer des données et des fonctions rapidement et en toute sécurité. Les API accélèrent l’innovation car davantage de développeurs peuvent créer des produits basés sur des données et des fonctionnalités existantes.

Qu'est-ce qu'une API

Comment fonctionnent les API

Les API, ou interfaces de programmation d’applications, sont essentiellement des messagers qui permettent à différentes applications logicielles de communiquer entre elles. Elles agissent comme des intermédiaires, traduisant les demandes d’une application en instructions que l’autre application peut comprendre et exécuter.

Par exemple, Imagions que Google Map souhaiter d’afficher les voitures Uber aux alentours avec leurs prix.
Les données des voitures Uber se sont pas accessible par Google puisqu’elles sont détenues par Uber.
Mais Uber peut mettre à disposition des API publics pour y accéder.

Ainsi, on peut avoir le fonctionnement suivant :

  • L’utilisateur lance la demande : L’utilisateur affiche la carte aux alentours et souhaite connaître si des voitures Uber sont disponibles. Cette action déclenche l’envoi par l’application d’une demande à l’API du restaurant.
  • L’API reçoit la demande : L’API Uber reçoit la demande de commande de l’application. La demande indique la position géographique de l’utilisateur
  • L’API traite la demande : L’API Uber traite la demande et récupère les données internes des positions des voitures disponibles
  • L’API envoie une réponse : L’API Uber envoie une réponse à Google Map contenant les données des positions des voitures (type de voitures, prix, positions, …)
  • L’application met à jour l’utilisateur : Google Map reçoit la réponse de l’API et met à jour l’affichage sur Google Map avec les informations des voitures Uber
Comment fonctionnent les API

On peut ainsi répéter cet exemple pour d’autres cas pratiques :

Vous voulez réserver un hôtel ? Lancez votre application de voyage préférée et vous verrez de nombreuses chambres accessibles correspondant à vos critères de recherche précis.

Une application Windows souhaite lister les processus en cours d’exécution ? Il suffit d’effectuer un appel système sur une API prévue à cet effet. Le développeur n’a alors pas besoin de recoder cette partie puisqu’elle est déjà prévue.

Quels sont les types d’API

Voici quatre types d’API :

  • Les API ouvertes ou publics sont des interfaces de programmation d’applications à source ouverte auxquelles vous pouvez accéder à l’aide du protocole HTTP et REST. Également connues sous le nom d’API publiques, elles ont des points de terminaison API définis et des formats de demande et de réponse
  • Les API partenaires connectent les partenaires commerciaux stratégiques. En général, les développeurs accèdent à ces API en mode libre-service par l’intermédiaire d’un portail de développement d’API publiques. Toutefois, ils doivent suivre un processus d’intégration et obtenir des identifiants de connexion pour accéder aux API partenaires
  • Les API internes restent cachées aux utilisateurs externes. Ces API privées ne sont pas accessibles aux utilisateurs extérieurs à l’entreprise et sont plutôt destinées à améliorer la productivité et la communication entre les différentes équipes de développement internes
  • Les API composites combinent plusieurs API de données ou de services. Elles permettent aux programmeurs d’accéder à plusieurs points d’extrémité en un seul appel. Les API composites sont utiles dans les architectures microservices où l’exécution d’une tâche unique peut nécessiter des informations provenant de plusieurs sources

Des exemples d’API

La plupart des applications proposent des API.

Windows possède de nombreux API qui permettent aux développeurs d’effectuer des actions très simplement.
On trouve notamment des API Win32 répartis dans des Interface utilisateur, Environnement Windows (Shell), Accès aux données et stockage, Diagnostics, Graphisme et multimédia.
Par exemple, pour lister les processus en cours d’exécution, on peut utiliser la fonction EnumProcessModulesEx.
Il existe aussi des l’API Windows Runtime (WinRT) qui fournit un ensemble de bibliothèques et d’outils de développement conçus pour créer des applications modernes et sécurisées pour les appareils Windows.
Enfin les API .NET.
Plus de détails : Index d’API pour les applications Windows de bureau

Les navigateurs internet proposent aussi des API côté client et côté serveur.
Par exemple, des API graphiques 3D (WebGL) que l’on peut utiliser pour créer des jeux ou des applications complexes.
Des API WebRTC pour la communication en temps réel, pour les messageries instantanées, chat, etc.
L’API DOM pour modifier le contenu d’une page WEB.
Plus d’exemple sur la page MDN : Que peuvent faire les API ?

Les applications WEB fournissent aussi des API.
Par exemple, X propose une API pour lister les derniers tweets.
Youtube fournit des API pour intégrer des vidéos YouTube sur votre site, de faire des recherches sur YouTube, de construire des listes de lecture, etc.