Plateforme Edge Cloud de Fastly

Solutions numériques innovantes

Qu’est-ce qu’une API ?

Une interface de programmation d’application (API) est un ensemble de protocoles qui permettent à des systèmes logiciel disparates de communiquer entre eux, quelle que soit leur langue de programmation ou leur plateforme. On dit parfois que les API « aident les machines à parler à d’autres machines » parce qu’en communiquant au moyen d’un ensemble structuré de règles, les API vous permettent d’interagir avec les systèmes par programmation au lieu de passer par une interface Web.

Les API vous permettent également d’intégrer de nouvelles solutions à des applications existantes et d’ automatiser les processus. Il existe des milliers d’API disponibles sur le web, dont beaucoup sont gratuites. Vous pouvez consulter un répertoire d’API comme le Postman API Network, ou visiter le site web du service ou du produit que vous souhaitez intégrer afin de vérifier s’ils disposent d’une API.

Bien qu’il existe plusieurs types d’architectures d’API, comme les API SOAP (Simple Object Access Protocol), les API GraphQL et les API RPC (Remote Procedure Call), ce guide se concentrera sur l’une des plus courantes : le transfert d’état représentationnel (REST). Les services web conformes au style d’API REST sont appelés API RESTful. Les API RESTful utilisent HTTP et ressemblent beaucoup à une URL de page web.

Quel est un exemple d’API ?

Vous avez probablement déjà vu des API en action sans même vous en rendre compte. Imaginez que vous commandiez votre déjeuner via le site web de votre restaurant de tacos préféré. Lors du paiement, vous devez saisir votre adresse de distribution. Presque dès que vous commencez à saisir votre adresse dans la barre de recherche, la ville, l’État, et le code postal se complètent automatiquement. Ensuite, vous saisissez vos informations de paiement, et vous remarquez que les champs de paiement sont traités par un service de paiement mobile de confiance. Enfin, après avoir passé votre commande, vous pouvez vous inscrire à un programme de fidélité et gagner des récompenses en fonction de votre commande en vous inscrivant simplement via votre plateforme de réseaux sociaux préférée.

La saisie semi-automatique des adresses, le traitement des paiements, et l’inscription via les réseaux sociaux sont tous des exemples d’intégration d’API. Au lieu de devoir créer chacun de ces composants à partir de zéro, le site web utilise l’API Google Maps pour collecter facilement les adresses de distribution, l’API Square pour s’intégrer au système de traitement des paiements de Square, et l’API Facebook pour créer rapidement des comptes de récompenses.

Comment fonctionnent les API REST ?

Les API REST utilisent des requêtes et des réponses HTTP pour échanger des informations sur Internet. Cela est avantageux, car le client web qui effectue la requête et le serveur API qui répond parlent un langage commun. Le message de requête et la réponse eux-mêmes utilisent un protocole web HTTP commun.

Il existe de nombreux cas d’utilisation courants pour les API REST, généralement dans le cadre des fonctions standard de création, de récupération, de mise à jour et de suppression (CRUD) des bases de données. Par exemple, les API REST peuvent effectuer des actions de création, en utilisant des éléments tels que l’API Facebook pour créer un nouveau compte de récompenses. Elles peuvent également récupérer des données en utilisant des éléments tels que l’API Google Maps pour récupérer des adresses. 

L’anatomie d’une requête API

Examinons l’anatomie d’une requête API, qui comporte cinq composants :

L’URL de base : Le préfixe du point de terminaison.

Le point de terminaison : Cela indique à la requête où aller.

La méthode : détermine le type de requête en cours.

Les en-têtes : Fournissent des informations qui aident le client et le serveur à communiquer entre eux.

Le corps : Contient les informations que vous souhaitez envoyer au serveur.

Maintenant que les bases sont couvertes, examinons cela un peu plus en profondeur.

Voici un exemple de point de terminaison pour l’API Google Maps Places :

https://maps.googleapis.com/maps/api/place/autocomplete/

Ce point de terminaison comporte deux composants. Le premier est l’URL de base ; le domaine où l’API est fournie. Dans cet exemple, https://maps.googleapis.com est l’URL de base. Le chemin du point de terminaison détermine la ressource que vous demandez. Ici, nous demandons une ressource spécifique de l’API Google Maps Places appelée Autocomplete, nous avons donc ce chemin : /maps/api/place/autocomplete

