Qu’est-ce qu’une API ?

Besoin de renseigner une clé API sur l’une de vos applications sans savoir à quoi cela sert, ou simple curiosité ? Vous êtes au bon endroit. Dans cet article, nous allons définir ce qu’est une API, en citer des exemples connus et expliciter en quoi les utiliser améliore l’expérience utilisateur (UX) sur votre site, mais décuple aussi les possibilités de vos développeurs.

Une API, c’est quoi ?

Pour faire simple, une API (Application Programming Interface) est une connexion entre différents systèmes qui permet à ces systèmes d’échanger des données. Ces systèmes sont distincts et peuvent être des bases de données, des sites, des applications, des services…Cela permet donc à plusieurs services de profiter des mêmes données et d’interagir sur ces données. Il s’agit aujourd’hui d’une norme de communication qui remplace progressivement les autres protocoles d’échange de données comme les imports/exports de fichiers sur FTP. Un exemple ? Un site e-commerce qui utilise une solution de paiement totalement intégrée au site le fait probablement en dialoguant avec l’API de la solution de paiement.

Une expérience utilisateur sans rupture

L’utilisation d’API permet donc d’inclure des fonctionnalités d’applications externes – que vous n’avez pas développées – dans votre produit principal. Reprenons l’exemple du site e-commerce, on pourrait lister les fonctionnalités suivantes à inclure :

  • Système de paiement
  • Moteur de recherche performant
  • Gestion des avis clients
  • ChatBot
  • Configurateur de produit
  • Suivi de livraison précis
  • Carte géolocalisée
  • Etc.

Du côté utilisateur, l’utilisation d’une solution tierce ne se voit pas car c’est en fait l’API de cette solution qui est utilisée. Et généralement, la solution tierce va apporter une forte valeur ajoutée à votre produit.

Une compatibilité importante

Une caractéristique notable des API est qu’elles sont utilisables sur un très grand nombre de systèmes différents. Quel que soit votre framework choisi ou votre CMS, que votre développement web soit sur-mesure avec Symfony par exemple ou non, il sera possible de « brancher » une API sur votre système.

REST & SOAP

Il existe 2 grandes catégories d’API : REST et SOAP. En général, on va utiliser soit une API REST (Representational State Transfer), soit une API SOAP (Simple Object Access Protocol), leurs utilisations est différentes mais le principe reste le même : une interface entre 2 sources de données.

API REST

Pour utiliser une API REST, on va utiliser le protocole HTTP. On va donc faire appel à des urls pour faire nos requêtes à l’API. Ce sont généralement les API les plus simples à mettre en place. Les requêtes envoyées étant généralement structurées comme des envois de formulaires d’un site classique. Certaines API REST sont publiques, d’autres nécessitent de s’authentifier pour obtenir, généralement, un token – actif numérique – qui sera ensuite passé à toutes les requêtes faites à l’API.

API SOAP

Le gros point d’une API SOAP, c’est que les requêtes se font en XML, un autre langage de requête, plus lourd à mettre en place que celui d’une API REST. De plus, contrairement à une API REST, un changement sur une API SOAP entraîne généralement un changement du côté des services qui l’utilisent. Comme pour le REST, il est possible d’avoir des API publiques et d’autres avec authentifications.

Ça fait beaucoup de nouvelles notions à apprendre mais ne vous en faites pas. On ne manquera pas de définir chacune d’entre elles en profondeur dans un prochain article. Tout cela doit vous sembler très vague pour le moment. Pourtant, vous utilisez les API tous les jours sans vous en rendre compte. Nous allons vous le montrer dans la suite de cet article.

Donnez-moi votre clé API

Hyper simple. Si l’API est une porte entre 2 systèmes différents, il faut une clé pour ouvrir cette porte. Et cette clé doit être unique pour chaque utilisateur de l’API. Elle sert aussi d’authentification pour contrôler les sites qui ont accès ou non à l’information et le niveau d’utilisation qu’ils peuvent avoir de l’API.

Pour citer un exemple courant, on va prendre Google Map. Ses cartes sont sur presque tous les sites et fonctionnent toutes grâce à une clé API qui vous identifie en tant que client du service Google Map et vous permet d’afficher la jolie carte sur votre site. Accessoirement, cela permet à Google de vous facturer des frais d’usage si vous dépassez un certain plafond d’utilisation.

Pour les utilisateurs de WordPress, il n’est pas rare qu’un module que vous installez gratuitement vous demande une clé API pour fonctionner. C’est typiquement le cas d’un module de solution emailing (MailChimp et consorts). Vous devez donc créer un compte sur le site de la solution concernée, récupérer la clé et la renseigner dans votre back-office WordPress pour activer la fonctionnalité. De la même manière que pour Google Map, la clé API vous identifie en tant que consommateur du service associé et permet de déclencher (ou non) une facturation du service que vous avez installé. Côté utilisateur, la passerelle entre votre WordPress et la solution d’emailing reste totalement transparente.

Vigicorp