L’antisèche c’est une série d’articles qui synthétise des grandes thématiques produit pour vous éviter d’être à sec en entretiens, réunions, soirées mondaines et rendez-vous galants !
Après l’antisèche #1 sur la dataviz, aujourd’hui, on se concentre sur ce qu’est une API.
Qu’est ce que c’est une API ?
Une API (Application Programming Interface en anglais) est littéralement une interface de programmation d’application.
Il s’agit d’une façade qui permet d’exposer, c’est-à-dire de rendre disponibles des données ou des fonctionnalités d’un programme “fournisseur” / “serveur” pour que d’autres programmes “clients” puissent les “consommer” : les clients font des “appels / calls API” et le fournisseur génère une “réponse” / “payload” à ces clients par l’intermédiaire de cette API.
Deux analogies pour y voir plus clair :
- Le serveur :
- Le serveur du restaurant (l’API)
- prend note des plats et des boissons désirés (la requête)
- par le client (le client)
- communique cette commande en cuisine (le fournisseur)
- et apporte les plats et boissons (la réponse) au client
- La prise électrique :
- La prise électrique (l’API)
- connecte votre lampe de chevet (le client)
- qui requiert une certaine puissance électrique pour fonctionner et éclairer (la requête)
- ainsi que le réseau électrique (le fournisseur)
- avec du courant électrique (la réponse)
Il y a matière à disserter longuement sur le vaste sujet des APIs : les profils les plus techniques et les plus curieux pourront se rendre ultérieurement à la dernière rubrique “Pour aller plus loin”.
Pour commencer, un panorama macro des grandes notions concernant les APIs:
- Types d’architecture d’API – Retenons qu’il en existe plusieurs, dont :
- SOAP
- GraphQL
- REST (Representational State Transfert) qui est la plus utilisée
- Méthodes HTTP – Retenons les 4 principales à savoir :
- GET pour récupérer les données de l’API
- POST pour pousser les données vers l’application de l’API
- PUT pour mettre à jour les données dans l’application de l’API
- DELETE pour supprimer des données dans l’application de l’API
- Points de terminaison d’API (endpoints) – C’est l’emplacement numérique (comprenant l’url du serveur) à partir duquel l’API envoie et reçoit des données
- Les codes réponses – Retenons les catégories qui se classent par centaines :
- 2XX : Pas de problème
- 5XX : Problème du côté du serveur
- 4XX : Problème du côté du client, la fameuse erreur 404 notamment
- 3XX : La ressource demandée a été déplacée
- En-têtes d’API (Headers) – Présents à la fois dans la requête et la réponse, ces headers sont des informations additionnelles obligatoires ou facultatives selon les cas comme des mots de passe, des dates…
- Authentification – Les API peuvent être publiques (accessibles à tous, sans authentification) ou privées (accessibles pour certains utilisateurs détenant une clé ou un token)
- La documentation API – Elle indique les infos clés pour une bonne utilisation de l’API, dont :
- Les instructions d’authentification – Infos pour se connecter à l’API
- Les endpoints API – Liste des endpoints disponibles
- Les ressources – Types de données disponibles
- Le format de requête – Règles de formatage des requêtes
- Le format de réponse – Règles de formatage des réponses
- Les codes réponses – Liste des codes réponses utilisés
Une API, en quoi est-ce utile ?
Une API présente plusieurs avantages parmi lesquels :
- Efficacité : Elle permet de réutiliser du code existant, ce qui réduit le temps et les coûts de développement. On évite de repartir de zéro, on ne réinvente pas la roue, on recycle, on réemploie.
- Interopérabilité : Elle permet à différentes applications et services de fonctionner ensemble, même s’ils sont développés avec des technologies différentes. C’est un pivot, un serveur multilingue pour reprendre l’analogie du restaurant.
- Organisation : Elle permet d’organiser le code en séparant les différentes fonctionnalités d’une application, pour la rendre plus modulable et plus facile à maintenir.
- Innovation : Intégrer une API externe dans son produit peut ouvrir de nouvelles perspectives.
- Simplicité : Les APIs exposent des données et des fonctionnalités de manière épurée en occultant tous les détails de son fonctionnement. Le client au restaurant n’a pas besoin de connaître en détail ce qui se passe en cuisine.
- Business : Certaines APIs permettent de générer des revenus avec des clients payant pour leur utilisation.
- Sécurité : Elle peut servir de tampon, de couche intermédiaire entre le client et le fournisseur. Typiquement, il est préférable d’avoir une API pour mettre à jour le contenu des bases de données au lieu de les modifier directement avec des requêtes SQL par exemple.
Comment procéder ?
Deux cas de figures peuvent se présenter dans votre quotidien de PM :
- Vous pouvez utiliser une API qui existe déjà pour compléter votre produit : l’API de Google Maps vous permet d’intégrer une fonctionnalité de cartographie dans votre produit par exemple.
- Vous pouvez concevoir une API pour vos clients : l’API Twilio est un produit à part entière commercialisé à des entreprises souhaitant envoyer des messages texte à leurs clients en fonction de leurs actions par exemple.
Dans tous les cas, Postman est votre ami pour jouer avec ces APIs ! C’est un outil simple d’utilisation pour manipuler et requêter des APIs. Si vous débutez, vous pouvez jeter un coup d’œil aux ressources présentes sur le site https://learning.postman.com/.
Quelques exemples
Vous avez besoin d’inspiration pour mettre le pied à l’étrier ?
Le site https://github.com/public-apis/public-apis est particulièrement riche et recense un nombre conséquent d’API publiques que vous pouvez explorer et tester pour étancher votre curiosité personnelle ou pour assaisonner le produit sur lequel vous travaillez en tant que PM.
Beaucoup de secteurs et de cas d’usages sont couverts, certains sont plutôt légers et divertissants, d’autres plus sérieux : libre à vous d’explorer en fonction de vos besoins en tant que PM. Visiblement les catégories les plus populaires référencées sur ce site sont :
- Animals
- Anime
- Art & Design
- Authentication & Authorization
- Blockchain
- Business
- Currency Exchange
- Social
Voici 3 exemples d’APIs mises en avant sur le site :
- https://ipstack.com/ qui vous permet d’identifier et géolocaliser les internautes visitant votre site en fonction de leur adresse IP
- https://fixer.io/ qui vous permet de convertir des unités monétaires avec des taux de changes actuels et passés
- https://numverify.com/ qui vous permet de vérifier si un numéro de téléphone est valide ou non pour pouvoir par exemple garder votre CRM d’aplomb
Une mise en situation
Sur le site https://apilist.fun/ sont recensées des APIs, prenons l’une d’entre elles permettant de manipuler des données sur les films : http://www.omdbapi.com/.
Voici les quelques étapes :
- Installer Postman
- Renseigner quelques informations personnelles pour obtenir une clé API ici : http://www.omdbapi.com/apikey.aspx (pour un usage raisonnable < 1000 appels quotidiens)
- Se rendre dans la boîte email renseignée précédemment et activer la clé API grâce au lien référencé dans le mail
- Copier l’appel OMDb API référencé dans ce même mail
- Se rendre dans Postman
- Cliquer sur le bouton New en haut à gauche sur Postman puis sur HTTP
- Coller l’appel précédemment copié dans l’encart de requête puis cliquer sur Send
- Obtenir la réponse JSON de cette requête, comme illustrée sur l’image ci-dessous (la clé API a été floutée)
Cette première requête nous permet de voir d’une part qu’il n’y a pas de problème technique particulier quant à l’utilisation de cette API et d’autre part permet de voir les données que l’on obtient dans la réponse en l’occurrence : titre, date de sortie, durée, genre, réalisateur, notes, affiche, langue…
La documentation de cette API http://www.omdbapi.com/ est utile pour comprendre comment l’exploiter. Voici 2 exemples de requêtes :
- La première où l’on cherche les films dont les titres contiennent “terminator”. Il y en a étonnamment beaucoup : 110, comme indiqué dans le champ “totalResults” (encadré vert sur l’image ci-dessous)
- La deuxième où l’on cherche les films dont les titres contiennent “terminator” et qui sont sortis en 1984 : on retrouve le fameux premier Terminator de James Cameron avec des informations intéressantes notamment l’affiche du film (encadré vert sur l’image ci-dessous) !
Au passage, un documentaire montrant les coulisses de la réalisation de ce produit avant-gardiste est particulièrement inspirant https://youtu.be/2_NgftZv8E0 !
Pour aller plus loin
Le champ des possibles des APIs est immense qu’il s’agisse d’utiliser des APIs existantes, d’en créer des nouvelles, ou d’en combiner. Ces APIs sont incontournables dans les métiers du produit et nous espérons que cette antisèche vous donne envie d’explorer davantage.
Voici quelques pistes pour aller plus loin :
- Les APIs pour débutants
- Votre API web passe-t-elle les 50 points du contrôle technique ? (Francois-Guillaume Ribreau)
- https://www.ibm.com/fr-fr/topics/api
- https://www.lemondeinformatique.fr/actualites/lire-tout-savoir-sur-les-api-92558.html
- https://medium.com/transparent-data-eng/short-history-of-api-from-cabinet-to-big-boom-894c56b2c332
- https://medium.com/swlh/a-product-managers-guide-to-apis-c5fffff0e5e0
- https://bootcamp.uxdesign.cc/apis-a-breakdown-for-non-technical-product-managers-6c3d7051107d
- https://read.technically.dev/p/whats-an-api
- https://www.departmentofproduct.com/blog/apis-explained-for-product-managers/
A vous de jouer !
Cet article vous a plu ? Allez vite découvrir le premier épisode de l’antisèche sur la datavisualisation!