{"id":354,"date":"2014-02-25T23:05:25","date_gmt":"2014-02-25T22:05:25","guid":{"rendered":"http:\/\/louis.hatier.me\/blog\/?p=354"},"modified":"2015-08-12T17:35:13","modified_gmt":"2015-08-12T16:35:13","slug":"twig-introduction-au-systeme-template-symfony","status":"publish","type":"post","link":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/","title":{"rendered":"Twig : introduction au syst\u00e8me de template de Symfony2"},"content":{"rendered":"<p><a title=\"\" href=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\" data-rel=\"lightbox-gallery-YRKYDW6c\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-355 alignleft\" title=\"Logo Twig\" src=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\" alt=\"Logo Twig\" width=\"83\" height=\"101\" \/><\/a>Twig est un syst\u00e8me de template pour PHP cr\u00e9\u00e9 par <a title=\"GitHub\" href=\"https:\/\/github.com\/fabpot\" target=\"_blank\">Fabien Potencier<\/a>.<br \/>\nIl est par d\u00e9faut int\u00e9gr\u00e9 au Framework MVC Symfony2, mais il est possible de l\u2019utiliser \u00e0 part, avec un autre framework, ou avec une simple page PHP.<\/p>\n<p>Vous pouvez l\u2019installer avec <a title=\"Get Composer\" href=\"https:\/\/getcomposer.org\/\" target=\"_blank\">Composer<\/a> ou le t\u00e9l\u00e9charger directement depuis le repository sur <a title=\"Twig\" href=\"https:\/\/github.com\/fabpot\/Twig\" target=\"_blank\">GitHub<\/a>.<\/p>\n<p>On va faire ici un exemple simple d\u2019utilisation avec un fichier PHP vide.<\/p>\n<p><!--more--><\/p>\n<p>Si vous n\u2019utilisez pas Composer, d\u00e9poser la librairie o\u00f9 vous voulez, et chargez la comme ceci :<\/p>\n<pre><code class=\"php\">require_once '\/usr\/share\/php\/Twig\/Autoloader.php';\r\nTwig_Autoloader::register();\r\n<\/code><\/pre>\n<p>Les classes sont maintenant charg\u00e9es et utilisables, on va commencer par pr\u00e9ciser un dossier de templates dans lequel seront stock\u00e9s nos fichiers HTML, et un tableau d\u2019options indiquant de ne pas \u00e9chapper automatiquement les variables \u00e0 l\u2019affichage.<\/p>\n<pre><code class=\"php\">$loader = new Twig_Loader_Filesystem('\/var\/www\/lab\/twig\/templates');\r\n$twig = new Twig_Environment(\r\n    $loader,\r\n    array(\r\n        'autoescape' =&gt; false\r\n    )\r\n);\r\n<\/code><\/pre>\n<p>Voici un exemple des quelques fonctionnalit\u00e9s de Twig illustr\u00e9es avec ces 3 fichiers :<\/p>\n<p><strong>index.php<\/strong><\/p>\n<pre><code class=\"php\">require_once '\/usr\/share\/php\/Twig\/Autoloader.php';\r\nTwig_Autoloader::register();\r\n\r\n$loader = new Twig_Loader_Filesystem('\/var\/www\/lab\/twig\/templates');\r\n$twig = new Twig_Environment(\r\n    $loader,\r\n    array(\r\n        'autoescape' =&gt; false\r\n    )\r\n);\r\n\r\n$users = array(\r\n    array(\r\n        'name' =&gt; 'Statler',\r\n        'age'  =&gt; 65\r\n    ),\r\n    array(\r\n        'name' =&gt; 'Waldorf',\r\n        'age'  =&gt; 68\r\n    )\r\n);\r\n\r\n$comment = new stdClass();\r\n$comment-&gt;content = 'Lorem ipsum';\r\n$comment-&gt;date = '25\/02\/2014';\r\n\r\n$template = $twig-&gt;loadTemplate('layout.html');\r\n$data = array(\r\n    'message' =&gt; 'Hello &lt;strong&gt;World&lt;\/strong&gt;!',\r\n    'users'   =&gt; $users,\r\n    'version' =&gt; 3.2,\r\n    'comment' =&gt; $comment\r\n);\r\n\r\necho $template-&gt;render($data);\r\n<\/code><\/pre>\n<p>On envoie au template <em>layout.html<\/em> diff\u00e9rent types de variables et on affiche le rendu.<\/p>\n<p><strong>templates\/layout.html<\/strong><\/p>\n<pre><code class=\"html\">&lt;h1&gt;Home&lt;\/h1&gt;\r\nMessage : {{ message }}\r\nMessage : {{ message|e }}\r\n\r\n{% for user in users %}\r\n&lt;div&gt;\r\n    &lt;span class=\"name\"&gt;{{ user.name }}&lt;\/span&gt;\r\n    &lt;span class=\"age\"&gt;{{ user.age }}&lt;\/span&gt;\r\n&lt;\/div&gt;\r\n{% else %}\r\n&lt;div&gt;No result&lt;\/div&gt;\r\n{% endfor %}\r\n\r\n&lt;h2&gt;Comment&lt;\/h2&gt;\r\n{{ comment.content }}\r\n\r\n{{ include('footer.html') }}\r\n<\/code><\/pre>\n<p>On affiche 2 fois la variable message, la deuxi\u00e8me est \u00e9chapp\u00e9e tr\u00e8s simplement avec la syntaxe <code>|e<\/code> et n\u2019affichera donc pas \u00ab\u00a0World\u00a0\u00bb en gras.<\/p>\n<p>Ensuite on boucle sur les utilisateurs pour afficher le nom et l\u2019age de l\u2019utilisateur.<br \/>\nLe <code>else<\/code> du <code>for<\/code> sert dans le cas d\u2019un tableau vide, ce qui est tr\u00e8s utile et \u00e9vite d\u2019englober le <code>for<\/code> d\u2019un <em>if\/else<\/em> qui teste le total du tableau.<\/p>\n<p>Puis on affiche le contenu du commentaire. Notez ici que la syntaxe est la m\u00eame avec un tableau ou un objet, on utilise le point pour acc\u00e9der \u00e0 une propri\u00e9t\u00e9 ou \u00e0 un index.<\/p>\n<p>Pour finir on inclue le fichier <em>footer.html<\/em><\/p>\n<p><strong>templates\/footer.html<\/strong><\/p>\n<pre><code class=\"html\">&lt;footer&gt;MySite v.{{ version }}&lt;\/footer&gt;\r\n<\/code><\/pre>\n<p>Ici on affiche simplement la version du site, le fichier <em>footer.html<\/em> h\u00e9rite bien des variables envoy\u00e9es au template <em>layout.html<\/em>.<\/p>\n<p>Plus d\u2019informations sur le <a title=\"Twig\" href=\"http:\/\/twig.sensiolabs.org\/\" target=\"_blank\">site officiel<\/a>.<\/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=\"Twig%20%3A%20introduction%20au%20syst%C3%A8me%20de%20template%20de%20Symfony2\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>Twig est un syst\u00e8me de template pour PHP cr\u00e9\u00e9 par Fabien Potencier. Il est par d\u00e9faut int\u00e9gr\u00e9 au Framework MVC Symfony2, mais il est possible de l\u2019utiliser \u00e0 part, avec un autre framework, ou avec une simple page PHP. Vous pouvez l\u2019installer avec Composer ou le t\u00e9l\u00e9charger directement depuis le repository sur GitHub. On va [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,2],"tags":[57,18,47],"class_list":["post-354","post","type-post","status-publish","format-standard","hentry","category-html-css","category-php","tag-php","tag-symfony","tag-twig"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre<\/title>\n<meta name=\"description\" content=\"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates\" \/>\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\/twig-introduction-au-systeme-template-symfony\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre\" \/>\n<meta property=\"og:description\" content=\"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates\" \/>\n<meta property=\"og:url\" content=\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\" \/>\n<meta property=\"og:site_name\" content=\"Melting Poutre\" \/>\n<meta property=\"article:published_time\" content=\"2014-02-25T22:05:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-12T16:35:13+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\"},\"author\":{\"name\":\"Louis Hatier\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"headline\":\"Twig : introduction au syst\u00e8me de template de Symfony2\",\"datePublished\":\"2014-02-25T22:05:25+00:00\",\"dateModified\":\"2015-08-12T16:35:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\"},\"wordCount\":325,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\",\"keywords\":[\"PHP\",\"Symfony\",\"Twig\"],\"articleSection\":[\"HTML\/CSS\",\"PHP\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\",\"url\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\",\"name\":\"Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\",\"datePublished\":\"2014-02-25T22:05:25+00:00\",\"dateModified\":\"2015-08-12T16:35:13+00:00\",\"description\":\"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage\",\"url\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\",\"contentUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg\"},{\"@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":"Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre","description":"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates","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\/twig-introduction-au-systeme-template-symfony\/","og_locale":"fr_FR","og_type":"article","og_title":"Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre","og_description":"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates","og_url":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/","og_site_name":"Melting Poutre","article_published_time":"2014-02-25T22:05:25+00:00","article_modified_time":"2015-08-12T16:35:13+00:00","og_image":[{"url":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg","type":"","width":"","height":""}],"author":"Louis Hatier","twitter_misc":{"\u00c9crit par":"Louis Hatier","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#article","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/"},"author":{"name":"Louis Hatier","@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"headline":"Twig : introduction au syst\u00e8me de template de Symfony2","datePublished":"2014-02-25T22:05:25+00:00","dateModified":"2015-08-12T16:35:13+00:00","mainEntityOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/"},"wordCount":325,"commentCount":0,"publisher":{"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage"},"thumbnailUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg","keywords":["PHP","Symfony","Twig"],"articleSection":["HTML\/CSS","PHP"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/","url":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/","name":"Twig : introduction au syst\u00e8me de template de Symfony2 - Melting Poutre","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage"},"thumbnailUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg","datePublished":"2014-02-25T22:05:25+00:00","dateModified":"2015-08-12T16:35:13+00:00","description":"Comment utiliser Twig avec PHP pour g\u00e9rer ses templates","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/louis.hatier.me\/blog\/twig-introduction-au-systeme-template-symfony\/#primaryimage","url":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg","contentUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2014\/02\/logo-twig.jpg"},{"@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\/354","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=354"}],"version-history":[{"count":12,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/354\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/354\/revisions\/463"}],"wp:attachment":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/media?parent=354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/categories?post=354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/tags?post=354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}