Accueil

Thèmes

Point de terminaison d’API

Qu’est-ce qu’un point de terminaison d’API ?
Découvrir la solution de point de terminaison d’API IBM Abonnez-vous à la newsletter Think
Illustration d’un collage de pictogrammes représentant une roue dentée, un bras robotisé, un téléphone mobile

Publication : 5 août 2024
Contributeurs : Dan Nosowitz, Michael Goodwin

Qu’est-ce qu’un point de terminaison d’API ?

Un point de terminaison d’API est un emplacement numérique où une interface de programmation des applications (API) reçoit des appels API, également appelés requêtes API, concernant les ressources sur son serveur. Les points de terminaison d’API sont des composants d’API et se présentent le plus souvent sous la forme d’URL ou de localisateurs de ressources uniformes.

Une API est un composant intermédiaire qui permet aux applications logicielles de communiquer entre elles pour échanger des données, des caractéristiques et des fonctionnalités. Il s’agit d’un ensemble de protocoles et de règles qui définissent comment un client API, c’est-à-dire le logiciel effectuant une requête, peut communiquer avec un serveur pour accéder à des données et à des fonctions. En utilisant une API, les développeurs peuvent profiter de données et de services déjà existants et les propriétaires d’applications peuvent partager ou commercialiser ces mêmes données et services.  

Les points de terminaison fonctionnent un peu comme des numéros de téléphone : tout comme un utilisateur compose un numéro de téléphone pour joindre une personne ou entreprise, les clients API (le logiciel effectuant un appel API) fournissent une URL de point de terminaison pour atteindre une ressource spécifique. Une URL de point de terminaison fournit l’emplacement d’une ressource sur un serveur API et permet de connecter le client API à la ressource qu’il demande. En résumé, elle indique au serveur que « la ressource dont j’ai besoin se trouve ici ».

Les points de terminaison d’API peuvent permettre à un client API de demander toutes sortes de données, avec des cas d’utilisation allant des mises à jour en temps réel des applications logicielles de réseaux sociaux aux fonctionnalités telles que l’intégration audio ou vidéo, la recherche d’articles de presse ou la création d’une nouvelle publication.

IBM nommé leader dans le rapport Forrester Wave du troisième trimestre 2024 pour son logiciels API Management

Selon Forrester, : « IBM convient parfaitement à une stratégie d’API dirigée par l’entreprise, avec un portail développeur attrayant et des produits numériques allant au-delà du REST. »

Contenu connexe La clé pour libérer tout le potentiel de vos API : la gestion des API
Pourquoi les points de terminaison d’API sont-ils importants ?

Des points de terminaison d’API correctement formatés et sécurisés constituent un élément crucial du fonctionnement des API. Les API simplifient la conception et le développement de nouvelles applications et de nouveaux services (car elles permettent aux développeurs de s’appuyer sur des capacités et des services existants) ainsi que l’intégration et la gestion des applications et des services existants. Elles offrent également des avantages significatifs aux développeurs et aux organisations en général, notamment une collaboration améliorée, une innovation accélérée, une agilité, une évolutivité, une sécurité accrues et bien plus encore. Les points de terminaison API permettent l’échange de ressources qui rend une telle intégration possible.

Pour que les API fonctionnent comme elles le devraient, les points de terminaison de l’API doivent être précis, intuitifs, détectables et authentifiés. Si ce n’est pas le cas, la communication entre le client et le serveur peut s’interrompre, entraînant avec elle des fonctionnalités et la satisfaction des utilisateurs.  En termes simples, les points de terminaison d’API permettent aux clients d’API de localiser et d’accéder efficacement aux ressources et fonctions demandées.

Comment fonctionnent les points de terminaison d’API ? 

Les points de terminaison d’API se trouvent généralement dans la documentation d’une API. C’est là que les développeurs placent les informations API telles que le type de requêtes qu’une API acceptera et comment les requêtes doivent être formatées. Idéalement, cette documentation comprend également une liste de tous les points de terminaison d’API disponibles et une brève description de leurs fonctionnalités.

Dans un contexte d’ API REST (un style d’architecture logicielle fréquemment utilisé pour les applications Web), le processus ressemble à ceci :

Le processus démarre lorsqu’un client d’API envoie une demande de ressource (appel d’API) au point de terminaison d’API correspondant. Les points de terminaison sont accessibles à l’aide de méthodes de requête HTTP de types POST, GET, PUT, PATCH et DELETE. Ces méthodes indiquent l’action que le client cherche à effectuer sur la ressource spécifiée.

