{"id":905,"date":"2021-07-22T17:30:19","date_gmt":"2021-07-22T16:30:19","guid":{"rendered":"https:\/\/louis.hatier.me\/blog\/?p=905"},"modified":"2021-07-22T17:30:20","modified_gmt":"2021-07-22T16:30:20","slug":"gatling-logiciel-de-test-de-performance","status":"publish","type":"post","link":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/","title":{"rendered":"Gatling : logiciel de test de performance"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignleft size-medium is-resized\"><a href=\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png\" data-rel=\"lightbox-gallery-K3ZiWnSX\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img decoding=\"async\" src=\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png\" alt=\"Logo Gatling\" class=\"wp-image-907\" width=\"250\" srcset=\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png 300w, https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/figure><\/div>\n\n\n\n<p><a href=\"https:\/\/gatling.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gatling<\/a> est un logiciel qui permet de tester la <strong>charge<\/strong> et les <strong>performances<\/strong> d\u2019un site ou d\u2019une application web.<\/p>\n\n\n\n<p>Il inclut un outil de <strong>test de charge<\/strong>, un <strong>g\u00e9n\u00e9rateur<\/strong> de rapport au format HTML, et un <strong>enregistreur<\/strong> de simulation.<\/p>\n\n\n\n<p>Gatling va lancer des <em>simulations<\/em>, qui vont contenir un ou plusieurs <em>sc\u00e9narios<\/em>.<\/p>\n\n\n\n<p>Ces sc\u00e9narios sont compos\u00e9s de <em>requ\u00eates<\/em> \u00e0 ex\u00e9cuter.<\/p>\n\n\n\n<p>Des utilisateurs fictifs sont ensuite inject\u00e9s au sc\u00e9nario pour simuler une charge et\/ou un timing donn\u00e9 (exemple : 10 utilisateurs pendant 30 secondes).<\/p>\n\n\n\n<p>Pour \u00e9tablir ces <strong>simulations<\/strong> Gatling propose deux solutions :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>utiliser le <strong>recorder<\/strong><\/li><li><strong>coder<\/strong> soi-m\u00eame les classes en <a href=\"https:\/\/www.scala-lang.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scala<\/a><\/li><\/ul>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Utiliser le recorder<\/h2>\n\n\n\n<p>Gatling met \u00e0 disposition un recorder (fichier <code>bin\/recorder.sh<\/code>), qui une fois lanc\u00e9 va <strong>capturer<\/strong> les requ\u00eates HTTP qui transitent.<\/p>\n\n\n\n<p>Pour \u00e7a il faut configurer son navigateur, ou Postman (ou autre) en indiquant le d\u00e9tail du <strong>proxy<\/strong> propos\u00e9 par le recorder (IP et port).<\/p>\n\n\n\n<p>Une fois termin\u00e9, il va g\u00e9n\u00e9rer automatiquement une simulation : un fichier <code>RecordedSimulation.scala<\/code><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coder sa simulation<\/h2>\n\n\n\n<p>Dans le cadre d&rsquo;un <strong>test de performance<\/strong> d&rsquo;API, il va surement \u00eatre n\u00e9cessaire de passer par le code plut\u00f4t que le <em>recorder<\/em> afin de r\u00e9utiliser certaines donn\u00e9es dans des variables (exemple : un <em>token<\/em>).<\/p>\n\n\n\n<p>L&rsquo;autre avantage est de pouvoir versionner son code et l&rsquo;inclure dans une suite d&rsquo;<strong>int\u00e9gration continue<\/strong>.<\/p>\n\n\n\n<p>Prenons l&rsquo;exemple d&rsquo;une plateforme qui h\u00e9berge plusieurs <strong>API<\/strong>, comme <a href=\"https:\/\/louis.hatier.me\/blog\/gravitee-une-solution-api-management\/\">Gravitee<\/a>.<\/p>\n\n\n\n<p>Dans un premier temps on va vouloir s&rsquo;authentifier et garder le token en session, puis effectuer une batterie de requ\u00eates sur les diff\u00e9rentes API disponibles sur le portail (plateforme d&rsquo;API Management).<\/p>\n\n\n\n<p>On peut isoler les requ\u00eates et sc\u00e9narios dans des <strong>classes Scala<\/strong> s\u00e9par\u00e9es, et les grouper par API.<br>La classe de simulation (qui fait office de <em>bootstrap<\/em>) aura pour but d&rsquo;ex\u00e9cuter tous les sc\u00e9narios en y injectant les <em>utilisateurs<\/em>.<\/p>\n\n\n\n<p>Ce <a href=\"https:\/\/devqa.io\/gatling-oath2-authentication\/\" target=\"_blank\" rel=\"noreferrer noopener\">billet<\/a> explique comment mettre en oeuvre cette <strong>architecture<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lancer les tests<\/h2>\n\n\n\n<p>Les test de performance se lance \u00e0 l&rsquo;aide du fichier <code>bin\/gatling.sh<\/code>.<\/p>\n\n\n\n<p>S\u00e9lectionner la simulation souhait\u00e9e et valider, l&rsquo;outil va cracher du log en sortie (plus ou moins verbeux, param\u00e9trable via le fichier <code>conf\/logback.xml<\/code>).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Visionner le rapport<\/h2>\n\n\n\n<p>Le rapport au format HTML est g\u00e9n\u00e9r\u00e9 dans le dossier <code>result\/simulation-name-date\/<\/code><\/p>\n\n\n\n<p>Il pr\u00e9sente les donn\u00e9es sous forme <strong>chiffr\u00e9es et graphiques<\/strong> (histogramme, camembert), au global et au d\u00e9tail des requ\u00eates.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Int\u00e9grer au CI\/CD<\/h2>\n\n\n\n<p>A l&rsquo;instar de <a href=\"https:\/\/louis.hatier.me\/blog\/jmeter-tests-de-performance\/\">JMeter<\/a>, <a href=\"https:\/\/louis.hatier.me\/blog\/behat-bdd-php-symfony-selenium-jenkins\/\">Behat<\/a> (BDD), ou <a href=\"https:\/\/louis.hatier.me\/blog\/wapiti-scan-de-vulnerabilites\/\">Wapiti<\/a> (s\u00e9curit\u00e9), il est possible d&rsquo;int\u00e9grer automatiquement les tests de charge au job <a href=\"https:\/\/louis.hatier.me\/blog\/jenkins-pipeline-et-blue-ocean\/\">Jenkins<\/a> ou autre outil d&rsquo;int\u00e9gration continue.<\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/dot.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"pinterest\",\"email\",\"linkedin\");var hupso_counters_lang = \"en_US\";var hupso_image_folder_url = \"\";var hupso_url_c=\"\";var hupso_title_c=\"Gatling%20%3A%20logiciel%20de%20test%20de%20performance\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>Gatling est un logiciel qui permet de tester la charge et les performances d\u2019un site ou d\u2019une application web. Il inclut un outil de test de charge, un g\u00e9n\u00e9rateur de rapport au format HTML, et un enregistreur de simulation. Gatling va lancer des simulations, qui vont contenir un ou plusieurs sc\u00e9narios. Ces sc\u00e9narios sont compos\u00e9s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92,68,8],"tags":[70,63,93],"class_list":["post-905","post","type-post","status-publish","format-standard","hentry","category-api","category-ci-cd","category-outils","tag-jenkins","tag-open-source","tag-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Gatling : logiciel de test de performance - Melting Poutre<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gatling : logiciel de test de performance - Melting Poutre\" \/>\n<meta property=\"og:description\" content=\"Gatling est un logiciel qui permet de tester la charge et les performances d\u2019un site ou d\u2019une application web. Il inclut un outil de test de charge, un g\u00e9n\u00e9rateur de rapport au format HTML, et un enregistreur de simulation. Gatling va lancer des simulations, qui vont contenir un ou plusieurs sc\u00e9narios. Ces sc\u00e9narios sont compos\u00e9s [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\" \/>\n<meta property=\"og:site_name\" content=\"Melting Poutre\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-22T16:30:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-22T16:30:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png\" \/>\n<meta name=\"author\" content=\"Louis Hatier\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Louis Hatier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\"},\"author\":{\"name\":\"Louis Hatier\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"headline\":\"Gatling : logiciel de test de performance\",\"datePublished\":\"2021-07-22T16:30:19+00:00\",\"dateModified\":\"2021-07-22T16:30:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\"},\"wordCount\":434,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png\",\"keywords\":[\"Jenkins\",\"Open source\",\"Performance\"],\"articleSection\":[\"API\",\"CI\/CD\",\"Outils\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\",\"url\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\",\"name\":\"Gatling : logiciel de test de performance - Melting Poutre\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png\",\"datePublished\":\"2021-07-22T16:30:19+00:00\",\"dateModified\":\"2021-07-22T16:30:20+00:00\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage\",\"url\":\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png\",\"contentUrl\":\"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png\",\"width\":500,\"height\":386,\"caption\":\"Logo Gatling\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/#website\",\"url\":\"https:\/\/louis.hatier.me\/blog\/\",\"name\":\"Melting Poutre\",\"description\":\"Du web et d&#039;autres choses\",\"publisher\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/louis.hatier.me\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\",\"name\":\"Louis Hatier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cd8d107ede5a4ec340326655e74a00ca62b02e41a02442f961c36f085aa89942?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cd8d107ede5a4ec340326655e74a00ca62b02e41a02442f961c36f085aa89942?s=96&d=mm&r=g\",\"caption\":\"Louis Hatier\"},\"logo\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/louis.hatier.me\",\"https:\/\/www.linkedin.com\/in\/louishatier\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gatling : logiciel de test de performance - Melting Poutre","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/","og_locale":"fr_FR","og_type":"article","og_title":"Gatling : logiciel de test de performance - Melting Poutre","og_description":"Gatling est un logiciel qui permet de tester la charge et les performances d\u2019un site ou d\u2019une application web. Il inclut un outil de test de charge, un g\u00e9n\u00e9rateur de rapport au format HTML, et un enregistreur de simulation. Gatling va lancer des simulations, qui vont contenir un ou plusieurs sc\u00e9narios. Ces sc\u00e9narios sont compos\u00e9s [&hellip;]","og_url":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/","og_site_name":"Melting Poutre","article_published_time":"2021-07-22T16:30:19+00:00","article_modified_time":"2021-07-22T16:30:20+00:00","og_image":[{"url":"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png","type":"","width":"","height":""}],"author":"Louis Hatier","twitter_misc":{"\u00c9crit par":"Louis Hatier","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#article","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/"},"author":{"name":"Louis Hatier","@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"headline":"Gatling : logiciel de test de performance","datePublished":"2021-07-22T16:30:19+00:00","dateModified":"2021-07-22T16:30:20+00:00","mainEntityOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/"},"wordCount":434,"commentCount":0,"publisher":{"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png","keywords":["Jenkins","Open source","Performance"],"articleSection":["API","CI\/CD","Outils"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/","url":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/","name":"Gatling : logiciel de test de performance - Melting Poutre","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling-300x232.png","datePublished":"2021-07-22T16:30:19+00:00","dateModified":"2021-07-22T16:30:20+00:00","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/louis.hatier.me\/blog\/gatling-logiciel-de-test-de-performance\/#primaryimage","url":"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png","contentUrl":"https:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2021\/07\/logo-gatling.png","width":500,"height":386,"caption":"Logo Gatling"},{"@type":"WebSite","@id":"https:\/\/louis.hatier.me\/blog\/#website","url":"https:\/\/louis.hatier.me\/blog\/","name":"Melting Poutre","description":"Du web et d&#039;autres choses","publisher":{"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/louis.hatier.me\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11","name":"Louis Hatier","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cd8d107ede5a4ec340326655e74a00ca62b02e41a02442f961c36f085aa89942?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cd8d107ede5a4ec340326655e74a00ca62b02e41a02442f961c36f085aa89942?s=96&d=mm&r=g","caption":"Louis Hatier"},"logo":{"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/louis.hatier.me","https:\/\/www.linkedin.com\/in\/louishatier\/"]}]}},"_links":{"self":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/comments?post=905"}],"version-history":[{"count":28,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/905\/revisions"}],"predecessor-version":[{"id":934,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/905\/revisions\/934"}],"wp:attachment":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/media?parent=905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/categories?post=905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/tags?post=905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}