{"id":385,"date":"2013-04-25T17:36:00","date_gmt":"2013-04-25T15:36:00","guid":{"rendered":"http:\/\/www.lafabriquedecode.com\/blog\/?p=385"},"modified":"2013-04-25T17:36:00","modified_gmt":"2013-04-25T15:36:00","slug":"mongodb-les-bases-pour-bien-debuter","status":"publish","type":"post","link":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/","title":{"rendered":"MongoDB : les bases pour bien d\u00e9buter (1\/3)"},"content":{"rendered":"<p>Le but de ce billet est d&rsquo;effectuer une premi\u00e8re incursion dans l&rsquo;univers MongoDB en voyant les commandes de bases dans le <em>shell<\/em> mongo et en faisant un parall\u00e8le avec ce qui existe dans le monde du SQL. Nous allons commencer en manipulant les bases : bases de donn\u00e9es, collections et documents. Le but n&rsquo;est pas de se noyer d&#8217;embl\u00e9e dans l&rsquo;architecture interne de Mongo (le <em>sharding<\/em>, les<em> replica sets<\/em>, etc.) mais d&rsquo;attaquer d&#8217;embl\u00e9e des choses concr\u00e8tes !<\/p>\n<div id=\"attachment_407\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo.png\"><img aria-describedby=\"caption-attachment-407\" loading=\"lazy\" class=\"size-full wp-image-407\" alt=\"mongo_logo\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo.png\" width=\"300\" height=\"300\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo.png 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo-150x150.png 150w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-407\" class=\"wp-caption-text\">L&#8217;embl\u00e8me de MongoDB<\/p><\/div>\n<p><span style=\"font-size: 1.5rem; line-height: 1.5;\">Installation de MongoDB sur GNU Linux Debian<\/span><br \/>\nNous allons faire les choses proprement au lieu d&rsquo;ins\u00e9rer \u00e0 la sauvage dans le fichier <em>sources.list<\/em>. Vous devez \u00e9videmment \u00eatre <em>sudoer<\/em> pour effectuer ceci :<\/p>\n<pre>echo 'deb http:\/\/downloads-distro.mongodb.org\/repo.fr.ian-sysvinit dist 10gen' &gt; \/tmp\/mongodb.list\r\nsudo cp \/tmp\/mongodb.list \/etc\/apt\/sources.list.d\/\r\nrm \/tmp\/mongodb.list\r\n\r\nsudo apt-get update\r\nsudo apt-get install mongodb-10gen<\/pre>\n<p>A l&rsquo;issue de l&rsquo;installation, le serveur MongoDB doit \u00eatre d\u00e9marr\u00e9 automatiquement (le <em>daemon<\/em> mongod pour \u00eatre plus pr\u00e9cis).<\/p>\n<h1>Les principales commandes<\/h1>\n<h2>Lancer le shell<\/h2>\n<p>Tout part de l\u00e0 ! En tapant \u00ab\u00a0mongo\u00a0\u00bb vous devriez y acc\u00e9der car \/bin doit \u00eatre dans votre PATH. Si vous rencontrez des probl\u00e8mes, lancez<\/p>\n<pre>\/usr\/bin\/mongo<\/pre>\n<h2>Quitter le shell<\/h2>\n<p>Rien de plus simple: faites donc Ctrl+C (ce bon vieux <em>SIGINT<\/em> !) ou tapez <em>exit<\/em> \u00e0 l&rsquo;invite, vous sortirez du shell.<\/p>\n<h2>Obtenir le num\u00e9ro de version<\/h2>\n<p>Les donn\u00e9es concernant votre installation apparaissent sous la forme d&rsquo;un objet JSON, la commande a ex\u00e9cuter est en gras :<\/p>\n<pre>&gt; <strong>db.runCommand({buildinfo: 1});<\/strong>\r\n{\r\n        <strong>\"version\" : \"2.0.6\",<\/strong>\r\n        \"gitVersion\" : \"nogitversion\",\r\n        \"sysInfo\" : \"Linux z6 3.8-trunk-amd64 #1 SMP Debian 3.8.3-1~experimental.1 x86_64 BOOST_LIB_VERSION=1_49\",\r\n        \"versionArray\" : [\r\n                2,\r\n                0,\r\n                6,\r\n                0\r\n        ],\r\n        \"bits\" : 64,\r\n        \"debug\" : false,\r\n        \"maxBsonObjectSize\" : 16777216,\r\n        \"ok\" : 1\r\n}<\/pre>\n<h2>Lister les bases de donn\u00e9es<\/h2>\n<p>La commande permettant de faire \u00e7a est <em>show dbs<\/em>.<\/p>\n<pre>sebastien.ferrandez@sebastien:~$ mongo\r\nMongoDB shell version: 2.0.6\r\nconnecting to: test\r\n&gt; show dbs;\r\nlocal   (empty)<\/pre>\n<p>Comme je viens d&rsquo;installer MongoDB, rien d&rsquo;\u00e9tonnant \u00e0 ce qu&rsquo;aucune base de donn\u00e9es n&rsquo;apparaisse ! Il est possible d&rsquo;obtenir davantage d&rsquo;informations en utilisant la base de donn\u00e9es <em>admin<\/em> dont l&rsquo;usage est r\u00e9serv\u00e9 comme son nom l&rsquo;indique \u00e0 l&rsquo;admin.<\/p>\n<pre>&gt; <strong>use admin<\/strong>\r\nswitched to db admin\r\n&gt; <strong>db.runCommand({listDatabases: 1});<\/strong>\r\n{\r\n        \"databases\" : [\r\n                {\r\n                        \"name\" : \"local\",\r\n                        \"sizeOnDisk\" : 1,\r\n                        \"empty\" : true\r\n                }\r\n        ],\r\n        \"totalSize\" : 0,\r\n        \"ok\" : 1\r\n}<\/pre>\n<h2>Cr\u00e9er une collection<\/h2>\n<p>La collection en langage MongoDB est l&rsquo;\u00e9quivalent de la table en relationnel, on les cr\u00e9e soit en y ins\u00e9rant le tout premier document (l&rsquo;\u00e9quivalent du <em>tuple<\/em> en relationnel) soit en ex\u00e9cutant la commande suivante :<\/p>\n<pre>&gt; db.createCollection('gens');\r\n{ \"ok\" : 1 }<\/pre>\n<h2>Ins\u00e9rer un document dans une collection<\/h2>\n<p>Notre collection s&rsquo;appelle gens, ins\u00e9rons-y un premier document :<\/p>\n<pre>db.gens.insert( { nom: \"ferrandez\", prenom:\"sebastien\", age: 35 } );<\/pre>\n<h2>Lister les documents contenus dans une collection<\/h2>\n<p>Pour faire l&rsquo;\u00e9quivalent d&rsquo;un SELECT * FROM gens, j&rsquo;utilise la commande find sans param\u00e8tres :<\/p>\n<pre>&gt; db.gens.find();\r\n{ \"_id\" : ObjectId(\"517941f3b12e1948c04f6d5e\"), \"nom\" : \"ferrandez\", \"prenom\" : \"sebastien\", \"age\" : 35 }<\/pre>\n<p>Ins\u00e9rons un nouveau document et observons le changement dans le find :<\/p>\n<pre>&gt; db.gens.insert( { nom: \"ferrandez\", prenom:\"sandrine\", age: 34, sexe:\"F\" } );\r\n&gt; db.gens.find();\r\n{ \"_id\" : ObjectId(\"517941f3b12e1948c04f6d5e\"), \"nom\" : \"ferrandez\", \"prenom\" : \"sebastien\", \"age\" : 35 }\r\n{ \"_id\" : ObjectId(\"51794334b12e1948c04f6d5f\"), \"nom\" : \"ferrandez\", \"prenom\" : \"sandrine\", \"age\" : 34, \"sexe\" : \"F\" }<\/pre>\n<p>Notez que, contrairement \u00e0 une table, le nombre de champs n&rsquo;est pas contraint par l\u2019intention du sch\u00e9ma, en effet mon deuxi\u00e8me document a un champ de plus que le premier : <em>sexe<\/em>.<br \/>\nDans les objets JSON que j&rsquo;enregistre, un champ <em>_id<\/em> est d\u00e9termin\u00e9 par MongoDB. Il est \u00e9videmment tout \u00e0 fait possible de forcer le sien :<\/p>\n<pre>&gt; db.gens.insert( { _id: 10, nom: \"ferrandez\", prenom:\"christophe\", age: 40 } );\r\n&gt; db.gens.find();\r\n{ \"_id\" : ObjectId(\"517941f3b12e1948c04f6d5e\"), \"nom\" : \"ferrandez\", \"prenom\" : \"sebastien\", \"age\" : 35 }\r\n{ \"_id\" : ObjectId(\"51794334b12e1948c04f6d5f\"), \"nom\" : \"ferrandez\", \"prenom\" : \"sandrine\", \"age\" : 34, \"sexe\" : \"F\" }\r\n{ \"_id\" : 10, \"nom\" : \"ferrandez\", \"prenom\" : \"christophe\", \"age\" : 40 }<\/pre>\n<p>Il est possible de manipuler des identifiants auto-incr\u00e9ment\u00e9s mais si vous insistez pour utiliser ce m\u00e9canisme offert par certains SGBDR comme MySQL c&rsquo;est peut-\u00eatre que vous avez une vision trop \u00ab\u00a0relationnelle\u00a0\u00bb de vos donn\u00e9es ! Si toutefois vous persistiez \u00e0 vouloir b\u00e9n\u00e9ficier de ce m\u00e9canisme, vous trouverez le lien \u00e0 la fin de ce billet.<\/p>\n<h2>Supprimer une collection<\/h2>\n<p>Il vous faut utiliser <em>drop<\/em>, comme en SQL !<\/p>\n<pre>&gt; db.gens.drop();\r\ntrue<\/pre>\n<h2>Supprimer une base de donn\u00e9es<\/h2>\n<p>Deux mani\u00e8res de proc\u00e9der, en faisant un <em>use<\/em> pour se connecter \u00e0 la base de donn\u00e9es \u00e0 effacer :<\/p>\n<pre><strong>&gt; show dbs;<\/strong>\r\nadmin   0.203125GB\r\ngens    0.203125GB\r\nlocal   (empty)\r\n<strong>&gt; use gens;<\/strong>\r\nswitched to db gens\r\n<strong>&gt; db.runCommand({dropDatabase: 1});<\/strong>\r\n{ \"dropped\" : \"gens\", \"ok\" : 1 }\r\n<strong>&gt; show dbs;<\/strong>\r\nadmin   0.203125GB\r\nlocal   (empty)<\/pre>\n<p>ou bien en ex\u00e9cutant directement :<\/p>\n<pre>&gt; db.gens.runCommand({dropDatabase: 1});\r\n{ \"dropped\" : \"gens\", \"ok\" : 1 }<\/pre>\n<h1>Pour aller plus loin&#8230;<\/h1>\n<p>Au sujet des identifiants auto-incr\u00e9ment\u00e9s : La <a href=\"http:\/\/docs.mongodb.org\/manual\/tutorial\/create-an-auto-incrementing-field\/\" target=\"_blank\">documentation MongoDB<\/a> (anglais)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le but de ce billet est d&rsquo;effectuer une premi\u00e8re incursion dans l&rsquo;univers MongoDB en voyant les commandes de bases dans le shell mongo et en faisant un parall\u00e8le avec ce qui existe dans le monde du SQL. Nous allons commencer en manipulant les bases : bases de donn\u00e9es, collections et documents. Le but n&rsquo;est pas [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[26,46],"tags":[87,47,6],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog\" \/>\n<meta property=\"og:description\" content=\"Le but de ce billet est d&rsquo;effectuer une premi\u00e8re incursion dans l&rsquo;univers MongoDB en voyant les commandes de bases dans le shell mongo et en faisant un parall\u00e8le avec ce qui existe dans le monde du SQL. Nous allons commencer en manipulant les bases : bases de donn\u00e9es, collections et documents. Le but n&rsquo;est pas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/\" \/>\n<meta property=\"og:site_name\" content=\"La Fabrique de code - Tech blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-04-25T15:36:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:site\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/\",\"name\":\"MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog\",\"isPartOf\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\"},\"datePublished\":\"2013-04-25T15:36:00+00:00\",\"dateModified\":\"2013-04-25T15:36:00+00:00\",\"author\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\"},\"breadcrumb\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.lafabriquedecode.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MongoDB : les bases pour bien d\u00e9buter (1\/3)\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/\",\"name\":\"La Fabrique de code - Tech blog\",\"description\":\"PHP objet, MySQL, Design Patterns, OOP...et plus !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"caption\":\"admin\"},\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog","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":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/","og_locale":"fr_FR","og_type":"article","og_title":"MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog","og_description":"Le but de ce billet est d&rsquo;effectuer une premi\u00e8re incursion dans l&rsquo;univers MongoDB en voyant les commandes de bases dans le shell mongo et en faisant un parall\u00e8le avec ce qui existe dans le monde du SQL. Nous allons commencer en manipulant les bases : bases de donn\u00e9es, collections et documents. Le but n&rsquo;est pas [&hellip;]","og_url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/","og_site_name":"La Fabrique de code - Tech blog","article_published_time":"2013-04-25T15:36:00+00:00","og_image":[{"url":"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/04\/mongo_logo.png"}],"author":"admin","twitter_card":"summary","twitter_creator":"@LaFabrique2Code","twitter_site":"@LaFabrique2Code","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/","url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/","name":"MongoDB : les bases pour bien d\u00e9buter (1\/3) - La Fabrique de code - Tech blog","isPartOf":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website"},"datePublished":"2013-04-25T15:36:00+00:00","dateModified":"2013-04-25T15:36:00+00:00","author":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162"},"breadcrumb":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/04\/mongodb-les-bases-pour-bien-debuter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.lafabriquedecode.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MongoDB : les bases pour bien d\u00e9buter (1\/3)"}]},{"@type":"WebSite","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website","url":"http:\/\/www.lafabriquedecode.com\/blog\/","name":"La Fabrique de code - Tech blog","description":"PHP objet, MySQL, Design Patterns, OOP...et plus !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","caption":"admin"},"url":"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/385"}],"collection":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/comments?post=385"}],"version-history":[{"count":23,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/385\/revisions"}],"predecessor-version":[{"id":409,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/385\/revisions\/409"}],"wp:attachment":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/media?parent=385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/categories?post=385"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/tags?post=385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}