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é
En savoir plus sur les solutions de gestion des API IBM
Personne travaillant sur un ordinateur sur un bureau debout
Qu’est-ce qu’une API ?

Une API, ou interface de programmation d’application, 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, permettant aux entreprises d’ouvrir les données et les fonctionnalités de leurs applications à des développeurs tiers externes, à des partenaires commerciaux et à des départements internes de leur entreprise.

Les définitions et les protocoles d’une API aident les entreprises à connecter les nombreuses applications qu’elles utilisent dans leurs opérations quotidiennes, ce qui permet aux employés de gagner du temps et d’éliminer les silos qui entravent la collaboration et l’innovation. Pour les développeurs, la documentation API fournit l’interface de communication entre les applications, ce qui simplifie l’intégration des applications.

Fonctionnement d’une API

Un moyen simple de comprendre le fonctionnement des API consiste à prendre un exemple courant : le traitement des paiements par un tiers. Lorsqu’un utilisateur achète un produit sur un site de commerce électronique, il peut être invité à « Payer avec Paypal » ou un autre type de système tiers. Cette fonction repose sur des API pour établir la connexion.

  • Lorsque l’acheteur clique sur le bouton de paiement, une API appelle pour récupérer les informations : c’est ce que l’on appelle une requête. Cette requête est traitée depuis une application vers le serveur Web via l’URI (Uniform Resource Identifier) de l’API et inclut un verbe, des en-têtes et parfois un corps.
     

  • Après avoir reçu une requête valide de la page Web du produit, l’API appelle le programme externe ou le serveur Web, dans ce cas, le système de paiement tiers.
     

  • Le serveur envoie une réponse à l’API avec les informations demandées.
     

  • L’API transfère les données vers l’application à l’origine de la requête, ici le site Web du produit.

Bien que le transfert de données varie en fonction du service Web utilisé, les requêtes et les réponses sont toutes effectuées via une API. Il n’y a pas de visibilité sur l’interface utilisateur, ce qui signifie que les API échangent des données au sein de l’ordinateur ou de l’application, et pour à l’utilisateur, la connexion se fait de façon transparente.

Avantages des API

Les API simplifient la conception et le développement de nouvelles applications et services, ainsi que l’intégration et la gestion des applications existantes. Mais elles offrent d’autres avantages importants aux développeurs et aux organisations en général.

Amélioration de la collaboration. L’entreprise moyenne utilise près de 1 200 applications cloud (lien externe à ibm.com), dont beaucoup sont déconnectées. Les API permettent l’intégration afin que ces plateformes et applications puissent communiquer entre elles de manière fluide. Grâce à cette intégration, les entreprises peuvent automatiser les flux de travaux et améliorer la collaboration sur le lieu de travail. Sans les API, de nombreuses entreprises manqueraient de connectivité, ce qui provoquerait des silos d’informations qui compromettraient la productivité et les performances.

Innovation accélérée. Les API offrent de la flexibilité, permettant aux entreprises de tisser des liens avec de nouveaux partenaires commerciaux, d’offrir de nouveaux services à leur marché existant et, au final, d’accéder à de nouveaux marchés qui peuvent générer des rendements considérables et favoriser la transformation numérique. Par exemple, l’entreprise 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 du monde, s’est diversifiée pour offrir des prêts et des cartes d’entreprise, et a récemment été évaluée à 36 milliards de dollars (lien externe à ibm.com).

Monétisation des données. De nombreuses entreprises choisissent d’offrir des API gratuites, au moins au départ, afin qu’elles puissent créer un public de développeurs autour de leur marque et forger des relations avec des partenaires commerciaux potentiels. Si l’API donne accès à des actifs numériques précieux, l’entreprise la monétise en vendant l’accès. C’est ce qu’on appelle l’économie des API. Lorsque AccuWeather (lien externe à ibm.com) a lancé son portail de développeurs en libre-service pour vendre un large éventail de packages API, il n’a fallu que 10 mois pour attirer 24 000 développeurs, vendre 11 000 clés API et créer une communauté florissante au passage.

Sécurité du système. Les API séparent l’application à l’origine de la requête de l’infrastructure du service répondant, et offrent des couches de sécurité entre les deux à mesure qu’elles communiquent. Par exemple, les appels API nécessitent généralement des identifiants : les en-têtes HTTP, les cookies ou les chaînes de requête peuvent fournir un niveau de sécurité supplémentaire pendant l’échange de données et une passerelle API peut contrôler les accès afin de minimiser les menaces de sécurité.

