{"id":179,"date":"2015-11-13T03:56:19","date_gmt":"2015-11-13T02:56:19","guid":{"rendered":"http:\/\/www.cmarzin.fr\/site\/?p=179"},"modified":"2016-01-07T23:48:08","modified_gmt":"2016-01-07T22:48:08","slug":"demineur","status":"publish","type":"post","link":"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/","title":{"rendered":"D\u00e9mineur"},"content":{"rendered":"<p><script type=\"text\/javascript\" src=\"[insert_php]echo get_site_url();[\/insert_php]\/content\/tutos\/demineur\/jeu.js\"><\/script><\/p>\n<div class=\"sources\"><i class=\"fa fa-download\"><\/i> <a href=\"[insert_php]echo get_site_url();[\/insert_php]\/content\/tutos\/demineur\/demineur.rar\">Javascript<\/a> <a href=\"[insert_php]echo get_site_url();[\/insert_php]\/content\/tutos\/demineur\/demineurfla.rar\">Actionscript<\/a>\n<\/div>\n<h2 class=\"bloctitle\">Pr\u00e9sentation<\/h2>\n<div class=\"bloc\">\n<div class=\"captures\">\n\t\t<style type=\"text\/css\">\n\t\t\t#gallery-1 {\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-item {\n\t\t\t\tfloat: left;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\ttext-align: center;\n\t\t\t\twidth: 25%;\n\t\t\t}\n\t\t\t#gallery-1 img {\n\t\t\t\tborder: 2px solid #cfcfcf;\n\t\t\t}\n\t\t\t#gallery-1 .gallery-caption {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t\t\/* see gallery_shortcode() in wp-includes\/media.php *\/\n\t\t<\/style>\n\t\t<div id='gallery-1' class='gallery galleryid-179 gallery-columns-4 gallery-size-thumbnail'><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur1.jpg' title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img width=\"300\" height=\"169\" src=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur1-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur1-300x170.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur1-1024x579.jpg 1024w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur1.jpg 1067w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur2.jpg' title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img width=\"300\" height=\"169\" src=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur2-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur2-300x170.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur2-1024x579.jpg 1024w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur2.jpg 1359w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur3.jpg' title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img width=\"300\" height=\"169\" src=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur3-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur3-300x170.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur3.jpg 881w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt><\/dl><dl class='gallery-item'>\n\t\t\t<dt class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur4.jpg' title=\"\" data-rl_title=\"\" class=\"rl-gallery-link\" data-rl_caption=\"\" data-rel=\"lightbox-gallery-1\"><img width=\"300\" height=\"169\" src=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur4-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur4-300x169.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur4-1024x578.jpg 1024w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur4.jpg 1912w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\n\t\t\t<\/dt><\/dl><br style=\"clear: both\" \/>\n\t\t<\/div>\n<\/div>\n<p> Le d\u00e9mineur est un jeu de r\u00e9flexion dont le but est de localiser des mines cach\u00e9es dans un champ virtuel avec pour seule indication le nombre de mines dans les zones adjacentes. Le champ de mine est repr\u00e9sent\u00e9 par une grille, qui peut avoir diff\u00e9rentes formes : deux ou trois dimensions, pavage rectangulaire ou non, etc.<\/p>\n<p>Chaque case de la grille peut soit cacher une mine, soit \u00eatre vide. Le but du jeu est de d\u00e9couvrir toutes les cases libres sans faire exploser les mines, c&rsquo;est-\u00e0-dire sans cliquer sur les cases qui les dissimulent.<\/p>\n<p>Lorsque le joueur clique sur une case libre et que toutes les cases adjacentes le sont \u00e9galement, une case vide est affich\u00e9e. Si en revanche au moins l&rsquo;une des cases avoisinantes contient une mine, un chiffre appara\u00eet, indiquant le nombre de cases adjacentes contenant une mine. En comparant les diff\u00e9rentes informations r\u00e9colt\u00e9es, le joueur peut ainsi progresser dans le d\u00e9minage du terrain. S&rsquo;il se trompe et clique sur une mine, il a perdu.<\/p>\n<p>Nous avons l\u00e0 l&rsquo;essentiel utile pour nous attaquer \u00e0 l&rsquo;exercice, je vous encourage cependant \u00e0 lire la d\u00e9finition compl\u00e8te sur Wikipedia car les algorithmes de placement des bombes et pour trouver les valeurs des cases y sont propos\u00e9s.\n<\/p><\/div>\n<div class=\"lsep\"><\/div>\n<div class=\"sourcesdown\"><i class=\"fa fa-book\"><\/i> <a href=\"https:\/\/fr.wikipedia.org\/wiki\/D%C3%A9mineur_%28jeu%29\" target=\"_blank\">Wikipedia<\/a> <a href=\"http:\/\/forums.mediabox.fr\/wiki\/tutoriaux\/javascript\/divers\/exercice_demineur\" target=\"_blank\">Mediabox<\/a><\/div>\n<h2 class=\"bloctitle\">Le code Javascript<\/h2>\n<div class=\"bloccode\">\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\r\n\/\/ variables\r\nvar canvas, ctx, posX, posY, T, C, N,F,i,images,tuiles,voisins;\r\n \r\n\/\/ quand la page est charg\u00e9e\r\nwindow.onload = function() {\r\n    canvas = document.getElementById('canvas');\r\n    ctx = canvas.getContext('2d');\r\n\tcanvas.width = 480;\r\n\tcanvas.height = 480;\r\n\tposX = canvas.offsetLeft;\r\n\tposY = canvas.offsetTop;\r\n\tT = 32;\r\n\tC = 480\/T;\r\n\tloadImages(3);\r\n}\r\n \r\n\/\/ chargement des images\r\nfunction loadImages(nbImg){\r\n\timages = &#x5B;];\r\n\tfor(i=1; i&lt;nbImg+1; i++){\r\n\t\tvar b = new Image();\r\n\t\tb.src = &quot;assets\/tuile&quot;+i+&quot;.jpg&quot;;\r\n\t\tb.onload = function() {\r\n\t\t\timages.push(this);\r\n\t\t\tif(--nbImg==0) init();\r\n\t\t};\r\n\t}\r\n}\r\n \r\n\/\/ initialisation du jeu\r\nfunction init() {\r\n \r\n\ttuiles = &#x5B;];\r\n\tvoisins = &#x5B;];\r\n\tN = 20;\r\n\tF = C*C-N;\r\n \r\n\t\/\/ placer les tuiles\r\n\tfor (i=0;i&lt;C*C;i++){\r\n\t\tvar t = {};\r\n\t\tt.x = parseInt(i%C)*T;\r\n\t\tt.y = parseInt(i\/C)*T;\r\n\t\tt.width = t.height = T;\r\n\t\tt.id = i;\r\n\t\tt.frame = 1;\r\n\t\tt.val = 0;\r\n\t\ttuiles.push(t);\r\n\t\tvoisins.push(&#x5B;]);\r\n\t}\r\n \r\n\t\/\/ placer les bombes\r\n\twhile(N) {\r\n\t\tvar n = parseInt(Math.random()*tuiles.length);\r\n\t\tvar p = tuiles&#x5B;n];\r\n\t\tif(p.val!=9) {\r\n\t\t\tp.val=9; \r\n\t\t\tN--;\r\n\t\t\ttrouveValeurs(n,p.x\/T,p.y\/T,C-1);\r\n\t\t}\r\n\t}\r\n \r\n\trender();\r\n\tcanvas.addEventListener(&quot;click&quot;, action, false);\r\n}\r\n \r\n\/\/ cliquer sur une case\r\nfunction action(e){\r\n\ti = parseInt((e.clientX-posX)\/T)+parseInt((e.clientY-posY)\/T)*C;\r\n\tif(tuiles&#x5B;i].frame==1) tuiles&#x5B;i].frame=2, F--;\r\n\tif(tuiles&#x5B;i].val==9) {\r\n\t\ttuiles&#x5B;i].frame=3;\r\n\t\tfinPartie();\r\n\t\treturn;\r\n\t}\r\n\tif(!tuiles&#x5B;i].val) decouvre(i); \r\n\tif(F==0) finPartie(3);\r\n\trender();\r\n}\r\n \r\n\/\/ trouver les valeurs des cases\r\nfunction trouveValeurs(i,X,Y,L){\r\n\tif(Y&lt;L &amp;&amp; tuiles&#x5B;i+C].val != 9) \t\ttuiles&#x5B;i+C].val++;\r\n\tif(Y&gt;0 &amp;&amp; tuiles&#x5B;i-C].val != 9) \t\ttuiles&#x5B;i-C].val++;\r\n\tif(X&lt;L &amp;&amp; tuiles&#x5B;i+1].val != 9) \t\ttuiles&#x5B;i+1].val++;\r\n\tif(X&gt;0 &amp;&amp; tuiles&#x5B;i-1].val != 9) \t\ttuiles&#x5B;i-1].val++;\r\n\tif(X&lt;L &amp;&amp; Y&gt;0 &amp;&amp; tuiles&#x5B;i-C+1].val != 9) \ttuiles&#x5B;i-C+1].val++;\r\n\tif(X&gt;0 &amp;&amp; Y&gt;0 &amp;&amp; tuiles&#x5B;i-C-1].val != 9) \ttuiles&#x5B;i-C-1].val++;\r\n\tif(X&lt;L &amp;&amp; Y&lt;L &amp;&amp; tuiles&#x5B;i+C+1].val != 9) \ttuiles&#x5B;i+C+1].val++;\r\n\tif(X&gt;0 &amp;&amp; Y&lt;L &amp;&amp; tuiles&#x5B;i+C-1].val != 9) \ttuiles&#x5B;i+C-1].val++;\r\n}\r\n \r\n\/\/ d\u00e9couvrir les cases vides\r\nfunction decouvre(n){\r\n\ttrouveVoisin(n,tuiles&#x5B;n].x\/T,tuiles&#x5B;n].y\/T,C-1);\r\n\tfor (var h = 0; h&lt;voisins&#x5B;n].length; h++){\r\n\t\tif (voisins&#x5B;n]&#x5B;h].frame==1) {\r\n\t\t\tif(!F--) finPartie();\r\n\t\t\tvoisins&#x5B;n]&#x5B;h].frame = 2;\r\n\t\t\tdecouvre(voisins&#x5B;n]&#x5B;h].id);\r\n\t\t}\r\n\t}\r\n}\r\n \r\n\/\/ trouver les cases vides voisines\r\nfunction trouveVoisin(i,X,Y,L){\r\n\tif(X&gt;0 &amp;&amp; !tuiles&#x5B;i-1].val) voisins&#x5B;i].push(tuiles&#x5B;i-1]);\r\n\tif(X&lt;L &amp;&amp; !tuiles&#x5B;i+1].val) voisins&#x5B;i].push(tuiles&#x5B;i+1]);\r\n\tif(Y&gt;0 &amp;&amp; !tuiles&#x5B;i-C].val) voisins&#x5B;i].push(tuiles&#x5B;i-C]);\r\n\tif(Y&lt;L &amp;&amp; !tuiles&#x5B;i+C].val) voisins&#x5B;i].push(tuiles&#x5B;i+C]);\r\n}\r\n \r\n\/\/ fin de partie\r\nfunction finPartie(){\r\n\trender();\r\n\talert(&quot;Fin de partie, cliquez pour rejouer.&quot;);\r\n\tinit();\r\n}\r\n \r\n\/\/ Dessine le jeu\r\nfunction render() {\t\r\n\tfor(var i=0; i&lt;tuiles.length; i++){\r\n\t\tctx.drawImage(images&#x5B;tuiles&#x5B;i].frame-1], tuiles&#x5B;i].x, tuiles&#x5B;i].y);\r\n\t\tif(tuiles&#x5B;i].val &amp;&amp; tuiles&#x5B;i].frame==2) afficheValeur(tuiles&#x5B;i]);\r\n\t}\t\r\n}\r\n \r\n\/\/ Affiche la valeur de la pi\u00e8ce\r\nfunction afficheValeur(p) {\t\t\r\n\tctx.fillStyle = &quot;white&quot;;\r\n\tctx.font = &quot;16px Arial&quot;;\r\n\tctx.textAlign = &quot;center&quot;;\r\n\tctx.fillText(p.val, p.x+p.width\/2, p.y+p.height\/2+4);\r\n}\r\n<\/pre>\n<\/div>\n<div class=\"lsep\"><\/div>\n<div class=\"sourcesdown\"><i class=\"fa fa-cog\"><\/i> <a href=\"https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9cursivit%C3%A9\" target=\"_blank\">R\u00e9cusivit\u00e9<\/a> <a href=\"https:\/\/developer.mozilla.org\/fr\/docs\/Web\/API\/CanvasRenderingContext2D\" target=\"_blank\">Canvas Rendering Context 2D<\/a> <a href=\"https:\/\/developer.mozilla.org\/fr\/docs\/Web\/API\/WindowTimers\/setInterval\" target=\"_blank\">setInterval<\/a><\/div>\n<h2 class=\"bloctitle\">A retenir<\/h2>\n<div class=\"blocorange\">\nCe qu&rsquo;il est important de voir avec ce petit exercice c&rsquo;est l&rsquo;utilisation de la r\u00e9cursivit\u00e9 qui vous sera utile dans de nombreux jeux, mais \u00e9galement la d\u00e9tection des cases voisines qui vous sera \u00e9galement tr\u00e8s utile. Notez cependant qu&rsquo;il existe des m\u00e9thodes plus optimis\u00e9es pour chercher les voisines d&rsquo;une case dans une grille, mais nous n&rsquo;en sommes pas encore l\u00e0 et je pr\u00e9f\u00e8res d\u00e9tailler le processus.\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><i class=\"fa fa-clock-o\"><\/i> 04h00<br \/>\n<i class=\"fa fa-user\"><\/i> D\u00e9butant<br \/>\n<i class=\"fa fa-code\"><\/i> Moteur<br \/>\n<i class=\"fa fa-cog\"><\/i> Javascript<br \/>\n<i class=\"fa fa-graduation-cap\"><\/i> R\u00e9cursivit\u00e9 et grilles<br \/>\n<i class=\"fa fa-suitcase\"><\/i> Bases du langage Javascript<\/p>\n","protected":false},"author":1,"featured_media":164,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":[],"categories":[4],"tags":[12,11,24],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"D\u00e9mineur - Cmarzin\" \/>\n<meta property=\"og:description\" content=\"04h00  D\u00e9butant  Moteur  Javascript  R\u00e9cursivit\u00e9 et grilles  Bases du langage Javascript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/\" \/>\n<meta property=\"og:site_name\" content=\"Cmarzin\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-13T02:56:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-01-07T22:48:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"169\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture est.\">\n\t<meta name=\"twitter:data1\" content=\"4 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#website\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/\",\"name\":\"Cmarzin\",\"description\":\"Formation et d\\u00e9veloppement Web et Multimedias\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.cmarzin.fr\/site\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#primaryimage\",\"inLanguage\":\"fr-FR\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur.jpg\",\"contentUrl\":\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/demineur.jpg\",\"width\":300,\"height\":169},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#webpage\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/\",\"name\":\"D\\u00e9mineur - Cmarzin\",\"isPartOf\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#primaryimage\"},\"datePublished\":\"2015-11-13T02:56:19+00:00\",\"dateModified\":\"2016-01-07T22:48:08+00:00\",\"author\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#\/schema\/person\/7c0008d57d9793c6cac9bea19c9dc1ba\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/\",\"name\":\"Accueil\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/demineur\/#webpage\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#\/schema\/person\/7c0008d57d9793c6cac9bea19c9dc1ba\",\"name\":\"cmarzin@noos.fr\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#personlogo\",\"inLanguage\":\"fr-FR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2719b7011bb8e1850a08c47f07a022ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2719b7011bb8e1850a08c47f07a022ed?s=96&d=mm&r=g\",\"caption\":\"cmarzin@noos.fr\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts\/179"}],"collection":[{"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/comments?post=179"}],"version-history":[{"count":11,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts\/179\/revisions"}],"predecessor-version":[{"id":781,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts\/179\/revisions\/781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/media\/164"}],"wp:attachment":[{"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/media?parent=179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/categories?post=179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/tags?post=179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}