Credits: Nadia Randriamanantena

Avant de devenir développeuse informatique, je me suis toujours demandé comment les sites tels que LILIGO, KAYAK ou encore Skyscanner pouvaient me fournir des informations sur des vols de diverses compagnies aériennes alors que c’étaient des sites aucunement affiliés à ces dernières. Est-ce que ce n’est pas considéré comme un vol d’informations ?

J’ai eu ma réponse quand j’ai commencé ma carrière dans le secteur informatique où j’ai découvert que pour récupérer ces informations de vols, les compagnies aériennes mettaient à disposition de ces entreprises (LILIGO etc.) des APIs.

Par définition, une API (Application Programming Interface ou « interface de programmation d’application ») est une interface logicielle qui permet de « connecter » un logiciel ou un service à un autre logiciel ou service afin d’échanger des données et des fonctionnalités (CNIL). En effet, dans l’exemple des applications de vols, tout cela reste transparent pour les utilisateurs lambda quand ils effectuent leur recherche. Ils formulent une requête et ils obtiennent une réponse.

J’ai eu l’occasion, lors de ma dernière mission, de tester des APIs. Le but est de s’assurer que les requêtes (que ce soit pour obtenir, publier, mettre à jour ou supprimer une information) envoyées soient correctement écrites et que les réponses obtenues soit celles attendues.

Ils existent plusieurs outils de tests APIs sur le marché tels que Postman, Rest Assured, Soap UI etc. Pour un débutant, selon mon avis personnel, Postman est un des choix le plus adaptés. En effet, c’est un outil facile à prendre en main avec une interface intuitive et une documentation certes en anglais mais qui est très complète. Nul besoin d’avoir des connaissances en développement informatique pour s’en servir.

Postman possède, selon moi, plusieurs avantages. On peut effectuer des tests pour valider non seulement le bon fonctionnement de son API mais aussi son disfonctionnement en écrivant des tests simulant toutes les possibilités d’erreurs qu’on pourrait avoir. Ces tests, on peut les écrire soi-même ou en utilisant les « snippets » que Postman met à disposition. On trouve par exemple un « snippet » permettant de vérifier que le code de réponse renvoyé à la suite de l’interrogation de l’API est 200 (code signifiant que c’est un succès). Et il en existe d’autres.

Boardroom with solid fillNiveau organisationnel, Postman permet de regrouper les requêtes traitant le même sujet dans ce qu’il appelle une « collection » pour garder un espace de travail organisé, et de ce fait, écrire des tests permettant de tester la collection dans son ensemble.

Niveau fonctionnel, Postman permet d’automatiser le lancement automatique des tests APIs soit en utilisant le « Collection Runner » soit en utilisant « Monitor ». Le « Collection Runner » permet d’exécuter l’ensemble des requêtes dans une collection de façon séquentielle. En effet, les requêtes (et les tests unitaires correspondants) sont lancées les unes après les autres. Le « Monitor » permet de planifier l’exécution des collections à un moment donné et de façon régulière (comme le scheduler de notre Windows) et de recevoir un rapport des résultats des tests. Cela permet de s’assurer que les collections restent toujours fonctionnelles et que les tests sont toujours dans un état de succès.

Il y a encore d’autres fonctionnalités mais je vous laisse le soin de les découvrir en utilisant l’outil Postman ou juste en parcourant leur documentation.