{"id":300,"date":"2014-01-27T22:09:41","date_gmt":"2014-01-27T21:09:41","guid":{"rendered":"http:\/\/louis.hatier.me\/blog\/?p=300"},"modified":"2015-08-12T17:39:08","modified_gmt":"2015-08-12T16:39:08","slug":"mysql-tips","status":"publish","type":"post","link":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/","title":{"rendered":"MySQL tips"},"content":{"rendered":"<p><a title=\"\" href=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg\" data-rel=\"lightbox-gallery-6D2Vbn6v\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-263 alignleft\" title=\"Logo MySQL\" src=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg\" alt=\"Logo MySQL\" width=\"170\" height=\"98\" \/><\/a>Voici un petit mix de choses \u00e0 savoir sur MySQL qui peuvent \u00eatre utiles.<\/p>\n<p>En passant des types de champs aux moteurs de stockage d&rsquo;une table.<\/p>\n<p>J&rsquo;esp\u00e8re qu&rsquo;une chose ou deux pourront vous \u00eatre utile dans ce medley.<\/p>\n<p><!--more--><\/p>\n<h2>Types de champs<\/h2>\n<ul>\n<li><strong>CHAR<\/strong> : Pour des enregistrements ayant tous la m\u00eame longueur, pr\u00e9f\u00e9rer le <em>CHAR<\/em> au <em>VARCHAR<\/em>. La taille des colonnes n&rsquo;\u00e9tant pas variable, MySQL pourra acc\u00e8der \u00e0 l&rsquo;\u00e9l\u00e9ment plus rapidement.<\/li>\n<li><strong>TINYINT<\/strong> : ne pas mettre syst\u00e9matiquement du <em>INT<\/em> pour un entier si sa <a title=\"Type entier\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/integer-types.html\" target=\"_blank\">valeur<\/a> ne tend pas \u00e0 augmenter \u00e9norm\u00e9ment. Penser \u00e9galement \u00e0 mettre l&rsquo;attribut <em>UNSIGNED<\/em> lorsqu&rsquo;on souhaite seulement des valeurs positives.<\/li>\n<li><strong>TIMESTAMP<\/strong> : un champ de ce type est tr\u00e8s utile en lui mettant en valeur par d\u00e9faut <em>CURRENT_TIMESTAMP<\/em>, et l&rsquo;attribut <em>ON UPDATE CURRENT_TIMESTAMP<\/em>. De cette fa\u00e7on, la date sera automatiquement mise \u00e0 jour \u00e0 la cr\u00e9ation de l&rsquo;enregistrement, mais \u00e9galement \u00e0 chaque update.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Moteurs de stockages<\/h2>\n<ul>\n<li><strong>MyISAM<\/strong> : moteur rapide en lecture mais non-transactionnelles. A utiliser sur des tables accessibles en lecture pour plus de performances.<\/li>\n<li><strong>InnoDB<\/strong> : moteur <a title=\"Transaction\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Transaction_informatique\" target=\"_blank\">transactionnelles<\/a>, utilis\u00e9 par d\u00e9faut depuis MySQL 5.6. A utiliser dans la plupart des cas. Les tables qui disposent de ce moteur ne verront pas leur derni\u00e8re date de modification mise \u00e0 jour (<em>UPDATE_TIME<\/em>).<\/li>\n<li><strong>MEMORY<\/strong> : \u00e0 utiliser avec pr\u00e9caution ! MySQL charges toutes les tables en m\u00e9moire, l&rsquo;acc\u00e8s aux donn\u00e9es est donc tr\u00e8s rapide, mais si le serveur plante ou red\u00e9marre les donn\u00e9es seront perdues. La date de cr\u00e9ation d&rsquo;une table de ce type (<em>CREATE_TIME<\/em>) n&rsquo;est disponible qu&rsquo;\u00e0 partir de MySQL 5.1.6.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Variables MySQL<\/h2>\n<p>Par d\u00e9faut MySQL est param\u00e9tr\u00e9 pour fonctionner sur une machine assez modeste.<\/p>\n<p>Voici une liste de variables \u00e0 modifi\u00e9es en fonction de la capacit\u00e9 de votre serveur, pour optimiser les temps de r\u00e9ponses.<br \/>\nCela permet de jouer principalement sur la taille du cache. Les variables diff\u00e8rent suivant le moteur de stockage utilis\u00e9.<\/p>\n<pre><code>innodb_buffer_pool_size\r\nkey_buffer_size\r\ntmp_table_size\r\nmax_heap_table_size\r\nsort_buffer_size\r\njoin_buffer_size\r\ntable_open_cache\r\nquery_cache_limit\r\nquery_cache_size\r\nSread_rnd_buffer_size\r\n<\/code><\/pre>\n<p>Direction la doc de MySQL pour plus de d\u00e9tails.<\/p>\n<p>&nbsp;<\/p>\n<h2>Requ\u00eate utile<\/h2>\n<p>Voici une requ\u00eate qui peut \u00eatre utile, elle permet de r\u00e9cup\u00e9rer le dernier \u00e9l\u00e9ment d&rsquo;une table jointe, sans passer par une sous-requ\u00eate.<br \/>\nDans cet exemple, on r\u00e9cup\u00e8re le dernier commentaire de chaque utilisateur :<\/p>\n<pre><code class=\"sql\">SELECT\r\nUtilisateur.nom,\r\nUtilisateur.prenom,\r\nSUBSTRING_INDEX(GROUP_CONCAT(Commentaire.commentaire SEPARATOR \"|\"), \"|\", -1) as dernierCommentaire\r\nFROM Utilisateur\r\nLEFT JOIN Commentaire USING(idUtilisateur)\r\nWHERE Commentaire.commentaire IS NOT NULL\r\nGROUP BY Utilisateur.idUtilisateur\r\nORDER BY Utilisateur.nom, Utilisateur.prenom\r\n<\/code><\/pre>\n<p>Le nombre d&rsquo;\u00e9l\u00e9ments ramen\u00e9 par la fonction <em>GROUP_CONCAT<\/em> est limit\u00e9 par la variable\u00a0<code>group_concat_max_len<\/code>\u00a0(par d\u00e9faut 1024).<\/p>\n<p>Il est possible de changer cette valeur comme ceci :<\/p>\n<pre><code class=\"sql\">SET [SESSION | GLOBAL] group_concat_max_len = val;<\/code><\/pre>\n<p>Attention donc \u00e0 ne pas utiliser cette requ\u00eate sur de gros r\u00e9sultats.<\/p>\n<p>&nbsp;<\/p>\n<h2>phpMyAdmin<\/h2>\n<p>Il est possible de modifier la config de <em>phpMyAdmin<\/em> directement dans le fichier <code>\/etc\/phpmyadmin\/config.inc.php<\/code>.<br \/>\nVoici un exemple de param\u00e8tres modifiables :<\/p>\n<pre><code class=\"php\">$cfg['SuhosinDisableWarning'] = true;\r\n$cfg['PropertiesIconic'] = true;\r\n$cfg['AjaxEnable'] = false;\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h2>En vrac<\/h2>\n<ul>\n<li>Le mot clef <em>IGNORE<\/em> permet \u00e0 MySQL d&rsquo;ignorer d&rsquo;\u00e9ventuels erreurs et de continuer le traitement.<\/li>\n<li>Dans un LIKE, le\u00a0<code>_<\/code>\u00a0remplace n&rsquo;importe quel caract\u00e8re.<\/li>\n<li>Option\u00a0<a title=\"I am a dummy\" href=\"http:\/\/sql-info.de\/mysql\/notes\/I-am-a-dummy.html\" target=\"_blank\">&#8211;i-am-a-dummy<\/a>.<\/li>\n<li>Une requ\u00eate utile pour effectuer un dump d&rsquo;une base vers une autre (en ligne de commande) :<br \/>\n<code>mysqldump -h localhost -u root -p --opt --disable-keys MaBDD | mysql -h localhost -u root -p -C MaBDD_Backup<\/code><\/li>\n<li>La m\u00eame chose mais depuis un fichier SQL :<br \/>\n<code>mysql -h localhost -u root -p -c MaBDD &lt; \/tmp\/Mon-fichier-SQL.sql<\/code><\/li>\n<li>Apr\u00e8s un gros lot d&rsquo;INSERT\/DELETE\/UPDATE, la cardinalit\u00e9 des index d&rsquo;une table peut \u00eatre compl\u00e8tement faux. Pour y rem\u00e9dier, utiliser ces 2 commandes : <code>OPTIMIZE TABLE Matable<\/code> et <code>ANALYZE TABLE Matable<\/code><\/li>\n<\/ul>\n<p>&nbsp;<\/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=\"MySQL%20tips\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>Voici un petit mix de choses \u00e0 savoir sur MySQL qui peuvent \u00eatre utiles. En passant des types de champs aux moteurs de stockage d&rsquo;une table. J&rsquo;esp\u00e8re qu&rsquo;une chose ou deux pourront vous \u00eatre utile dans ce medley.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[58],"class_list":["post-300","post","type-post","status-publish","format-standard","hentry","category-data","tag-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MySQL tips - Melting Poutre<\/title>\n<meta name=\"description\" content=\"Liste de quelques notions \u00e0 savoir sur MySQL.\" \/>\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\/mysql-tips\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MySQL tips - Melting Poutre\" \/>\n<meta property=\"og:description\" content=\"Liste de quelques notions \u00e0 savoir sur MySQL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\" \/>\n<meta property=\"og:site_name\" content=\"Melting Poutre\" \/>\n<meta property=\"article:published_time\" content=\"2014-01-27T21:09:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-12T16:39:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.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\/mysql-tips\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\"},\"author\":{\"name\":\"Louis Hatier\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"headline\":\"MySQL tips\",\"datePublished\":\"2014-01-27T21:09:41+00:00\",\"dateModified\":\"2015-08-12T16:39:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\"},\"wordCount\":525,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg\",\"keywords\":[\"MySQL\"],\"articleSection\":[\"Data\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\",\"url\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\",\"name\":\"MySQL tips - Melting Poutre\",\"isPartOf\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg\",\"datePublished\":\"2014-01-27T21:09:41+00:00\",\"dateModified\":\"2015-08-12T16:39:08+00:00\",\"description\":\"Liste de quelques notions \u00e0 savoir sur MySQL.\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage\",\"url\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg\",\"contentUrl\":\"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.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":"MySQL tips - Melting Poutre","description":"Liste de quelques notions \u00e0 savoir sur MySQL.","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\/mysql-tips\/","og_locale":"fr_FR","og_type":"article","og_title":"MySQL tips - Melting Poutre","og_description":"Liste de quelques notions \u00e0 savoir sur MySQL.","og_url":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/","og_site_name":"Melting Poutre","article_published_time":"2014-01-27T21:09:41+00:00","article_modified_time":"2015-08-12T16:39:08+00:00","og_image":[{"url":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.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\/mysql-tips\/#article","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/"},"author":{"name":"Louis Hatier","@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"headline":"MySQL tips","datePublished":"2014-01-27T21:09:41+00:00","dateModified":"2015-08-12T16:39:08+00:00","mainEntityOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/"},"wordCount":525,"commentCount":0,"publisher":{"@id":"https:\/\/louis.hatier.me\/blog\/#\/schema\/person\/2f200d0368def135b452e65491c4dd11"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage"},"thumbnailUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg","keywords":["MySQL"],"articleSection":["Data"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/louis.hatier.me\/blog\/mysql-tips\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/","url":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/","name":"MySQL tips - Melting Poutre","isPartOf":{"@id":"https:\/\/louis.hatier.me\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage"},"image":{"@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage"},"thumbnailUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg","datePublished":"2014-01-27T21:09:41+00:00","dateModified":"2015-08-12T16:39:08+00:00","description":"Liste de quelques notions \u00e0 savoir sur MySQL.","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/louis.hatier.me\/blog\/mysql-tips\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/louis.hatier.me\/blog\/mysql-tips\/#primaryimage","url":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.jpg","contentUrl":"http:\/\/louis.hatier.me\/blog\/wp-content\/uploads\/2013\/12\/logo-mysql.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\/300","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=300"}],"version-history":[{"count":11,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/300\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/posts\/300\/revisions\/471"}],"wp:attachment":[{"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/media?parent=300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/categories?post=300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/louis.hatier.me\/blog\/wp-json\/wp\/v2\/tags?post=300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}