Si vous vous demandez pourquoi cela ressemble beaucoup à une URL, c’est parce que c’en est une. N’oubliez pas, cette requête s’effectue via HTTP. Si vous saisissez ceci dans votre navigateur, vous obtiendrez une page HTML Basic très simple avec la réponse mise en forme de différentes manières selon l’API, JSON étant l’un des formats de réponse les plus courants.

Cependant, pour réellement faire quelque chose avec l’API, vous avez besoin de quelques autres composants. La première est une méthode. Les méthodes sont des mots-clés prédéfinis qui doivent être inclus dans chaque requête. Les méthodes les plus courantes sont liées aux opérations CRUD : POST (créer), GET (lire), PUT (mettre à jour), et DELETE. La méthode indique à l’API ce que vous voulez faire, et chaque point de terminaison attend une certaine méthode.

Qu’est-ce qu’un en-tête de requête ?

Un autre composant utilisé pour appeler une API est un en-tête de requête. Un en-tête de requête est en réalité un en-tête HTTP. Il fournit des informations supplémentaires sur le contexte de la requête. Par exemple, un en-tête de requête peut indiquer la langue préférée à utiliser pour la réponse. La plupart des API nécessitent également des en-têtes d’authentification, qui fournissent des informations d’authentification au client. Ils sont comme un certificat personnel qui montre que la personne utilisant l’API est légitime et aide à garantir la sécurité des API

Selon la méthode, vous devrez peut-être définir des données supplémentaires dans le corps de la requête. Par exemple, si vous créez quelque chose à l’aide d’une méthode POST, il peut y avoir des champs de données utilisés lors de la création que vous devez renseigner.

Prenons par exemple le cas d’un utilisateur qui s’inscrit pour obtenir un compte de récompenses. L’utilisateur remplit certains champs sur votre site web pour créer son compte. Dans le back-end, une API est appelée, et les informations saisies par l’utilisateur sont utilisées dans le corps de la requête :

{
"first_name": "Kris",
"last_name": "Owner",
"email": "krisowner@email.com",
}

Appel d’une API

Maintenant que vous savez ce qui compose une requête API, comment en appeler une ? Pour tester instantanément une API et voir la réponse, vous pouvez envoyer la requête via curl ou une application telle que Postman.

Par exemple, disons que vous souhaitiez récupérer les détails d’un compte utilisateur spécifique. La réponse peut ressembler à ce qui suit :

HTTP/1.1 200 OK
Content-Type: application/json
{
  "comment": "",
  "created_at": "2020-04-27T19:40:49+00:00",
 "deleted_at": null,
  "customer_id": "x4xCwxxJxGCx123Rx5xTx",
  "first_name": "Kris",
  "last_name": "Owner",
  "email": "krisowner@email.com",
}

La réponse renvoyée dépend de l’API et de la requête que vous avez effectuée. 

Décomposons cela plus en détail. La première ligne contient le statut, qui, dans ce cas, est 200 pour indiquer une réussite. À la ligne suivante, l’en-tête Content-Type indique le format des informations que vous avez demandées, qui, dans ce cas, est JSON. Enfin, le corps de la réponse contient les détails concernant l’utilisateur.

Ici, nous avons démontré l’appel d’une API pour une récupération simple. Vous pourriez probablement obtenir les mêmes informations en vous connectant via l’interface Web de votre application. Le cas d’utilisation le plus probable pour l’appel d’une API consiste à intégrer la requête dans votre application, et à faire quelque chose avec les données que vous recevez dans la réponse.

Comment assurez-vous la sécurité des API ?

En matière de sécurité des API, la sécurité est essentielle. Vous devez protéger vos données sensibles et vous assurer que seules les personnes autorisées peuvent accéder à votre API. En plus des en-tête d’authentification mentionnés ci-dessus, les clés API sont un moyen courant d’authentifier les clients et de garantir que seules les bonnes personnes peuvent y accéder. OAuth (Open autorisation) est une autre option – il s’agit d’un protocole standard qui permet aux utilisateur d’accorder à des application tierces l’accès à leurs ressources sans avoir à partager leurs identifiants de connexion. La limitation du débit du nombre de requête pouvant être traitées dans un délai donné est également importante pour prévenir les abus et assurer le bon fonctionnement de votre API. Le chiffrement HTTPS est indispensable pour sécuriser toutes les communications de votre API en transit et protéger les données sensibles contre tout accès non autorisé.

Pourquoi la documentation API est-elle importante ?

