Qu’est-ce qu’une API web ?
Une API (Application Programming Interface), ou interface de programmation d’application, c’est une sorte de “couche intermédiaire” entre une application et un serveur web. Elle va traiter le transfert des données entre ces deux systèmes. Elle permet de connecter un logiciel ou un service à un autre logiciel ou service.
Il ne faut pas confondre une API avec :
- Un logiciel : celui-ci peut se présenter comme une API pour faciliter l’utilisation de celle-ci ;
- Une interface utilisateur : une API peut s’exécuter sur une interface utilisateur ;
- Un serveur : Il héberge des API qui fournissent des données et des fonctions, qui sont mises à disposition par ce serveur.
Pour imager ce qu’est une API, on peut dire que le serveur c’est l’électricité, l’API, la prise, et l’application, l’appareil que l’on branche sur cette prise.
Pour mieux comprendre, abordons quelques exemples concrets d’API web, voyons comment elles sont mises en place, et comment on peut gagner du temps en connectant des services grâce à un service du nom de Zapier.
I- Une API, qu’est ce que c’est concrètement ?
Lorsqu’un site ou une application web a besoin d’une map pour indiquer sa localisation, les développeurs ne vont pas recoder un service complet avec une carte cliquable. Les internautes ont l’habitude d’utiliser Google Map.
Google met donc à disposition une API pour connecter votre app à son service. Cette API permet de personnaliser la carte de Google Map et d’indiquer l’endroit précis de votre entreprise par exemple, et de personnaliser le design de la map.
C’est par exemple ce qu’a fait Airbnb :
L’application a utilisé la carte de Google Maps et l’a personnalisé avec des marqueurs qui montrent l’emplacement des logements proposés par le service, et leur prix.
Une entreprise comme Twitter utilise également des API. La search API de Twitter permet par exemple de récupérer seulement certains tweets avec un hashtag particulier. On peut ainsi trier plus facilement les sujets que l’on souhaite consulter.
On peut imaginer qu’une entreprise peut vérifier si on parle d’elle dans beaucoup de tweets, et inspecter ce qui se dit sur elle sur la plateforme en faisant une extraction de tous ces tweets.
Autre exemple, YouTube a une API qui permet l’intégration de ses vidéos sur d’autres sites. Grâce à cela, les internautes restent sur le site en question et peuvent accéder à l’information donnée dans une vidéo YouTube. Cette API est gratuite. C’est gagnant-gagnant : pour le site, car l’utilisateur reste dessus, et pour YouTube, car la vidéo a davantage de vues et les annonceurs continuent de payer la plateforme pour que leurs produits soient découverts par un maximum de personnes.
Il existe toutefois des API payantes, moins connues du grand public : Twillio est une API de messagerie. Elle permet à des services d’envoyer des rappels par SMS aux utilisateurs, de façon automatique. Par exemple, Uber utilise cette API : l’entreprise track la voiture commandée et demande à Twillio l’envoie d’un message à l’utilisateur lorsque le véhicule se situe à moins d’une minute de son domicile.
II- Une API, est-ce facile à mettre en place ?
Pour lier une API à une application, il faut “appeler cette API”. C’est-à-dire, lui envoyer une requête.
Cette requête est en HTTP : une requête HTTP va préciser les actions à réaliser grâce à des méthodes, les verbes HTTP. Les plus utilisés sont :
GET : pour récupérer une ressource ;
POST : pour créer une nouvelle ressource ;
PUT : pour modifier / mettre à jour une ressource qui existe ;
PATCH :pour modifier des ressources ;
DELETE : pour supprimer une ressource.
En fonction de ce qu’on lui demande, l’API va aller interroger le serveur qui va aller chercher les informations demandées, et l’API va renvoyer l’information dans un autre langage : le JSON.
On peut demander différentes choses à un serveur. Dans le cas d’une map, on demande la latitude et la longitude d’un endroit. Dans le cas des formulaires, on peut demander le nom du client, le message à afficher. La date et les informations sur le temps pour une app météo peuvent aussi être communiquées :
III- Zapier, une solution pour automatiser la connexion aux API
Aujourd’hui, il existe des services qui permettent d’appeler des API sans coder quoi que ce soit. Zapier ou Integromate, ce sont des connecteurs qui aident à automatiser les tâches répétitives dans une application. Si ces tâches peuvent être réalisées par un ordinateur, des API sont créées et votre service peut être connecté à un autre : cette automatisation peut être un réel atout et vous faire gagner du temps.
IV- Et un webhook, qu’est-ce que c’est et à quoi ça sert ?
Le webhook, c’est l’inverse d’une API. Une API, il faut l’appeler en continu pour mettre un service à jour, tandis que le webhook, c’est une fonction de rappel en HTTP, définie par l’utilisateur. Il récupère et stocke les données après un événement.
Par exemple, un journal en ligne a tout intérêt à utiliser les webhooks pour que les nouvelles se mettent à jour. Sinon il faudrait toujours interroger le serveur en permanence pour obtenir les nouveaux événements. Cela gaspillerait inutilement de la bande passante, et cela nécessiterait beaucoup de serveurs pour que tout fonctionne correctement.
En conclusion, utiliser une API pour votre app, cela sert à :
- Permettre à deux services/produits de communiquer ;
- Vous faire gagner du temps et de l’argent ;
- Vous offrir de la flexibilité et simplifier la conception et l'innovation pour votre app ;
- Vous permettre de rester compétitif et vous concentrer sur le service de base que vous voulez proposer, sans vous éparpiller.