Une interface de programmation d'application (API) est un moyen pour un logiciel d'utiliser les fonctions d'un autre logiciel.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce que la sécurité des API ?
Qu'est-ce que la sécurité des applications web ?
Qu’est-ce que le top 10 de l’OWASP ?
Tout savoir sur la SQL injection
Qu'est-ce qu'un appel d'API ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
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.
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.
Un appel d'API est un message adressé à une API afin d'en déclencher l'action.
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.
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.
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.
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.
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.
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 :
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 ?