Définition d'API
Qu'est-ce qu'une interface de programmation d'applications (API) ?
Lorsque nous naviguons sur Internet, la plupart d'entre nous interagissons avec les sites Web par l'entremise d'applications Web. Une application Web offre une interface utilisateur graphique (GUI) que nous pouvons voir et parcourir en cliquant, ce qui la rend conviviale pour les humains.
Ce n'est toutefois pas la seule façon d'interagir avec la présence en ligne de nombreuses organisations. Une interface de programmation d'applications (API) est conçue pour permettre aux logiciels d'utiliser plus facilement les ressources en ligne. Au lieu d'interagir avec une GUI visuelle, les API permettent aux programmes d'appeler certaines fonctions et de recevoir en retour de l'information dans un format qui leur est plus compréhensible et utilisable.
Si les applications Web constituent la partie visible d'Internet, les API sont ce qui le fait fonctionner en coulisses. De nombreuses organisations disposent d'API — tant privées que publiques — conçues pour permettre à d'autres applications d'accéder à leurs données ou services et de s'appuyer sur eux.
Comment fonctionne une API ?
Lorsque vous naviguez vers un site Web, vous envoyez au serveur Web une requête pour une page Web donnée. Le serveur répond alors avec des données formatées en HTML, que votre navigateur sait interpréter et transformer en pages affichées à l'écran.
Avec une API, le propriétaire du site Web expose certaines fonctions aux utilisateurs potentiels. Une application envoie une requête qui exécute l'une de ces fonctions. Après avoir exécuté le code demandé, l'API renvoie les données résultantes formatées en JSON, en XML ou dans un autre format adapté aux machines.
Cette application Web et cette API Web peuvent offrir exactement les mêmes fonctionnalités. En fait, l'application Web peut même appeler la fonction de l'API en coulisses. Toutefois, l'application vise à rendre le processus convivial pour les humains, tandis que les API sont conçues pour être utilisées par des machines.
Types d'API
Les API sont conçues pour faciliter la communication entre logiciels. C'est pourquoi il existe des normes décrivant leur fonctionnement. Bien que les fonctions exactes exposées par une API dépendent de son objectif (et devraient être décrites dans sa documentation), le processus d'envoi des requêtes et les formats de retour des données devraient être normalisés.
Il existe quelques normes d'API différentes. Parmi les plus courantes et les plus répandues, on trouve :
- REST (Representational State Transfer) : les API REST sont des API légères et sans état, ce qui signifie qu'une requête doit contenir toutes les données dont le serveur aura besoin pour la traiter. Elles utilisent les méthodes HTTP pour effectuer les requêtes d'API et renvoient le plus souvent leurs réponses au format JSON.
- SOAP (Simple Object Access Protocol) : SOAP est un protocole d'API fondé sur XML. Il repose sur des normes, utilisant le langage WSDL (Web Services Description Language) et WS-Security pour définir les opérations, la structure et la sécurité intégrée.
- GraphQL : développé par Facebook, GraphQL est conçu pour être plus efficace en permettant au client de définir la structure de la réponse. Cela contribue à garantir que le client ne reçoit que les données qu'il veut et dont il a besoin.
- gRPC : gRPC a été développé par Google et bénéficie d'une large prise en charge des langages de programmation ainsi que de fonctionnalités avancées comme la répartition de charge. Il utilise les Protocol Buffers pour définir les interfaces et recourt à la sérialisation binaire comme solution de rechange efficace à JSON ou XML pour organiser les données dans les réponses.
Conclusion
Les API sont un élément vital de l'Internet moderne et des services numériques. Certaines entreprises se spécialisent dans la création et le maintien d'une API offrant des données ou des fonctionnalités précieuses. Les API servent aussi à intégrer des microservices dans l'infonuagique, à permettre la communication entre les appareils IdO et les serveurs infonuagiques, et à diverses autres fins.
Les API peuvent offrir des fonctionnalités semblables à celles d'une application Web, mais ce n'est pas la même chose. Par conséquent, les API présentent leurs propres défis de conception et risques de sécurité, qui diffèrent de ceux des applications Web traditionnelles.
L'équipe KZero
Découvrez d'autres contenus instructifs rédigés par l'équipe compétente de KZero dans notre section de blogues et de guides.