{"id":3293,"date":"2023-09-16T16:02:00","date_gmt":"2023-09-16T14:02:00","guid":{"rendered":"https:\/\/jagullo.fr\/blog\/?p=3293"},"modified":"2023-03-11T07:00:54","modified_gmt":"2023-03-11T06:00:54","slug":"postman-la-plateforme-pour-tester-une-web-api","status":"publish","type":"post","link":"https:\/\/jagullo.fr\/blog\/postman-la-plateforme-pour-tester-une-web-api\/","title":{"rendered":"Postman la plateforme pour tester une web API"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pr\u00e9sentation de Postman<\/h2>\n\n\n\n<p>Cr\u00e9e en 2012 comme un plugin de navigateur dans le but de faciliter les processus de tests d&rsquo;une API, <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Postman<\/a> s&rsquo;est impos\u00e9 comme une plateforme de r\u00e9f\u00e9rence. Disponible via une interface web ou un client, ce logiciel est un incontournable dans <strong>le d\u00e9veloppement d&rsquo;une API<\/strong> pour son site ou son application. Il est utilisable gratuitement, mais propose des offres payantes avec de nombreuses fonctionnalit\u00e9s et int\u00e9grations. On peut r\u00e9aliser une documentation de son API et la partager en ligne pour les autres utilisateurs. Ainsi on peut retrouver des collections d&rsquo;APIs de services tr\u00e8s connus comme Slack, Microsoft Graph, Notion qui sont faites par ces entreprises ou des utilisateurs de la plateforme.<\/p>\n\n\n\n<p>Postman propose la cr\u00e9ation <strong>d&rsquo;un environnement de test<\/strong> pour cr\u00e9er des variables \u00e0 utiliser dans les requ\u00eates. Ceci est tr\u00e8s pratique pour pr\u00e9enregistrer le nom d&rsquo;utilisateur, l&rsquo;id secret, un JSON ou un mot de passe qui sera appel\u00e9 dans plusieurs requ\u00eates. On peut aussi monitorer des tests dans le temps pour v\u00e9rifier les performances de son serveur et les surcharges. Enfin la partie d&rsquo;identification aupr\u00e8s d&rsquo;un serveur est assez pouss\u00e9e avec de nombreux types de connexions pris en charge (Basic Auth, Bearer Token, OAuth, etc.). Pour utiliser la web application, il est recommand\u00e9 d&rsquo;installer <a href=\"https:\/\/www.postman.com\/downloads\/postman-agent\/\" target=\"_blank\" rel=\"noreferrer noopener\">l&rsquo;agent Postman<\/a> qui permet de contourner les limitations des navigateurs sur le cross-origin. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/illustration_tester-api-postman.jpg\" alt=\"Plateforme de test pour le d\u00e9veloppement d'API\" class=\"wp-image-3624\" width=\"720\" height=\"480\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/illustration_tester-api-postman.jpg 960w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/illustration_tester-api-postman-300x200.jpg 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/illustration_tester-api-postman-768x512.jpg 768w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><figcaption class=\"wp-element-caption\">Plateforme de test pour le d\u00e9veloppement d&rsquo;API<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">La tableau de bord<\/h2>\n\n\n\n<p>Apr\u00e8s avoir cr\u00e9\u00e9 un compte, on arrive sur le tableau de bord qui est assez simple et clair. Il r\u00e9sume son activit\u00e9, les derniers workspaces visit\u00e9s, les derni\u00e8res collections mises \u00e0 jour, etc. Pour revenir sur le tableau de bord il faut cliquer sur <strong>Home<\/strong> \u00e0 gauche dans le menu de navigation. L&rsquo;onglet Workspaces regroupe tous les espaces de travail de son compte. Un workspace est un ensemble de collections, d&rsquo;APIs, de variables d&rsquo;environnement, etc. que l&rsquo;on peut utiliser pour un ou plusieurs projets et qu&rsquo;il est possible de partager.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1-1024x535.png\" alt=\"Le tableau de bord de Postman web application est simple et clair\" class=\"wp-image-3517\" width=\"768\" height=\"401\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1-1024x535.png 1024w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1-300x157.png 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1-768x401.png 768w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1-1080x564.png 1080w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-1.png 1439w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Tableau de bord de Postman web application<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Configurer un workspace<\/h2>\n\n\n\n<p>En cr\u00e9ant un <strong>workspace<\/strong>, il faut d\u00e9finir un nom, une description et la visibilit\u00e9. Les modes <strong>Priv\u00e9<\/strong> et <strong>Partenaire<\/strong> sont r\u00e9serv\u00e9s aux offres payantes. Le mode <strong>Public<\/strong> permet de partager les informations avec tous les utilisateurs de Postman. Choisir un mode de visibilit\u00e9 <strong>Personnel<\/strong> pour commencer et s&rsquo;il est n\u00e9cessaire de collaborer avec d&rsquo;autres utilisateurs, il est possible de changer le mode en le passant plus tard en <strong>\u00c9quipe<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-2.png\" alt=\"Cr\u00e9ation d'un workspace\" class=\"wp-image-3530\" width=\"415\" height=\"428\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-2.png 553w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-2-291x300.png 291w\" sizes=\"(max-width: 415px) 100vw, 415px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9er un workspace en d\u00e9finissant le mode de visibilit\u00e9 ad\u00e9quat<\/figcaption><\/figure>\n\n\n\n<p>Une fois l&rsquo;espace de travail cr\u00e9\u00e9, nous arrivons sur son espace d\u00e9di\u00e9. \u00c0 gauche nous retrouvons les collections, les APIs, les variables et les autres \u00e9l\u00e9ments qui sont enregistr\u00e9s dans ce workspace. Et \u00e0 droite, via le syst\u00e8me d&rsquo;onglet, est accessible l&rsquo;interface de requ\u00eate de Postman. L&rsquo;onglet actif est <strong>Overview<\/strong> qui pr\u00e9sente un r\u00e9sum\u00e9 de l&rsquo;espace de travail actuellement ouvert. Il est possible de fermer l&rsquo;onglet pour avoir une interface vide.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3-1024x537.png\" alt=\"\" class=\"wp-image-3537\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3-1024x537.png 1024w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3-300x157.png 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3-768x402.png 768w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3-1080x566.png 1080w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-3.png 1439w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">L&rsquo;interface des requ\u00eates de Postman dans un espace de travail<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Faire une requ\u00eate vers une API<\/h2>\n\n\n\n<p>Pour tester une requ\u00eate dans Postman, nous allons utiliser une API en acc\u00e8s libre qui est celle de la base de donn\u00e9es des entreprises propos\u00e9e par le gouvernement. L&rsquo;adresse de l&rsquo;API est <strong>https:\/\/recherche-entreprises.api.gouv.fr<\/strong> et le endpoint pour rechercher est <strong>search<\/strong>. Dans Postman au niveau de la zone de gauche se rendre dans environnements puis cliquer sur +, cela ouvre un nouvel onglet pour renseigner les variables que l&rsquo;on souhaite utiliser dans cet environnement. Indiquer un nom \u00e0 l&rsquo;environnement et renseigner la variable url avec la valeur https:\/\/recherche-entreprises.api.gouv.fr\/search qui contient le endpoint pour communiquer avec l&rsquo;API.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6-1024x535.png\" alt=\"Mettre en place un environnement de test\" class=\"wp-image-3566\" width=\"768\" height=\"401\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6-1024x535.png 1024w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6-300x157.png 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6-768x401.png 768w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6-1080x564.png 1080w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-6.png 1439w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Mettre en place un environnement de test<\/figcaption><\/figure>\n\n\n\n<p>Ensuite, ouvrir un nouvel onglet et s\u00e9lectionner l&rsquo;environnement pr\u00e9c\u00e9demment cr\u00e9\u00e9 en haut \u00e0 droite de l&rsquo;interface. Cela va permettre d&rsquo;utiliser ces informations dans plusieurs requ\u00eates afin de rechercher des entreprises de diff\u00e9rentes fa\u00e7ons puis d&rsquo;enregistrer les requ\u00eates. Indiquer au niveau de l&rsquo;URL la variable utilis\u00e9e en mettant <strong>{{url}}<\/strong> puis dans Params indiquer la cl\u00e9 q avec comme valeur La+Poste par exemple. Automatiquement l&rsquo;URL va se renseigner avec les bons param\u00e8tres. <\/p>\n\n\n\n<p>\u00c0 gauche de la barre de l&rsquo;URL, on peut d\u00e9finir la m\u00e9thode (GET, POST, PUT, etc.). Les exemples de cet article se focalisent sur la m\u00e9thode GET classique qui permet de r\u00e9cup\u00e9rer les r\u00e9sultats. Une fois la requ\u00eate pr\u00eate \u00e0 \u00eatre envoy\u00e9e, il suffit de cliquer sur le bouton Send et la r\u00e9ponse s&rsquo;affichera dans la zone r\u00e9ponse un peu plus bas dans l&rsquo;interface. Le petit cercle orange dans l&rsquo;onglet juste \u00e0 c\u00f4t\u00e9 du nom indique que la requ\u00eate n&rsquo;est pas enregistr\u00e9e.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-5-1024x660.png\" alt=\"\" class=\"wp-image-3590\" width=\"768\" height=\"495\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-5-1024x660.png 1024w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-5-300x193.png 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-5-768x495.png 768w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-5.png 1058w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Tester une API avec la m\u00e9thode GET<\/figcaption><\/figure>\n\n\n\n<p>Dans la zone des r\u00e9sultats, Postman affiche directement la sortie au bon format suivant le header. Dans cette r\u00e9ponse nous pouvons visualiser toutes les entreprises dont le nom commercial est <strong>La Poste<\/strong> avec diff\u00e9rentes informations. Tout en bas du JSON, on trouve le nombre de r\u00e9sultats que nous renvoie l&rsquo;API ainsi que la page courante et le nombre de pages.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cr\u00e9er une collection<\/h2>\n\n\n\n<p>Pour sauvegarder la requ\u00eate, il suffit de cliquer sur le bouton <strong>Save<\/strong> en haut \u00e0 droite. Il faut indiquer un nom puis choisir une collection ou en cr\u00e9er une nouvelle afin de regrouper les requ\u00eates. On peut cr\u00e9er la collection <strong>API Entreprise<\/strong> qui contiendra les diff\u00e9rentes requ\u00eates propos\u00e9es dans cet article.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image.png\" alt=\"Cr\u00e9er un collection de requ\u00eates pour tester rapidement une API\" class=\"wp-image-3595\" width=\"479\" height=\"497\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image.png 638w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-289x300.png 289w\" sizes=\"(max-width: 479px) 100vw, 479px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9er un collection de requ\u00eates pour tester rapidement une API<\/figcaption><\/figure>\n\n\n\n<p>Apr\u00e8s avoir sauvegard\u00e9 la requ\u00eate, nous allons en cr\u00e9er une nouvelle pour rechercher les entreprises dans le secteur de la programmation informatique du d\u00e9partement des Hautes-Pyr\u00e9n\u00e9es. Le num\u00e9ro du d\u00e9partement est le 65 et le code NAF \u00e0 rechercher est 62.01Z. Pour cela on cr\u00e9\u00e9 un nouvel onglet avec toujours dans l&rsquo;URL la variable <strong>{{url}}<\/strong> puis on indique dans Params les cl\u00e9s <strong>departement<\/strong> et <strong>activite_principale<\/strong> avec les valeurs que l&rsquo;on souhaite.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4-1024x534.png\" alt=\"Recherche une entreprise par code NAF et par d\u00e9partement\" class=\"wp-image-3610\" width=\"768\" height=\"401\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4-1024x534.png 1024w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4-300x157.png 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4-768x401.png 768w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4-1080x564.png 1080w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2023\/03\/image-4.png 1439w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Recherche une entreprise par code NAF et par d\u00e9partement<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Une plateforme de qualit\u00e9<\/h2>\n\n\n\n<p>Postman est un excellent outil qui est <strong>facile \u00e0 prendre en main<\/strong> pour tester une API durant la phase de d\u00e9veloppement. La version gratuite permet de r\u00e9aliser de simples tests et propose d&rsquo;explorer les diff\u00e9rentes collections. Sans un tel outil, nous devons faire les tests manuellement avec curl en codant des fonctions ce qui prend bien plus de temps. La version gratuite est limit\u00e9e \u00e0 3 utilisateurs pour les espaces de travail en \u00e9quipe au-del\u00e0 il faut passer sur une offre payante proposant plus de fonctionnalit\u00e9s et des int\u00e9grations vers diff\u00e9rentes plateformes.<\/p>\n<div class=\"list-tags\"><a href=\"https:\/\/jagullo.fr\/blog\/tag\/javascript\/\" class=\"link-tag\" title=\"JavaScript\">JavaScript<\/a><a href=\"https:\/\/jagullo.fr\/blog\/tag\/php\/\" class=\"link-tag\" title=\"PHP\">PHP<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation de Postman Cr\u00e9e en 2012 comme un plugin de navigateur dans le but de faciliter les processus de tests d&rsquo;une API, Postman s&rsquo;est impos\u00e9 comme une plateforme de r\u00e9f\u00e9rence. Disponible via une interface web ou un client, ce logiciel est un incontournable dans le d\u00e9veloppement d&rsquo;une API pour son site ou son application. Il [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3624,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[9],"tags":[33,27],"class_list":["post-3293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-outils-et-technos","tag-javascript","tag-php","et-has-post-format-content","et_post_format-et-post-format-standard"],"_links":{"self":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/3293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/comments?post=3293"}],"version-history":[{"count":2,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/3293\/revisions"}],"predecessor-version":[{"id":3629,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/3293\/revisions\/3629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/media\/3624"}],"wp:attachment":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/media?parent=3293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/categories?post=3293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/tags?post=3293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}