Par exemple, si un client cherche à récupérer une liste des totaux de médailles olympiques pour une année donnée à partir de la base de données hypothétique Olympicfacts.com, une requête GET est envoyée à l’URL du point de terminaison suivante : 

https://api.olympicfacts.com/v1/{year}

Cette requête renvoie une liste du total des médailles olympiques par pays. (v1 dans notre point de terminaison hypothétique indique la version de l’API, une pratique courante dans la gestion des versions d’API.) Si le client souhaite obtenir le total pour un pays spécifique pour une année donnée, un identifiant sera ajouté à l’URL de base : 

https://api.olympicfacts.com/v1/year/{id}

Dans cet exemple, l’identifiant {id} est utilisé pour indiquer le pays à propos duquel le client souhaite recevoir des informations.

En outre, une demande peut inclure :

  • Des en-têtes : les en-têtes peuvent fournir des informations supplémentaires sur la requête, comme un en-tête Accepter qui spécifie les types de médias acceptés

  • Des paramètres : des paramètres de requête peuvent être ajoutés à l’URL de base ou dans le corps de la requête afin de filtrer davantage les critères de recherche ou d’ajouter d’autres caractéristiques.

  • Corps de la requête : un corps de requête comprend les données nécessaires à la création ou à la modification d’une ressource. Par exemple, si la demande vise à créer un nouveau blog (demande POST), le contenu du nouveau blog sera inclus dans le corps de la requête.

Une fois que le serveur authentifie la requête et valide l’entrée, il récupère les données demandées et renvoie la réponse au client. De nombreuses organisations utilisent des passerelles d’API pour exécuter ces fonctions et gérer le flux de trafic des API.

Quelle est la différence entre les points de terminaison REST API et GraphQL ?

Une API REST (également appelée API RESTful ou API Web RESTful) est une API conforme aux principes de conception du  style architectural REST (Representational State Transfer ).GraphQL est un langage de requête open source et d’exécution côté serveur qui spécifie comment les clients doivent interagir avec les API.2

GraphQL et REST sont deux technologies basées sur les ressources qui prennent en charge des formats de données similaires (JSON et XML, par exemple) et permettent aux clients de demander des données à des serveurs à l’aide de méthodes HTTP. Cependant, ils diffèrent dans leurs exigences de demande et de récupération de données, entre autres différences. Nous nous concentrerons sur une différence clé liée aux points de terminaison.

Les API REST utilisent plusieurs points de terminaison qui sont différents pour chaque ressource. Lorsqu’un client demande une ressource, le serveur renvoie toutes les données associées à la ressource, même si le client n’a besoin que d’un petit sous-ensemble de données. C’est ce que l’on appelle l’overfetching. Si un client a besoin de données réparties sur plusieurs ressources, il doit effectuer des appels API distincts vers chacune de ces ressources pour compiler les données nécessaires.

GraphQL expose des modèles de données à l’aide d’un seul point de terminaison et utilise une syntaxe qui permet aux clients d’effectuer des requêtes API sur une seule ligne, ou sur quelques lignes, pour spécifier exactement ce dont ils ont besoin. Les requêtes GraphQL peuvent suivre les références entre les ressources et accomplir des tâches de récupération de données complexes en une seule requête. Cela permet d’éliminer les problèmes d’underfetching et d’overfetching et la nécessité d’effectuer plusieurs appels API.

Ni les API REST ni les API GraphQL ne sont intrinsèquement supérieures. Ce sont des outils différents qui sont adaptés à des tâches différentes.3

Comment se font les tests d’API ? 

La phase de test est essentielle à toute bonne conception d’API. Les applications modernes utilisent souvent des API pour intégrer des fonctionnalités d’autres logiciels ou elles sont créées en utilisant des architectures de microservices (qui s’appuient sur des API pour la communication entre des services disparates). Le test des terminaux d’API est essentiel pour des questions de fiabilité.

Il existe à la fois des options de test manuels pour les API et des options basées sur une automatisation, ainsi que de nombreux outils et plateformes de test (open source et propriétaires) que les entreprises peuvent utiliser.

Les tests manuels des points de terminaison de l’API peuvent être plus lents et moins efficaces, mais aussi plus précis et adaptés à des cas d’utilisation spécifiques. Les tests fonctionnels consistent simplement à envoyer une demande à partir d’une application pour s’assurer que la bonne réponse est donnée. Dans un exemple de réseaux sociaux, cela peut signifier envoyer une demande pour un nouveau message par un utilisateur particulier et vérifier que le message renvoyé est bien le bon.