Sécurité et confidentialité des utilisateurs finaux. Au même titre qu’elles renforcent la protection au sein d’un réseau, les API peuvent également renforcer la protection des utilisateurs. Lorsqu’un site Web demande à un utilisateur sa localisation, qui est fournie via une API de localisation, celui-ci peut décider d’accepter ou de refuser. De nombreux navigateurs et systèmes d’exploitation mobiles, comme iOS, disposent de structures d’autorisation intégrées lorsque les API demandent l’accès à des applications et à leurs données. Lorsque l’application doit accéder aux fichiers via une API, les systèmes de fichiers tels que Windows, Mac et Linux utilisent des autorisations pour cet accès.

API en action : exemples courants

Étant donné que les API permettent aux entreprises d’accéder à leurs ressources tout en garantissant sécurité et contrôle, elles sont devenues précieuses pour les applications professionnelles et personnelles modernes. Voici quelques exemples populaires d’utilisations d’API que les utilisateurs rencontrent presque tous les jours :

  • Connexions universelles : un exemple d’API populaire est la fonction qui permet aux utilisateurs de se connecter à des sites Web en utilisant leurs identifiants Facebook, Twitter ou Google. Cette fonctionnalité pratique permet à n’importe quel site Web d’exploiter l’API d’un des services les plus populaires pour une authentification rapide, ce qui leur permet de gagner du temps et de configurer un nouveau profil pour chaque application Web ou nouvelle adhésion.
     

  • Internet des objets (IoT) : ces « appareils intelligents » offrent des fonctionnalités supplémentaires, telles que les écrans tactiles connectés à Internet et la collecte de données, via des API. Par exemple, un réfrigérateur intelligent peut se connecter à des applications de recettes ou prendre et envoyer des notes sur des téléphones portables par SMS. Les caméras internes se connectent à diverses applications afin que les utilisateurs puissent voir le contenu de leur réfrigérateur de n’importe où.
     

  • Comparaisons de 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 d’accéder aux dernières informations sur les disponibilités des hôtels et des compagnies aériennes, soit via un navigateur Web, soit via l’application de l’entreprise de réservation de voyages. Avec un échange autonome de données et de demandes, les API réduisent considérablement le temps et les efforts nécessaires à la vérification des vols ou des hébergements disponibles.
     

  • Applications de cartographie : en plus des API principales qui affichent des cartes statiques ou interactives, ces applications utilisent d’autres API et fonctionnalités pour indiquer aux utilisateurs des itinéraires, des limites de vitesse, des centres d’intérêt, des avertissements sur la circulation et plus encore. Les utilisateurs communiquent avec une API lorsqu’ils tracent des itinéraires ou suivent des éléments en déplacement, tels qu’un véhicule de livraison.
     

  • Twitter : chaque tweet contient des attributs principaux descriptifs, notamment un auteur, un identifiant unique, un message, un horodatage lors de sa publication et des métadonnées de géolocalisation. Twitter met à la disposition des développeurs les attributs principaux des tweets et des réponses publics, et leur permet de publier des tweets sur d’autres pages Web via l’API de l’entreprise.
     

  • Applications SaaS : les API font partie intégrante de la croissance des produits SaaS (Software-as-a-Service). Les plateformes telles que les CRM (outils de gestion de la relation client) comprennent souvent un certain nombre d’API qui permettent aux entreprises de s’intégrer aux applications qu’elles utilisent déjà, telles que les applications de messagerie, de médias sociaux et de messagerie électronique. Cela réduit considérablement le temps passé à basculer entre des applications de vente et de marketing. Elle permettent également de réduire ou d’empêcher les silos de données qui peuvent exister entre les services utilisant différentes applications.

Types d’API

Aujourd’hui, la plupart des API sont des API Web qui exposent les données et fonctionnalités d’une application sur Internet. Voici les quatre principaux types d’API Web :

  • Les API ouvertes sont des interfaces de programmation d’application open source auxquelles vous pouvez accéder avec le protocole HTTP. Également appelées API publiques, elles disposent de points de terminaison d’API et de formats de requête et de réponse définis.
     

  • Les API partenaires connectent des partenaires commerciaux stratégiques. En règle générale, les développeurs accèdent à ces API en libre-service via un API developer portal public. Ils doivent néanmoins suivre un processus d’intégration et obtenir des informations de connexion pour accéder aux API partenaires.
     

  • Les API internes restent masquées aux utilisateurs externes. 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 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 de terminaisons en un seul appel. Les API composites sont utiles dans l’architecture de microservices où une tâche unique peut nécessiter des informations provenant de plusieurs sources.

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, ou des spécifications API, qui créent des types de données, des commandes et une syntaxe acceptées. En effet, ces protocoles d’API facilitent l’échange d’informations normalisées.

  • SOAP (Simple Object Access Protocol) : basé sur le langage XML, SOAP permet aux points de terminaison d’envoyer et de recevoir des données via les protocoles SMTP et HTTP. Les API SOAP facilitent le partage d’informations entre des applications ou des composants logiciels exécutés dans différents environnements ou écrits dans différents langages.
     

  • XML-RPC (XML-Remote Procedure Call) : le protocole XML-RPC repose sur un format XML spécifique pour transférer des données. XML-RPC est plus ancien que SOAP, mais il est beaucoup plus simple et relativement léger dans la mesure où il utilise une bande passante minime.
     

  • JSON-RPC : comme le protocole XML-RPC, JSON-RPC est un appel de procédure distante, mais le transfert de données utilise le format JSON (JavaScript Object Notation) et non du XML.

  • REST (Representational State Transfer) : REST est un ensemble de principes d’architecture d’API Web. Les API REST (également appelées API RESTful) sont des API qui respectent certaines contraintes architecturales REST. Il est possible de créer des API RESTful avec des protocoles SOAP, mais les deux normes sont généralement considérées comme concurrentes.

