Glossaire API Management

API Management
glossaire api

Vous avez probablement déjà entendu parler des termes API, API management ou API REST. Ils sont utilisés partout dans le monde d’aujourd’hui et la familiarisation avec ces termes devient de plus en plus nécessaire pour vous et pour votre entreprise.

Ce glossaire vous donne les définitions des termes et notions clés nécessaires pour votre navigation dans le monde des APIs.

Concepts

API (Application Programming Interface) : est une interface par laquelle un système ou une application offrent des services à d’autres systèmes ou applications.

Gouvernance API (Api management) : correspond à l’ensemble des organisations et des procédures mises en place au sein d’une entreprise afin d’encadrer la gestion du cycle de vie des API de bout en bout : règles de conception, de développement, de déploiement, d’exposition, de communication à la dimension de l’entreprise.

APIsation d’un SI : la procédure qui consiste à passer d’un système d’information classique à un système axé sur l’utilisation des API dans l’échange de données entre les entités internes ou externes du système.

Proposition de valeur : proposer des APIs utiles à vos clients, une API doit avoir une proposition de valeur sinon il sera très difficile, voire impossible, de trouver des utilisateurs. Presque tout produit peut générer de la valeur à travers les APIs si ces derniers sont bien identifiés, présentés et exploités.

API produit : c’est la manière de présenter les APIs aux développeurs. Il s’agit des métadonnées des APIs, comme le titre, la description, l’accessibilité (ouverts qui peuvent être utilisés sans abonnement ou protégés qui doivent faire l’objet d’un abonnement avant de pouvoir être utilisés) et les conditions d’utilisation.

Concevoir une API : le processus de développement d’API, qui comprend la conception, le débogage, les tests automatisés, la documentation de l’API, la surveillance et publication de l’API. Chaque étape de ce processus est primordiale pour offrir une bonne expérience utilisateur à vos clients.

API-First : est une approche de développement qui consiste à mettre les APIs en premier plan dans la réalisation d’un projet. Le développement « API-first » garantit que TOUTES les fonctionnalités de la plateforme vont être accessibles par le biais des API.

API documentation : est un contenu technique et non technique, permettant de comprendre les usages de l’API. Il comporte des instructions sur la manière d’utiliser et d’intégrer efficacement une API.

Architecture

API REST (REpresentational State Transfe) : est un style d’architecture, une approche et un ensemble de contraintes à utiliser pour construire des services web. Inspiré de l’architecture du web et fortement basé sur le protocole HTTP. REST n’est pas un protocole ou un format, contrairement à SOAP, HTTP ou RCP.

Services back-end (ou juste service ou back-end) : un ensemble d’application ou base de données qui tournent dans des serveurs qui interagissent entre eux et constituent votre application.

Clients (consommateurs) : les applications qui interagissent avec votre back-end. Incluent des applications mobiles, Web ou de bureau, ainsi que toute personne ou tout objet effectuant des appels d’API vers vos services.

Consommation : quand un client (consommateur) fait des appels API on dit qu’il consomme des ressources de cette API. Mesurée par le nombre d’appel API ou par la quantité de données.

Une passerelle API (Api Gateway) : est un outil de gouvernance API qui se situe entre le client et un ou plusieurs services back-end. Il forme un point d’entrée unique à ces services et permet de répondre à des requêtes qui nécessitent le regroupement de plusieurs ressources. Autre avantage est l’unification de l’authentification des clients.

Micro Gateway : ressemble à l’API Gateway classique mais il est plus proche des services ce qui lui permet de gérer une plus grande partie du métier de l’application, adopté généralement dans les architectures microservices.

Granularité d’une API : est le niveau de découpage de l’API en un ensemble de ressources.

Hateoas (Hypermedia as the Engine of Application State) : est une particularité de l’architecture RESTqui permet de naviguer entre les ressources à travers des liens injectés dans les réponses, ces liens peuvent être des images, des vidéos ou du texte d’où le terme « hypermédia ».

API orientée événements (event driven API) : la communication entre les services back-end composant l’API est réalisée par échange de messages (événements) à travers un bus de messagerie (communication asynchrone). Un service envoie un message sur un bus et un autre le récupère après suscription de ce dernier au même bus. Cette architecture permet de développer des services moins couplés que ceux du mode synchrone basé sur les appels direct entre services.

Souscription : l’enregistrement à un service donné (API, back-end, bus de donnés … etc.) pour recevoir de manière asynchrone ses publications.

Proxy : un proxy d’API sert d’intermédiaire entre un consommateur et les services back-end. Il peut s’agir d’une petite portion de code ou d’un code plus important qui gère les transformations de données, la sécurité, le routage, la mise en forme du trafic et d’autres fonctionnalités.

