Interface de Programmation d’Application (API)

Qu’est-ce qu’une API ?

Une API, abréviation de Application Programming Interface (interface de programmation d’applications), sert de médiateur normalisé dans le domaine des logiciels. Elle facilite la communication entre les différents composants logiciels, y compris les applications, les bibliothèques et les systèmes d’exploitation, en établissant des protocoles et des lignes directrices pour un partage transparent des données.

Un diagramme illustrant le flux de travail d'une API, avec la séquence suivante : "une application web dans un navigateur envoie une demande via "internet" à une "API" qui communique avec un "serveur web" puis avec une "base de données". La base de données renvoie une réponse par l'intermédiaire du serveur web et de l'API, qui retourne finalement à l'application web dans le navigateur
Représentation schématique du processus de communication de l’API

Composants d’une API :

  • Les spécifications constituent le cadre réglementaire qui dicte le fonctionnement d’une API. Elles englobent des aspects tels que les formats de données, les protocoles de communication et les mécanismes d’authentification.
  • Les implémentations font référence au code tangible responsable de l’exécution des processus de communication au sein d’une API. Ce code fonctionne comme un moteur opérationnel, exécutant des fonctions, des méthodes et des procédures pour permettre une interaction transparente.

Le Rôle des API dans le Développement Logiciel

Les API jouent un rôle crucial dans la simplification des processus de développement d’applications en permettant aux développeurs d’accéder aux fonctionnalités et aux services existants. En tirant parti des API, les développeurs peuvent se concentrer sur l’élaboration de la logique de leur application sans avoir à recréer les composants fondamentaux, ce qui rationalise le flux de travail de développement.

Types d’API

Les API peuvent être classées en deux catégories principales :

Graphique éducatif montrant deux types d'API : Les API locales, qui sont essentielles pour les opérations internes du système, et les API distantes, qui permettent la communication externe
Infographie d’un aperçu comparatif des API locales et distantes

API locales

Les API locales sont intégrées dans un système et comprennent :

  • Les bibliothèques logicielles : Collections de fonctions et de modules préconstruits conçus pour répondre aux défis de programmation courants, accompagnés de leurs propres API pour faciliter l’intégration.
  • Cadres : Des ensembles d’outils complets équipés de bibliothèques, d’outils et de conventions conçus pour développer des types d’applications spécifiques, complétés par leurs API respectives.
  • Systèmes d’exploitation : Les systèmes d’exploitation comportent des API permettant aux applications d’accéder au matériel et aux ressources du système, facilitant ainsi des tâches telles que les opérations sur les fichiers, la mise en réseau et la gestion des processus.

API distantes

Les API distantes étendent les fonctionnalités des applications en permettant l’interaction avec des services ou des ressources externes hébergés sur des serveurs distants. Ces API utilisent des protocoles de réseau tels que TCP/IP ou HTTP pour établir la communication.

  • API Web : Un sous-ensemble d’API distantes, les API web, également connues sous le nom d’API RESTful, exploitent les capacités d’Internet et du protocole de transfert hypertexte (HTTP) pour faciliter la communication entre les applications.

Références

  1. Reddy, Martin (2011). API Design for C++. Elsevier Science. p. 1. ISBN 9780123850041
  2. Wood, Laura (2021-08-25). “Global Cloud Microservices Market (2021 to 2026)” businesswire.com. Consulté le 2022-03-29
  3. Clarke, Steven (2004). “Measuring API Usability”. Dr. Dobb’s
  4. Wikipedia API API: Main page – MediaWiki
  5. Set of guidelines from Microsoft for designing high-quality APIs

Additional Resources