Traditionnellement, le terme API faisait référence à une interface connectée à une application créée avec l’un des langages de programmation de bas niveau, tels que Javascript. Les API modernes adhèrent cependant aux principes REST et suivent le format JSON. Elles sont généralement conçues pour HTTP, ce qui se traduit par des interfaces conviviales pour les développeurs, facilement accessibles et largement comprises par les applications écrites en Java, Ruby, Python et bien d’autres langages.

API et services Web

Un service Web est un composant logiciel accessible et facilitant les transferts de données via une adresse Web. Étant donné qu’un service Web expose les données et les fonctionnalités d’une application à d’autres applications, chaque service Web est une API. Cependant, toutes les API ne sont pas des services Web.

Les API sont un composant logiciel qui sert d’intermédiaire entre deux applications déconnectées. Même si les services Web connectent également des applications, ils nécessitent pour cela un réseau. Lorsque certaines API sont open source, les services Web sont généralement privés et seuls les partenaires agréés peuvent y accéder.

API, microservices et développement cloud natif

Les microservices sont un style d’architecture qui divise une application en composants indépendants plus petits (également appelés microservices), connectés à l’aide d’API REST. La création d’une application en tant qu’ensemble de services distincts permet aux développeurs de travailler sur un composant d’application indépendamment des autres et facilite le test, la maintenance et la mise à l’échelle des applications.

L’architecture de microservices s’est répandue davantage avec l’essor du cloud computing, et, avec les conteneurs et Kubernetes, elle est à la base du développement d’applications cloud natives.

Solutions connexes
Automatisation IBM Cloud

Choisissez l’automatisation intelligente pour gérer vos opérations métier et informatiques à grande échelle pour l’ensemble de votre organisation.

Découvrir l’automatisation cloud
IBM API Connect

Gérez le cycle de vie de vos API sur plusieurs clouds, stimulez la socialisation et optimisez vos initiatives de monétisation dans l’ensemble de votre écosystème métier.

Découvrir IBM API Connect
IBM Cloud Pak for Integration

Utilisez l’automatisation de l’IA en boucle fermée pour prendre en charge plusieurs styles d’intégration.

Explorer Cloud Pak for Integration
Solutions d’intégration

Connectez, automatisez et libérez le potentiel de votre entreprise grâce à des solutions d’intégration

Découvrir les solutions d’intégration
Ressources Que sont les conteneurs ?

Les conteneurs sont des exécutables qui empaquettent le code de l’application, ainsi que ses bibliothèques et dépendances, et peuvent être exécutés sur une infrastructure informatique traditionnelle ou sur n’importe quel cloud.

Qu’est-ce que Kubernetes ?

Kubernetes est une plateforme d’orchestration de conteneurs open source qui automatise le déploiement, la gestion et la mise à l’échelle des applications conteneurisées.

The Forrester Wave™ : solutions de gestion des API, 3e trimestre 2022

Découvrez pourquoi la gestion des API joue un rôle clé dans la croissance des entreprises et comment IBM se positionne par rapport aux autres acteurs du secteur grâce à son offre, sa stratégie et sa présence sur le marché.

Passez à l’étape suivante

IBM API Connect est une solution de gestion des API sécurisée et intuitive qui permet de créer, gérer, sécuriser, socialiser et monétiser les API de manière cohérente, contribuant ainsi à alimenter la transformation numérique sur site et dans les clouds. Vos clients et vous-même pouvez ainsi créer vos applications numériques et stimuler l’innovation en temps réel. Dans le cadre d’IBM Cloud Pak for Integration, IBM API Connect est également disponible avec d’autres fonctionnalités qui peuvent vous aider à automatiser la modernisation des applications et la gestion des API dans le cadre de votre transition vers le cloud.

Découvrir IBM API Connect