Les autres types de tests manuels consistent à : 

  • envoyer de nombreuses demandes en même temps pour voir comment le serveur gère le chargement des demandes

  • vérifier que l’API s’intègre correctement aux autres services

  • déterminer la vitesse et le temps de réponse à une requête donnée

  • fournir intentionnellement une requête non valide pour vérifier que le bon message d’erreur a été renvoyé

Les tests automatisés réalisés via une plateforme de gestion des API peuvent présenter plusieurs avantages :

  • réduction du risque d’erreur humaine

  • plus d’efficacité pour vérifier la validité de plusieurs points de terminaison d’API

  • amélioration de la vitesse des tests et réduction possible des coûts à long terme une fois que des systèmes de test automatisés sont mis en place (gain de temps pour les employés, par exemple)

  • Aligne les tests sur des protocoles, des normes et des autorisations uniformes

En général, chacun doit renvoyer la réponse prévue, en termes de format, de données renvoyées et de code d’état.

Comment sécuriser les points de terminaison de l’API ?

Étant donné que les points de terminaison d’API fournissent un moyen aux applications et aux systèmes internes et externes d’accéder aux données et de les intégrer, ils représentent également un point d’entrée potentiel pour les acteurs malveillants. Les attaques par déni de service (DDoS) peuvent utiliser des requêtes légitimes, mais dans des quantités absurdes en vue d'inonder un serveur. D’autres types d’attaques peuvent tenter d’utiliser les points de terminaison API pour extraire plus d’informations que le client n’est autorisé à recevoir, ou utiliser les points de terminaison API pour installer des logiciels ou des codes malveillants.

Une organisation peut assurer la sécurité de ses points de terminaison API et la sécurité des API dans son ensemble de plusieurs manières, notamment :

 

Mécanismes d’authentification

Les méthodes d’authentification telles que l’authentification par clé API et OAuth garantissent que seuls les utilisateurs autorisés peuvent accéder aux données.

HTTPS

HTTPS (une version plus sécurisée du protocole de transfert hypertexte ou HTTP) utilise la sécurité de la couche de transport (TLS) pour chiffrer les communications entre le client et le serveur. Cela renforce la sécurité des transferts de données.

 

Limitation du débit

La limitation du débit est un terme général qui fait référence aux efforts visant à définir des quantités maximales de requêtes, ce qui peut aider à prévenir les attaques DDoS et à maintenir la stabilité du système. Différentes limites peuvent également être appliquées à différents points de terminaison d’API.

Géoblocage

Si les attaques sont générées à partir d’un lieu particulier, le géoblocage peut être utilisé pour bloquer ou limiter l’accès à partir de ce lieu.

API Gateways

Une passerelle API est une couche logicielle qui sert d’intermédiaire entre les appareils clients et les serveurs. Il s’agit d’un point central qui accepte tous les appels d’API et les achemine vers les services demandés. Bon nombre de ces fonctionnalités de sécurité (en plus des fonctionnalités Surveillance et Analytique des API) peuvent être intégrées à une passerelle API ; et l’utilisation d’une passerelle API favorise l’application cohérente des protocoles de sécurité dans un environnement API.

Quelle est la différence entre une ressource et un point de terminaison d’API ?

Les ressources d’API sont des jeux de données ou des objets fournis par les API. Les ressources varient en fonction de l’API en question, mais les types de contenu incluent du texte, des tableaux, des fichiers sources, du son, des vidéos, des images, des utilisateurs, des produits et bien plus encore.

Un point de terminaison API est l’emplacement spécifique de ces ressources sur un serveur. Il s’agit d’un point de contact entre un client API et un serveur, où les appels API sont dirigés.

Pensez à l’annonce d’une boutique. La liste indique l’emplacement du magasin (point de terminaison) et la manière de le contacter pour demander des informations telles que les heures d’ouverture du magasin et le stock de produits (ressources).

Quelle est la différence entre une clé d’API et un point de terminaison d’API ?

