Une API (application programming interface) à savoir une interface de programmation d’application, autorise deux applications à communiquer entre elles. Le but est de rendre disponibles les données ou les fonctionnalités d’une application existante pour que d’autres logiciels ou matériels les utilisent. Pour les développeurs, il s’agit d’un gain de temps très important, d’où la popularité des API. Elles sont présentes dans les systèmes d’exploitation, les bases de données, les serveurs d’applications sur le cloud et on premisse (en local) ou encore, dans les outils et langages de programmation.

Une API intègre automatiquement les classes, méthodes, fonctions, types de données et constantes, attendues par un développeur pour réaliser un projet.

L’accès à une API s’effectue par authentification, avec ou sans habilitation, comme pour la plateforme gouvernementale de données publiques data.gouv.fr.

Quels sont les avantages d’une API pour les développeurs ?

Le rôle des API est d’accéder aux fonctions d’un programme sans avoir besoin de connaître les détails pour les utiliser. Un bénéfice majeur qui évite un développement depuis A jusqu’à Z. Le plus souvent, une interface de programmation est mise en œuvre par une bibliothèque logicielle.

Pour l’IoT (Internet des objets), les principaux fournisseurs de services tels Amazon, Microsoft, IBM et autres fournissent des API web via http ou MQTT pour accéder à leurs services.

En développement web, un programmeur utilise des API’s pour faire communiquer une application avec les fonctions d’un navigateur, d’un logiciel, périphérique d’un ordinateur, d’un site web et autres services.

Quels sont les différents types d’API ?

De manière globale, il existe des API internes, pour l’usage exclusif des développeurs, par exemple dans un projet DevOps, la création de microservices ou la mise à jour d’un système d’information hérité (Legacy). Les API externes sont publiques et destinées à tous les développeurs qui utilisent, par exemple, des fonctions de géolocalisation par des plateformes telles Airbn’b ou Deliveroo. Les API partenaires sont un mélange des deux précédentes pour travailler sur des projets communs.

Sur un plan technique, il existe deux modèles d'architecture, Remote Procedure Call (RPC)  que l’on retrouve dans les anciennes technologies comme SOAP, GraphQL développée par Facebook, et l’API REST (Representational State Transfert), aujourd’hui la plus utilisée.

Quels sont les usages concrets d’une API ?

  • Une des API’s les plus connues est sans doute celle de Google Maps pour suivre la position géographique de l'utilisateur sur une carte personnalisée et lui indiquer de nombreux services commerciaux.
  • Autre exemple, un site e-commerce vend les produits d’un fabricant, outils bricolage, vêtements, chaussures, etc. Le vendeur peut, grâce à une API, consulter le stock en temps réel et connaitre les prix  pour les afficher ensuite sur son site web.
  • La prise de rendez-vous intégrée à un site web, peut via une API, être synchronisée avec la date et heure sélectionnés sur le site à destination d’un compte de messagerie, un agenda ou encore le CRM de l’entreprise.
  • Twitter propose une API qui récupère, par exemple, le profil d’un compte utilisateur affichant ses derniers tweets sur une page web personnelle.

Les 3 meilleurs articles sur les API

Garantir la sécurité des données et contrôler la prolifération des API sont les principales préoccupations des professionnels interrogés. Mais plus des deux tiers s'inquiètent de la complexité due à la prolifération… (suite)
Le rapport de Salt Security sur la sécurité des API révèle une augmentation des attaques de 681% au cours des 12 derniers mois. Malgré une collaboration qui s’améliore entre les DevOps et les équipes de sécurité, trop d’entreprises n’ont pas mis en place une stratégie adaptée… (suite)
La dernière étude « API : la surface d'attaque qui nous connecte tous » d'Akamai révèle les tendances du trafic d'attaque pour la période 2020-2021. Les vulnérabilités liées aux API sont un immense enjeu pour les entreprises et les particuliers… (suite)