Monté en échelle ou la Scalabilité (scalability) : la capacité d’un API de s’étendre sur plusieurs serveurs pour répondre aux demandes des clients avec une meilleure qualité de service.

Versioning : est la pratique consistant à gérer de manière transparente les modifications apportées à votre API. Le versioning est une communication efficace autour des changements apportés à votre API, afin que les consommateurs sachent à quoi ils doivent s’attendre. Vous fournissez des données au public d’une manière ou d’une autre et vous devez communiquer lorsque vous modifiez la manière dont ces données sont fournies.

Sécurité

Authentification : l’authentification est le processus qui consiste à déterminer si un utilisateur est réellement ce qu’il déclare être. L’utilisateur commence par fournir les informations liées à son identité, ces informations sont comparées à ceux qui sont dans la base de données, si les informations fournies sont correctes, l’application renvoie un jeton d’accès.

Autorisation : une fois l’utilisateur est authentifié, l’autorisation permet de définir les ressources auxquelles l’utilisateur aura accès en fonction de son rôle et les permissions qui lui sont attribués.

Serveur d’autorisation : les serveurs qui font l’authentification et l’autorisation des clients, constamment consultés par les API, il existe des cas ou les APIs sont eux-mêmes des serveurs d’autorisation.

Jeton d’accès (acess token) : est une chaîne de caractères (généralement avec une durée de vie limitée) fournis par le serveur d’authentification après l’authentification, permettant au client d’utiliser les ressources de l’API sans avoir à s’authentifier à chaque requête.

CORS (Cross-Origin Resource Sharing) : est un mécanisme basé sur l’en-tête HTTP qui permet à un serveur d’indiquer toute autre origine (domaine, schéma ou port) que la sienne à partir de laquelle un navigateur est autorisé à charger ses ressources.

Une opération ou un point de terminaison (endpoint) : est toujours exposée via une ressource. Elle définit une action (consultation, modification ou suppression) qui peut être effectuée sur l’entité représentée par la ressource.

Exposition : exposer un API ou un endpoint est le fait de le rendre accessible au public.

Scope : la liste des endpoints auxquelles un utilisateur a accès, et les droits de lecture/écriture qu’il a sur ces endpoints.

Rate limite : le nombre d’appels API ou la quantité de données qu’un client peut consommer d’un API, ça dépendre du type de l’abonnement choisi par le client, mais aussi d’autre aspect technique comme la sécurité ou la scalabilité.

Sandbox : est un environnement que les testeurs utilisent pour imiter les caractéristiques de l’environnement de production lorsqu’ils testent des fonctionnalités qui sont dépendantes à d’autre APIs. Donc au lieu de faire des appels d’APIs réels et attendre leurs réponses, on simule ces réponses directement ce qui nous fera gagner du temps et de l’argent.

Outils

Swagger : est un projet open source sous forme d’un langage, permettant de décrire des API RESTful qui utilisent du JSON. Swagger est utilisé avec un ensemble d’outils logiciels open source pour concevoir, construire, documenter et utiliser des services web RESTful. Swagger comprend la génération de documentation, du code et des tests automatisés.

OpenAPI (anciennement Swagger Specification) : est un format de description d’API REST qui permet aux humains et aux machines de découvrir et de comprendre les capacités d’un service sans avoir accès au code source, à la documentation ou à l’inspection du trafic réseau.

Portail développeur (developer portal) : est un site web qui permet de simplifier le processus d’apprentissage et d’utilisation de vos API. Les consommateurs d’API peuvent découvrir vos API, apprendre à les utiliser, y demander l’accès et les essayer à travers le portail, comme ils peuvent aussi voir vos blogs et poser des questions sur les forums dédier à ces APIs.

Catalogue : un composant du portail développeur qui permet une meilleure organisation de vos API, pour faciliter le parcours ou la recherche dans la liste de vos API.

Analytics : des services qui permettent de faire l’analyse des données qui passent par l’API pour mesurer les performances mais aussi l’engagement et l’utilisation des API par les clients.

SDK : est généralement un ensemble d’outils de développement logiciel qui permet de créer des applications pour une plate-forme spécifique. Les SDK peuvent inclure une ou plusieurs APIs ainsi que des outils de programmation et de la documentation.

AsyncApi : outil open source pour construire et maintenir facilement votre architecture API orientée événements. Tous les outils sont basés sur la spécification AsyncAPI, la norme industrielle pour la définition des API asynchrones.

Publié le 20/04/21

 


Partagez cet article :