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 ?
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 Shield comprend ces fonctionnalités de sécurité et d'autres pour se protéger contre les menaces liées aux API. Pour en savoir plus sur la sécurité des API, consultez . Qu'est-ce que la sécurité des API ?
Une API est un ensemble de règles qui permet à un programme logiciel de communiquer avec un autre. Avec les API les développeurs ont la possibilité d'utiliser des fonctions existantes pour leurs applications, sans avoir à les créer à partir de zéro.
Un appel d'API est un message envoyé à une API qui la déclenche pour exécuter une fonction. Le message doit être formaté selon le schéma de l'API et dirigé vers le bon point de terminaison pour obtenir une réponse valide.
Un point de terminaison d'API est l'URL ou l'emplacement spécifique vers lequel les appels d'API sont dirigés. C'est là que les applications envoient leurs requêtes pour obtenir des données ou des services de l'API.
Les API web sont des API conçues pour être utilisées par des applications web sur Internet. Ils sont essentiels pour la plupart des services numériques modernes et des applications web.
La sécurité des API consiste à protéger les API contre les attaques et les utilisations abusives. Les mesures clés incluent le contrôle du volume des requêtes, l'authentification (notamment le mutual TLS), la validation de schéma et la protection contre les attaques DDoS.
Les API REST adoptent un style architectural flexible et peuvent utiliser n'importe quel protocole. Les API SOAP utilisent un protocole spécifique appelé le Protocole d'Accès aux Objets Simples. La plupart des API aujourd'hui sont des API REST.
Un schéma d'API définit les règles sur la façon dont les appels d'API doivent être formatés et les types de réponses que l'API fournira. Il garantit que les appels et les réponses respectent une structure standard. La validation de schéma peut également contribuer à prévenir les attaques. Les requêtes qui ne suivent pas le schéma peuvent être rejetées ; cela garantit que l'API ne se comporte pas de manière inattendue, par exemple en révélant des données confidentielles.
L’intégration des API est le processus de connexion de deux ou plusieurs applications à l’aide des APIs, leur permettant de partager des données et des fonctionnalités.