Qu'est-ce qu'une API ?
- Glossaire IAM
- Qu'est-ce qu'une API ?
API est l'abréviation d'Application Programming Interface (interface de programmation d'applications). Il s'agit d'un ensemble de protocoles et de routines qui permettent à différents systèmes et applications de communiquer entre eux, sans que les développeurs ou les utilisateurs finaux aient besoin de savoir comment ils sont mis en œuvre. Les développeurs peuvent ainsi créer des composants logiciels réutilisables.
Les développeurs utilisent souvent les API pour accéder à des fonctionnalités proposées par un service ou une application existants. Par exemple, une API peut permettre à une application météorologique d'accéder aux dernières données météorologiques d'un fournisseur de services météorologiques. L'API spécifie le format de requête que l'application doit utiliser pour récupérer les données, ainsi que le format des données qui seront renvoyées par le service météorologique.
Comment fonctionnent les API ?
Les API définissent un ensemble de règles et de protocoles de communication entre les composants d'un logiciel. Elles comprennent généralement des spécifications pour les routines, les structures de données, les classes d'objets et les variables. Voici un aperçu général du fonctionnement des API :
Un client émet une requête. Le client (c'est-à-dire le système ou l'application) envoie une requête au serveur de l'API qui spécifie l'opération souhaitée, telle que « récupérer des données » ou « créer une nouvelle ressource ». La requête inclut tous les paramètres et informations d'authentification nécessaires.
Le serveur API traite la requête. Le serveur API reçoit la requête et la traite, en utilisant l'application et les données sous-jacentes pour effectuer l'opération spécifiée.
Le serveur API renvoie une réponse. Le serveur de l'API renvoie une réponse au client, indiquant si l'opération a réussi et, le cas échéant, fournissant les données pertinentes. La réponse est formatée conformément aux spécifications de l'API.
Le client traite la réponse. Le client reçoit la réponse de l'API et traite les données selon les besoins, par exemple en les affichant à l'utilisateur.
Les API permettent ainsi aux composants logiciels de communiquer entre eux et d'échanger des données et des fonctionnalités. L'API définit les règles et les protocoles de communication, de sorte que différents systèmes et applications peuvent interagir entre eux, même s'ils ont été développés par différents organismes ou individus, sur différentes plateformes, avec différents langages de programmation.
Quels sont les différents types d'API ?
Voici les types d'API les plus courants :
Les API ouvertes, également appelées API externes ou API publiques, sont à la disposition des développeurs et d'autres utilisateurs avec un minimum de restrictions. Les API publiques peuvent nécessiter une inscription, une approbation de l'application ou une clé API pour éviter les abus.
Les API internes, également appelées API privées, sont utilisées pour partager des ressources et des données au sein d'une entreprise ou entre différents systèmes ou applications appartenant au même organisme. Les API internes ne sont accessibles qu'aux utilisateurs d'une entreprise donnée et sont masquées pour les utilisateurs externes.
Les API partenaires sont similaires aux API ouvertes, mais elles sont destinées à être utilisées par un ensemble spécifique de partenaires de confiance. L'accès à ces API est généralement restreint et nécessite une approbation préalable.
Les API composites combinent différents types d'API pour répondre à des cas particuliers complexes. Elles permettent aux développeurs d'extraire des données de plusieurs sources par le biais d'un seul appel d'API, ce qui simplifie le processus d'accès aux données.
Les API REST (Representational State Transfer) utilisent des requêtes HTTP pour obtenir des données, les envoyer, les poster et les supprimer. REST est un modèle architectural qui utilise des mécanismes simples, légers et flexibles pour échanger des données entre différents systèmes. Les API REST sont généralement utilisées pour les applications et les services basés sur le web.
Les API SOAP (Simple Object Access Protocol) sont une approche des services web basée sur des normes qui permet à différents systèmes de communiquer sur Internet. SOAP utilise XML comme format de message et s'appuie sur d'autres normes web pour le transport, notamment HTTP et SMTP.
XML-RPC et JSON-RPC sont deux API d'appel de procédure à distance (RPC) qui utilisent respectivement XML et JSON comme formats de données. Ces API permettent aux systèmes de communiquer et d'invoquer des procédures sur des systèmes distants, généralement via HTTP.
L'API GraphQL, développée par Facebook, est une nouvelle norme d'API pour la création et la consommation d'API. Elle constitue une alternative plus efficace, plus puissante et plus souple aux API REST traditionnelles. Les API GraphQL permettent aux applications clientes de spécifier la structure des données dont elles ont besoin, et au serveur de ne renvoyer que les données demandées.
Chaque type d'API a ses propres points forts et points faibles et convient mieux à différents cas d'utilisation. Le choix du bon type d'API pour un projet particulier dépend de facteurs tels que la taille et la complexité du projet, le public visé et le type de données auxquelles il faut accéder.
Quelques exemples d'API
Les API sont partout ! En voici quelques exemples.
L'API Google Maps permet aux développeurs d'ajouter la fonctionnalité Google Maps à leurs propres sites web et applications. Les commerces de vente au détail utilisent souvent l'API Google Maps pour récupérer des données pour leurs annuaires de magasins en ligne.
Les commerçants utilisent l'API PayPal pour permettre à leurs clients de régler leurs achats avec PayPal.
L'API Twitter, qui permet aux développeurs d'accéder aux données et aux fonctionnalités de Twitter dans leurs propres applications, en est un autre exemple. L'API Twitter permet aux développeurs de récupérer des tweets, d'en publier et d'effectuer d'autres actions, telles que la recherche de tweets et le suivi d'utilisateurs.
Les sites de voyage utilisent beaucoup les API pour permettre aux visiteurs de rechercher et de réserver des vols, des hébergements et d'autres services liés aux voyages.