Si vous voulez que les développeurs utilisent efficacement votre API, vous avez besoin d’une documentation claire et complète. C’est comme une feuille de route qui les aide à comprendre comment tirer le meilleur parti de votre API. Votre documentation doit couvrir tous les détails importants, comme les endpoints, les formats de requête et de réponse, les exigences d’authentification, et même fournir quelques extraits de code pour aider les développeurs à démarrer. Il est également judicieux d’inclure des informations sur la gestion des erreurs, les rate limits (limitation du débit), et toutes les bonnes pratiques ou contraintes spécifiques associées à votre API. Une bonne documentation API réduit la courbe d’apprentissage et aide les développeurs à intégrer l’API de manière fluide dans leurs applications, sans difficulté.

Qu’est-ce que le versionnage des API ?

À mesure que votre API se développe et évolue, le versionnage devient un élément crucial du processus. Vous voulez pouvoir ajouter de nouvelles fonctionnalités et apporter des modifications sans rompre les intégrations existantes. Une façon de procéder consiste à inclure le numéro de version directement dans l’URL de l’API, par exemple : /api/v1/resources. De cette façon, il est clair quelle version de l’API est utilisée. Une autre approche consiste à utiliser le versionnage dans l’en-tête de la requête, afin que les clients puissent préciser la version qu’ils souhaitent. L’essentiel est de disposer d’une stratégie de versionnage solide et de veiller à communiquer tout changement aux développeurs. N’oubliez pas de fournir des guides de migration lorsque vous introduisez des changements incompatibles.

Pourquoi avez-vous besoin d’effectuer des tests d’API ?

Tester votre API, c’est comme lui faire passer un contrôle d’état complet. Vous voulez vous assurer qu’elle est fiable, qu’elle offre de bonnes performances, et qu’elle respecte les spécifications requises. Les tests unitaires constituent un excellent point de départ, car ils vous permettent de tester les composants individuels de votre API, et de vous assurer que chaque fonction ou méthode se comporte comme prévu. 

Les tests d’intégration constituent une autre étape importante, qui garantit que les différentes parties de votre API fonctionnent bien ensemble et vous donnent les résultats souhaités. 

Et si vous voulez vraiment pousser votre API dans ses retranchements, vous pouvez également effectuer des tests de charge. Les tests de charge vous aident à trouver les goulots d’étranglement en matière de performances et à vous assurer que votre API peut gérer le volume de trafic attendu. Il existe de nombreux outils et frameworks de test automatisés, comme Postman, SoapUI, et JMeter, qui peuvent faciliter les tests d’API et vous aider à détecter rapidement les problèmes potentiels.

Qu’est-ce que la gestion du cycle de vie des API ?

La gestion de votre API tout au long de son cycle de vie est essentielle à son succès et à sa maintenabilité à long terme. Les API gateway agissent comme des videurs à l’entrée d’un club : ils fournissent un point d’entrée unique pour toutes vos requêtes API et gèrent des tâches essentielles comme l’authentification, la limitation du débit, et le routage des requêtes. 

Le versionnage et les stratégies de dépréciation (abandon d’API) constituent également une grande partie du cycle de vie des API. Lorsque vous lancez une nouvelle version de votre API, assurez-vous de fournir des chemins de migration clairs et d’indiquer aux développeurs quand vous prévoyez de supprimer progressivement les anciennes versions. Et si vous devez un jour abandonner une API, prévenez les développeurs suffisamment à l’avance afin qu’ils puissent mettre à jour leurs intégrations. Un peu de planification et de communication contribue grandement à assurer le bon fonctionnement de votre API, et à éviter toute perturbation majeure pour les utilisateurs.

Comment utiliser l’API Fastly

L’API Fastly est une RESTful API qui fournit un accès à toutes les fonctionnalités disponibles via l’interface Web de Fastly.

En utilisant l’API, vous pouvez travailler avec les objets liés aux services et aux comptes Fastly de la manière qui vous convient le mieux, que ce soit en les intégrant à vos flux de travail existants ou en automatisant des processus souvent répétés ou fastidieux. Par exemple, vous pouvez utiliser l’API d’analyse en temps réel de Fastly pour intégrer l’analytique Fastly à votre tableau de bord d’analyse personnalisé. Ou, vous pouvez choisir de configurer un processus de purge automatisé. Les possibilités ne sont limitées que par votre imagination (et vos compétences en programmation).

Pour en savoir plus sur l’API Fastly, consultez notre documentation de référence de l’API. Mieux encore, l’API Fastly est gratuite avec votre compte Fasly. 

En savoir plus sur la sécurité des API Fastly

En savoir plus

Prêt à commencer ?

Contactez-nous dès aujourd’hui