Qu'est-ce qu'une API ?
Les API simplifient le développement de logiciels et l'innovation en permettant aux applications d'échanger des données et des fonctionnalités facilement et en toute sécurité
Une personne travaillant sur ordinateur au bureau
Qu'est-ce qu'une API ?

Une interface de programme d'application, ou API, permet aux entreprises d'ouvrir les données et les fonctionnalités de leurs applications à des développeurs tiers externes, des partenaires commerciaux et des services internes au sein de leurs entreprises. Cela permet aux services et produits de communiquer entre eux et d'exploiter les données et les fonctionnalités de chacun via une  interface documentée. Les développeurs n'ont pas besoin de savoir comment une API est implémentée ; ils utilisent simplement l'interface pour communiquer avec d'autres produits et services. L'utilisation des API a augmenté au cours de la dernière décennie, à tel point que bon nombre des applications Web les plus populaires d'aujourd'hui ne seraient pas possibles sans elles.

Comment fonctionne une API

Une API est un ensemble de règles définies qui expliquent comment les ordinateurs ou les applications communiquent entre eux. Les API se situent entre une application et le serveur Web, agissant comme une couche intermédiaire qui traite le transfert de données entre les systèmes.

Voici comment fonctionne une API :

  1. Une application client lance un appel d'API pour récupérer des informations, également appelé une requête. Cette requête est traitée d'une application au serveur Web via l'URI de l'API. Elle comprend un verbe de requête, des en-têtes et parfois un corps de requête.
  2. Après avoir reçu une requête valide, l'API effectue un appel au programme externe ou au serveur Web.
  3. Le serveur envoie une réponse à l'API avec les informations demandées.
  4. L'API transfère les données à l'application qui est à l'origine de la demande.

Bien que le transfert de données diffère en fonction du service Web utilisé, ce processus de requête et de réponse se fait via une API. Alors qu'une interface utilisateur est conçue pour être utilisée par des humains, les API sont conçues pour être utilisées par un ordinateur ou une application.

Les API offrent une sécurité dès la conception, car leur position en tant qu'intermédiaire facilite l'abstraction des fonctionnalités entre deux systèmes : le point de terminaison de l'API dissocie l'application consommatrice de l'infrastructure fournissant le service. Les appels d'API incluent généralement des données d'autorisation pour réduire le risque d'attaques sur le serveur, et une passerelle API peut limiter l'accès pour minimiser les menaces de sécurité. De plus, pendant l'échange, les en-têtes HTTP, les cookies ou les paramètres de chaîne de requête fournissent des couches de sécurité supplémentaires aux données.

Par exemple, considérons une API proposée par un service de traitement des paiements. Les clients peuvent saisir les détails de leur carte sur le front-end d'une application de magasin de commerce électronique. Le processeur de paiement n'a pas besoin d'accéder au compte bancaire de l'utilisateur ; l'API crée une composante unique pour cette transaction et l'inclut dans l'appel d'API au serveur. Cela garantit un niveau de sécurité plus élevé contre les menaces de piratage potentielles.

Pourquoi nous avons besoin des API

