Postman : quelles alternatives ?
Article
Tech
Vous n’avez peut-être pas suivi, mais la politique de données de Postman a lentement mais sûrement dérivé jusqu’au point où, aujourd’hui à Amiltone, nous refusons de l’utiliser. Or, Postman est un outil assez incontournable pour les développeurs API et les QA. Quelles alternatives avons-nous trouvées à Amiltone ? C’est le sujet de cet article !
Postman n’est plus chez Amiltone… quelles alternatives et pourquoi ce changement ? Réponse ci-dessous 👇
TLDR (Too long didn’t reed)
Parce que je suis le premier à rouspéter contre ces articles qui posent une question ligne 1, promettent une réponse ligne 2 et y répondent (parfois) à la dernière ligne, voici notre solution en bref :
Utilisez Bruno
➡️ Accédez à BrunoSinon, utilisez Hoppscotch
➡️ Accédez à HoppscotchUtilisez Insomnia s’il vous convient en s’assurant de le configurer avec le Local Vault
➡️ Accédez à InsomniaUtilisez HTTPie si sa simplicité et son manque de features ne vous bloquent pas
➡️ Accédez à HTTPie
Postman, c’est quoi ?
Si vous n'êtes pas familier avec Postman, il s’agit d’un outil permettant de requêter une API avec une interface graphique sans passer par le front (web ou application iOS/Android). C’est un outil nécessaire en tant que développeur API pour pouvoir tester correctement son API avant de la mettre en ligne au service d’un front. Il s’agit également d’un outil précieux pour les QA un peu techniques, leur permettant ainsi de qualifier un bug avec plus de précision en vérifiant séparément le comportement du front et du back.
Ce genre d’outil, en plus de pouvoir juste et simplement requêter une API, offre des fonctionnalités nécessaires quand on travaille quotidiennement avec ces besoins : collections de requêtes, variables d’environnements, tests automatisés après les requêtes, exécutions de scripts avant les requêtes, configuration de l’authentification (jwt, OAuth 2.0) au niveau de la collection, etc.
Postman a depuis longtemps des concurrents mais il est vrai que c’est de loin celui qui offre le plus de fonctionnalités, jusqu'à maintenant sans inconvénients et de manière gratuite. Que demander de plus alors ? Eh bien que cela reste ainsi. Mais bien sûr, vous avez lu le début de l’article, ce n’est pas le cas. Mais quel est le problème alors ?
Le problème avec Postman
Depuis peu, Postman ne permet plus d'être utilisé sans compte. Bon, si vous êtes comme moi et que créer un compte sur tous les outils que vous devez utiliser vous agace, c’est déjà un problème, mais pas au point d’arrêter d’utiliser cette solution. Le vrai problème commence maintenant que vous avez un compte.
Vous ne pouvez pas utiliser Postman sans que cela synchronise automatiquement vos données (collections, environnements avec les valeurs des variables, scripts, etc.) sur leurs serveurs. Pratique pour ne pas risquer de perdre son travail et pour retrouver facilement toutes ses données en cas de réinstallation. Et très pratique pour partager ses collections en mode collaboratif sans devoir exporter et importer les collections et environnements à chaque changement. Oui, c’est vrai. Mais ! Vous n’avez pas le choix.
Le SI de votre entreprises n’est peut-être pas très d’accord pour qu’autant de travail, de données, parfois sensibles (on parle ici potentiellement d’adresse IP des machines hébergeant les API, des mots de passe nécessaires à la configuration ou l’utilisation d’API comme une API Key par exemple, etc.) soient stockés en dehors de l’entreprise. Et c’est là que Postman enfonce le clou.
Les données sont stockées aux États-Unis uniquement, pas de serveur en Europe. Et pire encore ! Des fuites récentes ont affirmé que Postman stockait toutes les données claires dans leurs bases de données. Ce qui n’est pas idéal niveau sécurité !
Mais alors que faire ? Eh bien il faut changer d’outil. Voyons ensemble les alternatives aux noms aussi divers que variés.
Postman : les alternatives
Au revoir Postman, bonjour…. ?
Bruno
Bruno est une alternative open-source robuste qui propose toutes les fonctionnalités dont les imports depuis Postman par exemple, la configuration de l’authentification (dont l’O-Auth 2) au niveau des collections et un stockage local uniquement (pas de problème de cloud !). Il propose même des notions avancées comme les assertions, les pre-request scripts, post-request scripts et les variables de collections.
Hoppscotch
Hoppscotch est un outil open-source. C’est une bonne option qui dispose d’une version web online ainsi que d’une extension pour Chrome et pour Firefox.
Par défaut (notamment si vous ne créez pas de compte), les données sont stockées localement et vous pouvez importer/exporter vos collections, y compris depuis postman !
Insomnia
Insomnia est un outil puissant et complet. Il propose quelques options uniques comme un paramétrage fin du HTTP utilisé par exemple. Il dispose d’une extension Chrome.
On peut stocker en local les données dans ce qu’Insomnia appelle le Local Vault. Cependant, cette fonctionnalité a été supprimée puis remise au cours de ces derniers mois. Cela jette donc un flou sur la politique de Kong, l’éditeur derrière Insomnia, quant au futur de cette possibilité et, plus globalement, aux licences d’utilisation des produits Kong.
HTTPie
C’est un outil simple qui se veut plus léger et moins complexe mais également avec moins de fonctionnalités.
ARC
Advanced REST Client est un outil avec une interface qui mériterait d’être un peu revue et qui manque de quelques fonctionnalités mais qui est gratuit, open-source, et qui propose une extension Chrome et des fonctionnalités que d’autres peinent à proposer (désactivation de la synchronisation Cloud, configuration de HTTP, scripts avancés, etc.).
RapidAPI
RapidAPI est un outil exclusivement pour Mac. La plupart des autres outils proposent également des versions pour Mac ou proposent des versions online, ce qui peut limiter l’intérêt d’un outil Mac exclusif.
Milkman
Il propose des plugins intéressants pour du test comme SQL/JDBC mais son installation/manipulation peut être un peu laborieuse.
Thunder Client
Thunder Client est une extension VS Code qui fournit les fonctionnalités attendues gratuitement. Les configurations les plus avancées sont bloquées derrière un abonnement Premium mais rien de nécessaire pour la majorité de nos usages chez Amiltone. Les données sont stockées par défaut en local. De l’import et de l’export sont disponibles, ainsi que de la synchronisation Git.
S’il a l’inconvénient de nécessiter l’installation de VS Code, IDE pour développeur à la base, il reste facile à prendre en main et l’intégralité du reste de VS Code peut être facilement ignorée si on veut utiliser uniquement Thunder Client.
Notre choix : Bruno
Si nous avons choisi Thunder Client, la raison est en réalité toute simple, c’est le seul outil à proposer gratuitement toutes les fonctionnalités qui nous semblent nécessaires :
Si nous avons choisi Bruno, la raison est en réalité toute simple, c’est le seul outil à proposer gratuitement toutes les fonctionnalités qui nous semblent nécessaires :
collections et environnements
stockage en local uniquement
import et export de collections et d’environnements
configuration de l’authentification au niveau de la collection
Il a même des fonctionnalités avancées qui peuvent servir aux développeurs mais aussi aux QA (comme les assertions) !.
Gérer la passation avec Postman
Heureusement pour nous, et pour vous, presque tous les outils qui proposent à la fois un système de collections et d’environnements, et un système d’import et d’export proposent d’importer vos données depuis des exports Postman directement. Passer d’un outil à un autre est donc plutôt aisé une fois la prise en main effectuée.
De plus, Bruno possède un outil permettant d’essayer de transformer au mieux tous vos scripts Postman dans leurs équivalents Bruno ! C’est très intéressant car la plupart du temps, les scripts (pre-request, post-request) sont purement et simplement ignorés des exports/imports.
Postman et Bruno, conclusion !
Chez Amiltone, nous sommes passés à Bruno ! Il n’est pas impossible que Postman ajoute un jour la possibilité de ne pas synchroniser ses données avec leurs serveurs, donc l’affaire reste à suivre.
En espérant vous avoir aidé à y voir plus clair et à faire votre choix si, comme nous, vous avez décidé de changer d’outil.
Retrouvez d'autres conseils Tech' et IT sur notre Tech' Place !