Une clé d’API est une méthode permettant de vérifier et d’authentifier l’identité et l’authenticité d’un client effectuant un appel API. Les clés API sont des chaînes de caractères générés aléatoirement et émises par un fournisseur d’API aux utilisateurs API enregistrés. Lorsqu’un appareil client effectue un appel API, il inclut la clé API. La passerelle d’API ou le serveur d’API qui reçoit l’appel vérifie d’abord la clé pour valider l’identité du client avant de répondre à la requête d’API. Si la clé ne correspond à aucune des clés autorisées, le serveur refuse l’appel d’API et émet un message de rejet.

Les organisations utilisent des clés d’API pour authentifier des clients et des projets individuels, suivre et identifier les modèles de trafic, bloquer les utilisations indésirables, etc.

Les points de terminaison d’API, comme nous l’avons vu, agissent comme une interface entre les clients et les serveurs où les clients d’API dirigent les requêtes de certaines données ou fonctions à partir d’une API. Les clés d’API peuvent être utilisées pour améliorer la sécurité de l’ensemble de l’environnement API d’une entreprise et de ses intégrations API.

Solutions connexes
IBM API Connect

IBM API Connect est une solution de gestion complète du cycle de vie des API qui permet de créer, de gérer et de sécuriser les API de manière cohérente, de les rendre plus accessibles et de les monétiser, ce qui promeut la transformation numérique des API hébergées localement et dans différents clouds.

Explorer IBM API Connect Essayer IBM API Connect gratuitement

Outils de passerelle API d’IBM API Connect

API Gateway, basée sur IBM DataPower, est une passerelle d’entreprise conçue pour exposer en toute sécurité les données et les applications métier où qu’elles se trouvent (hébergement local ou dans les clouds). Elle fournit un ensemble complet de règles de sécurité, de gestion du trafic, de médiation, d’accélération et de prise en charge des protocoles autres que HTTP.

Découvrir les outils de passerelle d’API d’IBM API Connect Demander une démo en direct

IBM Cloud Pak for Integration

IBM Cloud Pak for Integration est une plateforme d’intégration hybride qui applique les fonctionnalités de l’automatisation basée sur l’IA en boucle fermée pour prendre en charge plusieurs types d’intégration. La plateforme fournit un ensemble complet d’outils d’intégration au sein d’un environnement unique et unifié pour connecter les applications et les données dans n’importe quel environnement cloud ou sur site.

Découvrir IBM Cloud Pak for Integration
Solutions IBM iPaaS

Les solutions iPaaS d’IBM vous offrent une approche intuitive et modulaire pour intégrer et connecter toutes vos applications et données, quel que soit leur emplacement.

Découvrir les solutions IBM iPaaS
Ressources La clé pour libérer tout le potentiel de vos API : la gestion des API

Découvrez les principaux défis qui motivent le besoin de gestion des API et comprenez les fonctionnalités clés inhérentes à une solution efficace de gestion des API.

IBM nommé leader dans le rapport Forrester Wave 2024 pour son logiciel API Management

IBM API Connect a obtenu la meilleure note possible dans 17 des 24 critères.

SDK vs. API : quelle est la différence ?

Découvrez les kits de développement logiciel (SDK) et les API, et comprenez comment ils améliorent tant les cycles de développement logiciel que l’expérience de l’utilisateur final (UX).

Qu’est-ce que qu’une iPaaS ?

La plateforme d’intégration en tant que service (iPaaS) est une suite d’outils et de solutions en libre-service basés sur le cloud, utilisés pour intégrer des données provenant de diverses applications hébergées dans différents environnements informatiques.

Qu’est-ce qu’un middleware ?

Le middleware est un logiciel qui permet un ou plusieurs types de communication ou de connectivité entre des applications ou des composants d’un réseau distribué.

Qu’est-ce qu’une API REST ?

Une API REST (également appelée « API RESTful » ou « API Web RESTful ») est une API conforme aux principes de conception du style architectural REST (« Representational State Transfer »).

Passez à l’étape suivante

Utilisez IBM API Connect pour sécuriser et gérer les API d’entreprise tout au long de leur cycle de vie. Cette solution vous aide, ainsi que vos clients, à créer, gérer, sécuriser, socialiser et monétiser les API d’entreprise. Elle est également disponible en tant que plateforme de gestion des API hautement évolutive sur IBM Marketplace et AWS.

Explorer API Connect Réserver une démo en direct
Notes de bas de page

1 What is a REST API?”, IBM.com

2 What is GraphQL?”, Chrystal China, Michael Goodwin, 8 décembre 2023

3 GraphQL vs. REST API: What’s the difference?”, Chrystal China, 29 mars 2024