Que vous gériez des outils existants ou que vous en conceviez de nouveaux, vous pouvez utiliser une interface de programme d'application pour simplifier le processus. Voici quelques-uns des principaux avantages :

  • Collaboration améliorée : Une entreprise moyenne utilise près de 1200 applications cloud (lien externe à IBM), dont beaucoup sont déconnectées. Les API permettent l'intégration afin que ces plateformes et applications puissent communiquer de manière transparente les unes avec les autres. Grâce à cette intégration, les entreprises peuvent automatiser les flux de travail et améliorer la collaboration sur l'espace de travail. Sans API, de nombreuses entreprises manqueraient de connectivité et souffriraient de silos d'informations qui compromettent la productivité et les performances.
  • Innovation plus facile : Les API offrent de la flexibilité et permettent aux entreprises d'établir des liens avec de nouveaux partenaires commerciaux, d'offrir de nouveaux services à leur marché existant et enfin d'accéder à de nouveaux marchés qui peuvent générer des rendements massifs et stimuler la transformation numérique. Par exemple, la société Stripe a commencé comme une API, avec seulement sept lignes de code. La société s'est depuis associée à bon nombre des plus grandes entreprises au monde, s'est diversifiée pour proposer des prêts et des cartes d'entreprise, et a récemment été évaluée à 36 milliards de dollars (lien externe à IBM).
  • Monétisation des données : De nombreuses entreprises choisissent de proposer des API gratuitement, au moins dans un premier temps, afin de pouvoir créer un public de développeurs autour de leur marque et nouer des relations avec des partenaires commerciaux potentiels. Cependant, si l'API donne accès à des actifs numériques de valeur, vous pouvez le monétiser en vendant l'accès (c'est ce qu'on appelle l'API Economy). Quand AccuWeather (lien externe à IBM) a lancé son portail de développement en libre-service pour vendre une large gamme de packages d'API, il n'a fallu que 10 mois pour attirer 24 000 développeurs, vendre 11 000 clés d'API et créer une communauté florissante.
  • Sécurité supplémentaire : Comme indiqué ci-dessus, les API créent une couche de protection supplémentaire entre vos données et un serveur. Les développeurs peuvent renforcer davantage la sécurité de l'API en utilisant des composantes, des signatures et le chiffrement TLS, en mettant en œuvre des passerelles d'API pour gérer et authentifier le trafic et en pratiquant une gestion efficace des API
Exemples d'API courants

En permettant aux entreprises d'ouvrir l'accès à leurs ressources tout en maintenant la sécurité et le contrôle, les API sont devenues un élément précieux des entreprises modernes. Voici quelques exemples courants  d'API que vous pouvez rencontrer :

  • Connexions universelles : Un exemple d'API courant est la fonction qui permet aux personnes de se connecter à des sites Web en utilisant leurs identifiants de connexion Facebook, Twitter ou Google.  Cette fonctionnalité pratique permet à n'importe quel site Web de tirer parti d'une API de l'un des services les plus courants pour authentifier rapidement l'utilisateur, ce qui lui permet d'économiser le temps et les tracas liés à la configuration d'un nouveau profil pour chaque service de site Web ou nouvelle adhésion.
  • Traitement des paiements par des tiers : Par exemple, la fonction désormais omniprésente « Payer avec PayPal » que vous voyez sur les sites Web de commerce électronique fonctionne via une API. Cela permet aux gens de payer des produits en ligne sans exposer de données sensibles ni accorder l'accès à des personnes non autorisées.
  • Comparaisons des réservations de voyages : Les sites de réservation de voyages regroupent des milliers de vols, présentant les options les moins chères pour chaque date et destination. Ce service est rendu possible grâce à des API qui permettent aux utilisateurs de l'application d'accéder aux dernières informations sur la disponibilité des hôtels et des compagnies aériennes. Grâce à un échange autonome de données et de requêtes, les API réduisent considérablement le temps et les efforts nécessaires à la vérification des vols ou des hébergements disponibles.
  • Google Maps : L'un des exemples les plus courants  d'une bonne API est le service Google Maps.  En plus des API principales qui affichent des cartes statiques ou interactives, l'application utilise d'autres API et fonctionnalités pour fournir aux utilisateurs des directions ou des points d'intérêt. Grâce à la géolocalisation et aux différentes couches de données, vous pouvez communiquer avec l'API Maps pour tracer des itinéraires ou suivre des objets en mouvement, comme un véhicule de livraison.
  • Twitter : Chaque tweet contient des attributs de base descriptifs, notamment un auteur, un identifiant unique, un message, la date et heure de sa publication et des métadonnées de géolocalisation. Twitter met les tweets et les réponses publics à la disposition des développeurs et permet aux développeurs de publier des tweets via l'API de l'entreprise.
Exemples d'API courants

En permettant aux entreprises d'ouvrir l'accès à leurs ressources tout en maintenant la sécurité et le contrôle, les API sont devenues un élément précieux des entreprises modernes. Voici quelques exemples courants  d'API que vous pouvez rencontrer :

  • Connexions universelles : Un exemple d'API courant est la fonction qui permet aux personnes de se connecter à des sites Web en utilisant leurs identifiants de connexion Facebook, Twitter ou  Google.  Cette fonctionnalité pratique permet à n'importe quel site Web de tirer parti d'une API de l'un des services les plus courants pour authentifier rapidement l'utilisateur, ce qui lui permet d'économiser le temps et les tracas liés à la configuration d'un nouveau profil pour chaque service de site Web ou nouvelle adhésion.
  • Traitement des paiements par des tiers : Par exemple, la fonction désormais omniprésente « Payer avec PayPal » que vous voyez sur les sites Web de commerce électronique fonctionne via une API. Cela permet aux gens de payer des produits en ligne sans exposer de données sensibles ni accorder l'accès à des personnes non autorisées.
  • Comparaisons des réservations de voyages : Les sites de réservation de voyages regroupent des milliers de vols, présentant les options les moins chères pour chaque date et destination. Ce service est rendu possible grâce à des API qui permettent aux utilisateurs de l'application d'accéder aux dernières informations sur la disponibilité des hôtels et des compagnies aériennes. Grâce à un échange autonome de données et de requêtes, les API réduisent considérablement le temps et les efforts nécessaires à la vérification des vols ou des hébergements disponibles.
  • Google Maps : L'un des exemples les plus courants d'une bonne API est le service Google Maps.  En plus des API principales qui affichent des cartes statiques ou interactives, l'application utilise d'autres API et fonctionnalités pour fournir aux utilisateurs des directions ou des points d'intérêt. Grâce à la géolocalisation et aux différentes couches de données, vous pouvez communiquer avec l'API Maps pour tracer des itinéraires ou suivre des objets en mouvement, comme un véhicule de livraison.
  • Twitter : Chaque tweet contient des attributs de base descriptifs, notamment un auteur, un identifiant unique, un message, un horodatage de sa publication et des métadonnées de géolocalisation. Twitter met les tweets et les réponses publics à la disposition des développeurs et permet aux développeurs de publier des tweets via l'API de l'entreprise.
Types d'API et types de protocoles d'API
Types d'API

De nos jours, la plupart des interfaces de programme d'application sont des API Web qui exposent les données et les fonctionnalités d'une application sur Internet. Voici les quatre principaux types  d'API Web :

  • Les API ouvertes sont des interfaces de programme d'application open source auxquelles vous pouvez accéder avec le protocole HTTP. Également appelées API publiques, elles ont défini des points de terminaison d'API et des formats de requête et de réponse.
  • Les API partenaires sont des interfaces de programme d'application proposées à des partenaires commerciaux stratégiques ou fournies par ceux-ci. En règle générale, les développeurs peuvent accéder à ces API en mode libre-service via le portail public des développeurs d'API. Néanmoins, ils devront terminer un processus d'intégration et obtenir des identifiants de connexion pour accéder aux API partenaires.
  • Les API internes sont des interfaces de programme d'application que les utilisateurs externes ne peuvent pas voir. Ces API privées ne sont pas disponibles pour les 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. Ces services permettent aux développeurs d'accéder à plusieurs points de terminaison en un seul appel. Les API composites sont utiles dans l'architecture de microservices où l'exécution d'une seule tâche peut nécessiter des informations provenant de plusieurs sources.
Types de protocoles d'API

À mesure que l'utilisation des API Web a augmenté, certains protocoles ont été développés pour fournir aux utilisateurs un ensemble de règles définies qui spécifient les types de données et les commandes acceptés. En effet, ces protocoles API facilitent l'échange d'informations standardisé :

  • SOAP (Simple Object Access Protocol) est un protocole d'API construit avec XML qui permet aux utilisateurs d'envoyer et de recevoir des données via SMTP et HTTP. Avec les API SOAP, il est plus facile de partager des informations entre des applications ou des composants logiciels qui s'exécutent dans différents environnements ou qui sont écrits dans différents langages.
  • XML-RPC est un protocole qui s'appuie sur un format XML spécifique pour transférer des données, tandis que SOAP utilise un format XML propriétaire. XML-RPC est plus ancien que SOAP, mais beaucoup plus simple et relativement léger dans la mesure où il utilise une bande passante minimale.
  • JSON-RPC est un protocole similaire à XML-RPC, car ce sont tous deux des appels de procédure distante (RPC), mais celui-ci utilise JSON au lieu du format XML pour transférer des données. Les deux protocoles sont simples. Bien que les appels puissent contenir plusieurs paramètres, ils n'attendent qu'un seul résultat.
  • REST (Representational State Transfer) est un ensemble de principes d'architecture  d'API Web,  ce qui signifie qu'il n'y a pas de normes officielles (contrairement à un protocole). Pour être une API REST  ou une API RESTful,  l'interface doit respecter certaines contraintes en termes d'architecture. Il est possible de construire des API RESTful avec des protocoles SOAP, mais les deux normes sont généralement considérées comme des spécifications concurrentes.
API, services Web et microservices

Un service Web est un composant logiciel accessible via une adresse Web. Par définition, les services Web nécessitent donc un réseau. Comme un service Web expose les données et les fonctionnalités d'une application, de fait, chaque service Web est une API. Cependant, toutes les API ne sont pas des services Web.

Traditionnellement, l'API faisait référence à une interface connectée à une application qui pouvait avoir été créée à l'aide l'un des langages de programmation de bas niveau comme Javascript. L'API moderne adhère aux principes REST et au format JSON et est généralement conçue pour HTTP, ce qui donne des interfaces conviviales pour les développeurs qui sont facilement accessibles et largement comprises par les applications écrites en Java, Ruby, Python, et de nombreux autres langages. 

Il existe deux approches architecturales courantes pour utiliser des API : l'architecture orientée services (SOA) et l'architecture de microservices. 

  • L'architecture SOA est un style de conception de logiciel dans lequel les fonctionnalités sont divisées et mises à disposition en tant que services distincts au sein d'un réseau. En règle générale, elle est implémentée avec des services Web, rendant les blocs fonctionnels accessibles via des protocoles de communication standard. Les développeurs peuvent créer ces services à partir de zéro, mais ils les créent généralement en exposant les fonctions des systèmes hérités en tant qu'interfaces de service.
  • L'architecture de microservices est un style architectural alternatif qui divise une application en composants indépendants plus petits. Appliquer l'application sous la forme d'un ensemble de services distincts facilite le test, la maintenance et la mise à l'échelle. Cette méthodologie a pris de l'importance tout au long de l'ère du cloud computing en permettant aux développeurs de travailler sur un composant indépendamment des autres.

Alors que l'architecture SOA était une étape évolutive vitale dans le développement d'applications, l'architecture de microservices est conçue pour évoluer. Elle offre aux développeurs et aux entreprises l'agilité et la flexibilité dont ils ont besoin pour créer, modifier, tester et déployer des applications avec précision, avec des cycles d'itération plus courts et une utilisation plus efficace des ressources de cloud computing.

Pour plus d'informations sur la relation entre ces approches architecturales, veuillez consultez « Différence entre l'architecture SOA et l'architecture de microservices »

API et architecture cloud

Il est crucial de développer des API adaptées aux besoins du monde d'aujourd'hui. Le développement d'applications cloud natives repose sur la connexion d'une architecture d'applications de microservices via vos API pour partager des données avec des utilisateurs externes, tels que vos clients.

Les services au sein de l'architecture de microservices utilisent un cadre de messagerie commun, similaire aux API RESTful qui facilite une communication ouverte sur un système d'exploitation sans friction par des couches d'intégration supplémentaires ou des transactions de conversion de données. De plus, vous pouvez supprimer, remplacer ou améliorer tout service ou fonctionnalité sans aucun impact sur les autres services. Cette dynamique simple améliore l'optimisation des ressources cloud et permet d'améliorer les tests, les performances et l'évolutivité des API.

Solutions connexes
Créer des API

Élaborez des API que les développeurs d'applications voudront utiliser avec IBM API Connect

Explorer la création de nouvelles API
Gérer vos API

Monétisez votre stratégie d'API grâce à une gestion complète de l'écosystème d'API

Explorer la gestion de vos API
IBM API Connect Test and Monitor

Effectuez la mise à niveau vers le service IBM API Connect Test and Monitor, automatisé, collaboratif et puissant

Explorer API Connect Test and Monitor
Ressources The Forrester Wave™ : solutions de gestion des API, 3e trimestre 2022

Découvrez en quoi la gestion des API est essentielle au développement de l'activité numérique et comment IBM se positionne par rapport aux autres fournisseurs dans le paysage de la gestion des API en termes d'offres actuelles, de stratégie et de présence sur le marché.

Architecture de microservices

Utilisez une architecture de microservices pour développer des applications mobiles cloud natives et Web

Pour aller plus loin

Les API continueront à ne représenter qu'une partie de la modernisation des applications et de la transformation de votre organisation à mesure que la demande d'une meilleure expérience client et d'un plus grand nombre d'applications aura un impact sur les opérations commerciales et informatiques.Découvrez comment évoluer vers une plus grande automatisation.En travaillant avec IBM, vous aurez accès à des capacités d'automatisation alimentées par l'IA, notamment des flux de travail préconfigurés, qui accélèrent l'innovation en rendant chaque processus plus intelligent.

Explorer IBM API Connect