Qu’est-ce qu’une API ?

Une interface de programmation d'application (API) est un moyen pour un logiciel d'utiliser les fonctions d'un autre logiciel.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir "API
  • Expliquer les appels d'API, les points d'extrémité d'API, le schéma d'API et l'intégration d'API.
  • Décrire les API Web, les API SOAP et les API REST.
  • Comprendre les protections de sécurité des API

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce qu'une interface de programmation d'applications (API) ?

Une interface de programmation d'application (API pour application programmation interface) correspond à un ensemble de règles grâce auxquelles un logiciel transmet des données à un autre logiciel.

Les API évitent aux développeurs des tâches redondantes ; au lieu de créer sans cesse des fonctions d'application qui existent déjà, les développeurs peuvent intégrer les fonctions qui existent déjà dans leurs nouvelles applications en formatant les requêtes en fonction des exigences de l'API.

Une API est une interface "," signifiant un moyen pour une chose d'interagir avec une autre. À titre d'exemple concret, un distributeur automatique de billets possède une interface - un écran et plusieurs boutons - qui permet aux clients d'interagir avec leur banque et de demander des services, comme l'obtention d'argent liquide. De même, une API est la manière dont un logiciel interagit avec un autre programme pour obtenir les services nécessaires.

Imaginez que Jennifer crée un site Web qui aide les navetteurs à vérifier le trafic routier avant de partir au travail. Jennifer pourrait consacrer beaucoup de temps et d'argent à la mise en place d'un système complexe de suivi des autoroutes pour fournir ces informations aux utilisateurs de son site Web. Mais ces capacités existent déjà, puisque des parties extérieures ont créé de tels systèmes. Au lieu de réinventer la roue, le site Web de Jennifer utilise une API proposée par un service externe de suivi des autoroutes. Jennifer peut maintenant se concentrer sur la création d'autres aspects de son site Web.

Qu'est-ce qu'un appel d'API ?

Un appel d'API est un message adressé à une API afin d'en déclencher l'action.

Reprenons l'exemple de Jennifer, elle conçoit son site web de telle sorte que lorsqu'il se charge, il génère automatiquement un appel d'API au service de suivi des autoroutes. La réponse est renvoyée au site web par ce service et lui permet d'afficher les dernières informations sur le trafic routier.

Pour fonctionner, les appels d'API doivent être formatés conformément aux exigences de l'API. Les exigences de l'API sont appelées schéma "." Le schéma décrit également les types de réponses qui sont fournies à chaque demande.

Supposons qu'un banlieusard utilise le site Web de Jennifer pour vérifier le trafic sur l'autoroute 192. Le site Web envoie un appel API pour fournir cette information - un message qui se lit comme suit : "Highway 192." Le serveur API du service de suivi des autoroutes reçoit ce message et répond en indiquant les temps de parcours sur l'autoroute 192. Imaginez le schéma de l'API de cette façon :

Demande API Réponse de l'API
"Autoroute 192" Temps de trajet sur l'autoroute 192
"Autoroute 217" Temps de trajet sur l'autoroute 217
"Autoroute 225" Temps de trajet sur l'autoroute 225

(Notez qu'il s'agit d'un exemple très simplifié - les demandes, réponses et schémas d'API du monde réel sont plus complexes).

Supposons maintenant que le site Web de Jennifer envoie une requête API pour "Highway ASDFGHJ." Cette requête n'est pas valide car elle n'est pas conforme au schéma de l'API, qui n'autorise que les noms réels des autoroutes. Le serveur ne sera pas en mesure de fournir une réponse utilisable à une telle demande.

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

Un endpoint est la fin d'un canal de communication. Un point de terminaison API est l'endroit d'où provient une réponse API.

Dans l'exemple, le client de la connexion API est le site Web de Jennifer, et le point de terminaison est le serveur qui héberge l'API. Les appels d'API de Jennifer doivent aller à une certaine URL (une URL est une adresse Web, comme www.cloudflare.com/learning) dont le serveur d'API est responsable afin d'obtenir une réponse.

Qu'est-ce que l'intégration API ?

L'intégration d'API est la combinaison de deux ou plusieurs applications à l'aide d'API. L'intégration d'API permet à une application de bénéficier des capacités d'une autre application, tout comme la combinaison d'une équipe de vente et d'une équipe de marketing dans un même bureau permet à ces deux équipes de travailler ensemble et de bénéficier de leurs efforts respectifs. Les intégrations d'API sont également couramment utilisées pour synchroniser les données entre deux applications ou bases de données.

Qu'est-ce qu'une API web ?

Tout ce qui implique du code informatique peut avoir une API, des systèmes d'exploitation aux bibliothèques logicielles. Une API web est spécifiquement destinée à être utilisée par des applications web auxquelles on accède par Internet.

Les API Web sont incroyablement importantes pour l'Internet moderne. Presque toutes les applications orientées vers l'utilisateur s'appuient sur les API pour fonctionner (pas seulement le site Web de Jennifer !). Des philosophies entières de développement de logiciels reposent sur l'utilisation d'API - l'une de ces philosophies est JAMstack, JAM signifiant JavaScript, API, markup. Un autre exemple est l'architecture de microservices , qui utilise les API afin d'appeler les différentes fonctions qui composent une application. Même les applications construites sans ces approches reposent généralement sur des API.

Que sont les API SOAP et les API REST ?

Les API SOAP et les API REST décrivent différentes catégories d'API.

SOAP (Simple Object Access Protocol) est un type de protocole . Les API SOAP sont des API qui utilisent uniquement le protocole SOAP.

REST (REpresentational State Transfer) est un style architectural pour les services web. Une API REST est toute API construite à l'aide de l'architecture REST. Contrairement aux API SOAP, les API REST fonctionnent avec n'importe quel protocole. La plupart des API actuelles sont des API REST.

Les API présentent-elles des risques pour la sécurité ?

Tout comme le fait d'autoriser une personne à utiliser une application comporte le risque que cette personne abuse de l'application, une API comporte le risque qu'un client API abuse du service. En outre, les appels d'API Web transitent par Internet et peuvent être interceptés, usurpés ou modifiés, comme tout autre transfert de données sur un réseau.

La sécurité des API consiste à protéger les API contre les attaques et les utilisations abusives. Compte tenu de l'importance des API dans l'Internet moderne, la sécurité des API constitue un élément essentiel de la sécurité des applications web. Parmi les mesures fondamentales de sécurité des API figurent :

  • Limitation du débit: Les clients qui effectuent trop de demandes d'API peuvent ralentir ou faire planter l'API pour les autres clients. La limitation du débit limite le nombre de demandes d'API pouvant provenir d'un point de terminaison d'API donné dans un certain laps de temps.
  • Protection contre les DDoS: Comme la limitation du débit, la protection contre les dénis de service distribués (DDoS) arrête les attaques DDoS , qui visent à épuiser ou à submerger une API par un grand nombre de requêtes envoyées en une seule fois.
  • Authentification: Il est important d'authentifier les points de terminaison et les clients des API afin de s'assurer que les demandes d'API proviennent de sources légitimes et non d'attaquants. Mutual TLS (mTLS) est l'une des formes les plus efficaces d'authentification des API.
  • Validation du schéma : Si une demande d'API n'est pas conforme au schéma de l'API, cette dernière peut réagir de manière inattendue - en révélant des données confidentielles, par exemple. La validation du schéma permet à l'API de rejeter de telles demandes.

Cloudflare API Gateway inclut ces fonctions de sécurité et d'autres qui assurent une protection contre les menaces pesant sur les API. Pour en savoir plus sur la sécurité des API, voir Qu'est-ce que la sécurité des API ?