{"id":157,"date":"2015-11-13T03:53:58","date_gmt":"2015-11-13T02:53:58","guid":{"rendered":"http:\/\/www.cmarzin.fr\/site\/?p=157"},"modified":"2016-01-04T00:06:42","modified_gmt":"2016-01-03T23:06:42","slug":"taquin","status":"publish","type":"post","link":"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/","title":{"rendered":"Taquin"},"content":{"rendered":"<p><script type=\"text\/javascript\" src=\"[insert_php]echo get_site_url();[\/insert_php]\/content\/tutos\/taquin\/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\/taquin\/taquin.rar\">Javascript<\/a> <a href=\"[insert_php]echo get_site_url();[\/insert_php]\/content\/tutos\/taquin\/taquinfla.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-157 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\/taquin1.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\/taquin1-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin1-300x170.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin1.jpg 768w\" 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\/taquin2.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\/taquin2-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin2-300x170.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin2.jpg 640w\" 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\/taquin3.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\/taquin3-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin3-300x169.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin3-1024x578.jpg 1024w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin3.jpg 1280w\" 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\/taquin4.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\/taquin4-300x169.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin4-300x169.jpg 300w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin4-1024x578.jpg 1024w, https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin4.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>Il s&rsquo;agit d&rsquo;un jeu solitaire en forme de damier, qui d\u00e9coule d&rsquo;une th\u00e9orie math\u00e9matique. Le jeu original est compos\u00e9 de 15 carreaux num\u00e9rot\u00e9s de 1 \u00e0 15 qui glissent dans un cadre pr\u00e9vu pour 16 pi\u00e8ces (il y a donc un emplacement vide pour permettre aux 15 pi\u00e8ces de coulisser). Le but du jeu est de remettre dans l&rsquo;ordre les 15 carreaux \u00e0 partir d&rsquo;une configuration quelconque.<\/p>\n<p>Le principe du jeu \u00e0 \u00e9t\u00e9 ensuite \u00e9tendu \u00e0 de nombreuses variantes, dont le Rubik&rsquo;s Cube.<\/p>\n<p>Pour un jeu compos\u00e9 de 15 pi\u00e8ces (c&rsquo;est important pour la suite), parmi toutes les dispositions initiales, il existe 10 461 394 944 000 dispositions dont la r\u00e9solution est possible et autant dont la r\u00e9solution est impossible.<\/p>\n<p>Il est possible de dire \u00e0 l&rsquo;avance si le probl\u00e8me pos\u00e9 est soluble ou non. En effet, la configuration initiale d&rsquo;un taquin est une permutation de sa configuration finale. Cette permutation est dite paire si elle peut \u00eatre obtenue par un nombre pair d&rsquo;\u00e9changes successifs de deux cases, adjacentes ou non, vide ou non, appel\u00e9s \u00e9galement transpositions. On montre que cette notion ne d\u00e9pend pas du choix de la suite des \u00e9changes. Elle est impaire sinon. On associe \u00e9galement \u00e0 la case vide une parit\u00e9 : la case vide est paire si l&rsquo;on peut se rendre de la position initiale de la case vide \u00e0 la position finale en un nombre pair de d\u00e9placements, impair sinon.<\/p>\n<p>Le probl\u00e8me sera soluble si la parit\u00e9 de la permutation est identique \u00e0 la parit\u00e9 de la case vide.<\/p>\n<p>Bon courage\u2026\u2026..<\/p>\n<p>M\u00e9langer les pi\u00e8ces du jeu al\u00e9atoirement nous expose donc \u00e0 un nombre consid\u00e9rable de configurations insoluble, or pour un joueur il faut imp\u00e9rativement que le jeu soit soluble, sinon il perd tout son attrait. De l\u00e0 on dispose de deux solutions, soit on fait un tirage al\u00e9atoire et on demande au programme de le r\u00e9soudre avant de laisser le joueur se lancer, ce qui impose de conna\u00eetre les algorithmes de r\u00e9solution, que je ne connais pas\u2026. Soit on prend en compte que ce jeu a \u00e9t\u00e9 invent\u00e9 en 1870, et qu&rsquo;\u00e0 cette \u00e9poque il n&rsquo;y avait pas d&rsquo;ordinateurs pour m\u00e9langer le jeu, il fallait qu&rsquo;une personne d\u00e9place les pi\u00e8ces de mani\u00e8re al\u00e9atoire avant qu&rsquo;un autre joueur puisse essayer de r\u00e9soudre le d\u00e9fi. C&rsquo;est une solution non math\u00e9matique, mais qui fonctionne parfaitement et qui fera un tr\u00e8s bon exercice pour d\u00e9marrer la programmation de jeux vid\u00e9o et aborder quelques notions essentielles.\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\/Taquin\" target=\"_blank\">Wikipedia<\/a> <a href=\"http:\/\/forums.mediabox.fr\/wiki\/tutoriaux\/javascript\/divers\/exercice_taquin\" 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\/\/ charger les images du jeu\r\nvar pieces = new Image();\r\nvar repereImg = new Image();\r\npieces.src = &quot;Assets\/pieces.jpg&quot;;\r\nrepereImg.src = &quot;Assets\/repere.png&quot;;\r\n \r\nwindow.onload = function() {\r\n \r\n\t\/\/ r\u00e9cup\u00e8re le canva et son contexte\r\n\tvar canvas = document.getElementById('canvas');\r\n\tvar ctx = canvas.getContext('2d');\r\n\tvar audio = document.getElementById(&quot;audio&quot;);\r\n \r\n\t\/\/ variables\r\n\tvar W = 480;\r\n\tvar H = 480;\r\n\tvar T = 120;\t\t\t\t\t\t\t\t\/\/ Taille des pi\u00e8ces\r\n\tvar L = H\/T; \t\t\t\t\t\t\t\t\/\/ Lignes\r\n\tvar C = W\/T;\t\t\t\t\t\t\t\t\/\/ Colonnes\r\n\tvar posX = canvas.offsetLeft;\r\n\tvar posY = canvas.offsetTop;\r\n\tvar repere; \r\n\tvar stockPieces;\t\t\t\t\t\t\t\/\/ tableau de stockage des pi\u00e8ces\r\n\tvar timer;\r\n\tinit();\r\n \r\n\t\/\/ initialisation du jeu\r\n\tfunction init() {\r\n \r\n\t\tcanvas.width = W;\r\n\t\tcanvas.height = H;\r\n\t\tstockPieces = &#x5B;];\r\n \r\n\t\t\/\/ boucle sur le nombre de pi\u00e8ces\r\n\t\tfor (var i=0; i&lt;L*C;i++){\r\n\t\t\tvar piece = {x:i%C*T, y:parseInt(i\/C)*T, width:T, height:T, place:i, depart:false, alpha:1};\r\n\t\t\tstockPieces.push(piece);\t\t\t\t\/\/ ajout du conteneur au stock\r\n\t\t\tif(!i) {\t\t\t\t\t\t\/\/ si la pi\u00e8ce est la premi\u00e8re\r\n\t\t\t\tpiece.alpha=0;\t\t\t\t\t\/\/ elle est transparente\r\n\t\t\t\tpiece.depart=true;\t\t\t\t\/\/ elle est d\u00e9j\u00e0 m\u00e9lang\u00e9e\r\n\t\t\t} \r\n\t\t}\r\n \r\n\t\trepere = {x:0,y:0};\r\n\t\ttimer = setInterval(melange,15);\r\n\t\trender();\r\n\t\tcanvas.addEventListener(&quot;click&quot;, choisir, false);\r\n\t\tcanvas.addEventListener(&quot;mousemove&quot;, reperePos, false);\r\n\t}\r\n \r\n\t\/\/ m\u00e9langer les pi\u00e8ces\r\n\tfunction melange(e){\r\n \r\n\t\tvar P;\r\n\t\tvar X;\r\n\t\tvar Y;\r\n\t\tvar E = 0;\r\n\t\tvar i;\r\n\t\tvar S = false;\r\n \r\n\t\tfor (var i=0; i&lt;stockPieces.length; i++) {\r\n\t\t\tif(stockPieces&#x5B;i].alpha==0) {\r\n\t\t\t\tP = stockPieces&#x5B;i];\r\n\t\t\t\tE = i;\r\n\t\t\t\tX = parseInt(i%C);\r\n\t\t\t\tY = parseInt(i\/C);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n \r\n\t\tfor (var i=0; i&lt;stockPieces.length; i++) {\r\n\t\t\tif(stockPieces&#x5B;i]!=P &amp;&amp; stockPieces&#x5B;i].depart==false) {\r\n\t\t\t\tvar D = parseInt(Math.random()*4)+1;\/\/ choisi une direction\r\n\t\t\t\tif (D==1 &amp;&amp; X-1&gt;=0 &amp;&amp; E-1&gt;0) deplace(stockPieces&#x5B;E-1]);\r\n\t\t\t\tif (D==2 &amp;&amp; X+1&lt;=C &amp;&amp; E+1&lt;stockPieces.length) deplace(stockPieces&#x5B;E+1]);\r\n\t\t\t\tif (D==3 &amp;&amp; Y+1&lt;=L &amp;&amp; E+L&lt;stockPieces.length) deplace(stockPieces&#x5B;E+L]);\r\n\t\t\t\tif (D==4 &amp;&amp; Y-1&gt;=0 &amp;&amp; E-L&gt;0) deplace(stockPieces&#x5B;E-L]);\r\n\t\t\t}\r\n\t\t}\r\n \r\n\t\trepere.x = P.x;\r\n\t\trepere.y = P.y;\r\n\t\trender();\r\n \r\n\t\tfor (var i=0; i&lt;stockPieces.length; i++) {\r\n\t\t\tif(!stockPieces&#x5B;i].depart) return;\r\n\t\t}\r\n \r\n\t\tclearInterval(timer);\r\n\t}\r\n \r\n\t\/\/ d\u00e9placement de la pi\u00e8ce\r\n\tfunction deplace(P){\r\n\t\t\/\/ recherche le clip invisible\r\n\t\tvar I = 0;\r\n\t\tvar V;\r\n\t\tfor (var i=0; i&lt;stockPieces.length; i++) {\r\n\t\t\tif(stockPieces&#x5B;i].alpha==0) {\r\n\t\t\t\tI = i;\r\n\t\t\t\tV = stockPieces&#x5B;i];\r\n\t\t\t}\r\n\t\t}\r\n\t\t\/\/ v\u00e9rifie si la tuile est \u00e0 cot\u00e9 et inverse les index\r\n\t\tvar D = stockPieces.indexOf(P);\r\n\t\tif((parseInt(V.x\/T)==C-1 &amp;&amp; D==I+1)) return;\r\n\t\tif((parseInt(V.x\/T)==0 &amp;&amp; D==I-1)) return;\r\n\t\tif(D==I+1 || D==I+L || D==I-L || D==I-1){\r\n\t\t\tstockPieces&#x5B;D] = stockPieces&#x5B;I];\r\n\t\t\tstockPieces&#x5B;I] = P;\r\n\t\t\tif (stockPieces&#x5B;I].depart==false) stockPieces&#x5B;I].depart=true;\r\n\t\t}\r\n\t\taudio.play();\r\n\t\tgagne();\r\n\t}\r\n \r\n\t\/\/ cliquer sur une case\r\n\tfunction choisir(e){\r\n\t\tvar id = parseInt((e.clientX-posX)\/T)+parseInt((e.clientY-posY)\/T)*L;\r\n\t\tvar P = stockPieces&#x5B;id];\r\n\t\t\/\/ recherche le clip invisible\r\n\t\tvar I = 0;\r\n\t\tvar V;\r\n\t\tfor (var i=0; i&lt;stockPieces.length;i++) {\r\n\t\t\tif(stockPieces&#x5B;i].alpha==0) {\r\n\t\t\t\tI = i;\r\n\t\t\t\tV = stockPieces&#x5B;i];\r\n\t\t\t}\r\n\t\t}\r\n\t\t\/\/ v\u00e9rifie si la tuile est \u00e0 cot\u00e9 et inverse les index\r\n\t\tvar D = stockPieces.indexOf(P);\r\n\t\tif((parseInt(I%C)==C-1 &amp;&amp; D==I+1)) return;\r\n\t\tif((parseInt(I%C)==0 &amp;&amp; D==I-1)) return;\r\n\t\tif(D==I+1 || D==I+L || D==I-L || D==I-1){\r\n\t\t\tstockPieces&#x5B;D] = stockPieces&#x5B;I];\r\n\t\t\tstockPieces&#x5B;I] = P;\r\n\t\t\tif (!stockPieces&#x5B;I].depart) stockPieces&#x5B;I].depart=true;\r\n\t\t}\r\n\t\taudio.play();\r\n\t\trender();\r\n\t}\r\n \r\n\t\/\/ v\u00e9rifie si le joueur a gagn\u00e9\r\n\tfunction gagne(){\r\n\t\tfor (var i=0; i&lt;stockPieces.length; i++) {\r\n\t\t\tif(i!=stockPieces&#x5B;i].place) return;\r\n\t\t}\r\n\t\trepere.x = 0;\r\n\t\trepere.y = 0;\r\n\t\tfinPartie();\r\n\t}\r\n \r\n\t\/\/ position du rep\u00e8re\r\n\tfunction reperePos(e){\r\n\t\trepere.x = parseInt((e.clientX-posX)\/T)*T;\r\n\t\trepere.y = parseInt((e.clientY-posY)\/T)*T;\r\n\t\trender();\r\n\t}\r\n \r\n\t\/\/ fin de partie\r\n\tfunction finPartie(){\r\n\t\trender();\r\n\t\talert(&quot;Fin de partie, cliquez pour rejouer.&quot;);\r\n\t\tinit();\r\n\t}\r\n \r\n\t\/\/ Dessine le jeu\r\n\tfunction render() {\t\r\n\t\tctx.fillStyle = &quot;rgb(256,256,256)&quot;;\r\n\t\tctx.fillRect(0, 0, W, H);\r\n\t\tfor(var i=0; i&lt;stockPieces.length; i++){\r\n\t\t\tvar p = stockPieces&#x5B;i];\r\n\t\t\tif(p.alpha!=0){\r\n\t\t\t\tctx.drawImage(pieces,  p.x, p.y,p.width,p.height, parseInt(i%C)*T,parseInt(i\/C)*T,p.width,p.height);\r\n\t\t\t}\r\n\t\t}\r\n\t\tctx.drawImage(repereImg, repere.x,repere.y);\r\n\t}\r\n}\r\n<\/pre>\n<\/div>\n<div class=\"lsep\"><\/div>\n<div class=\"sourcesdown\"><i class=\"fa fa-cog\"><\/i> <a href=\"http:\/\/www.commentcamarche.net\/contents\/587-javascript-les-tableaux\" target=\"_blank\">Tableaux<\/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\/EventTarget\/addEventListener\" target=\"_blank\">Ecouteurs d&rsquo;\u00e9v\u00e9nement<\/a><\/div>\n<h2 class=\"bloctitle\">A retenir<\/h2>\n<div class=\"blocorange\">\nMine de rien, nous avons survol\u00e9 pas mal de notions int\u00e9ressantes qui vous servirons pour beaucoup de jeux : afficher une grille \u00e0 partir d&rsquo;une liste et assurer la conversion de l&rsquo;une vers l&rsquo;autre, d\u00e9couper une planche de sprites, jongler avec les index des tableaux, simuler un comportement\u2026<\/p>\n<p>TAQUIN apporte son lot d&rsquo;astuces et nous fait r\u00e9fl\u00e9chir \u00e0 diverses solutions pour contourner un probl\u00e8me (algorithme de r\u00e9solution du plateau), et nous apprend \u00e9galement \u00e0 jongler avec les grilles et les listes, ce qui est essentiel pour la suite de nos aventures.\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p><i class=\"fa fa-clock-o\"><\/i> 03h00<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> G\u00e9om\u00e9trie et Math\u00e9matiques<br \/>\n<i class=\"fa fa-suitcase\"><\/i> Bases du langage Javascript<\/p>\n","protected":false},"author":1,"featured_media":158,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":[],"categories":[4],"tags":[12,11,10,25],"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\/taquin\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Taquin - Cmarzin\" \/>\n<meta property=\"og:description\" content=\"03h00  D\u00e9butant  Moteur  Javascript  G\u00e9om\u00e9trie et Math\u00e9matiques  Bases du langage Javascript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/\" \/>\n<meta property=\"og:site_name\" content=\"Cmarzin\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-13T02:53:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-01-03T23:06:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin.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=\"6 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\/taquin\/#primaryimage\",\"inLanguage\":\"fr-FR\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin.jpg\",\"contentUrl\":\"https:\/\/www.cmarzin.fr\/site\/wp-content\/uploads\/taquin.jpg\",\"width\":300,\"height\":169},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/#webpage\",\"url\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/\",\"name\":\"Taquin - Cmarzin\",\"isPartOf\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/#primaryimage\"},\"datePublished\":\"2015-11-13T02:53:58+00:00\",\"dateModified\":\"2016-01-03T23:06:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/#\/schema\/person\/7c0008d57d9793c6cac9bea19c9dc1ba\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cmarzin.fr\/site\/2015\/11\/13\/taquin\/#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\/taquin\/#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\/157"}],"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=157"}],"version-history":[{"count":5,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":749,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/posts\/157\/revisions\/749"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/media\/158"}],"wp:attachment":[{"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmarzin.fr\/site\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}