{"id":36,"date":"2026-05-26T12:23:29","date_gmt":"2026-05-26T12:23:29","guid":{"rendered":"https:\/\/www.etudiant02.portfolio-jcmairot.com\/?page_id=36"},"modified":"2026-06-15T12:28:09","modified_gmt":"2026-06-15T12:28:09","slug":"36-2","status":"publish","type":"page","link":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/36-2\/","title":{"rendered":"Contact"},"content":{"rendered":"<div class=\"wp-block-eds-animate-it-block eds-animate-block-save\">\n<div class=\"eds-animate animated edsanimate-sis-hidden  \" data-eds-entry-animation=\"fadeIn\" data-eds-entry-delay=\"0\" data-eds-entry-duration=\"0.5\" data-eds-entry-timing=\"linear\" data-eds-exit-animation=\"\" data-eds-exit-delay=\"0\" data-eds-exit-duration=\"0.5\" data-eds-exit-timing=\"linear\" data-eds-repeat-count=\"1\" data-eds-keep=\"yes\" data-eds-animate-on=\"load\" data-eds-scroll-offset=\"\">\n<div class=\"shh-join-container\" style=\"max-width: 800px; margin: 40px auto; padding: 30px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; text-align: center; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);\">\n<h2 class=\"shh-main-title\" style=\"font-family: 'Bebas Neue', sans-serif !important; font-size: 46px; letter-spacing: 2px; text-transform: uppercase; color: #fff; margin-top: 0; margin-bottom: 15px;\">Rejoins l&rsquo;asso<\/h2>\n<p style=\"font-family: 'Inter', sans-serif; font-size: 16px; color: rgba(255, 255, 255, 0.8); margin-bottom: 30px;\">Les inscriptions sont ouvertes toute l&rsquo;ann\u00e9e. Une question ? Contacte-nous directement.<\/p>\n<div class=\"shh-contact-grid\" style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 35px; font-family: 'Inter', sans-serif; font-size: 15px; color: #fff;\">\n<div style=\"padding: 15px; background: rgba(255,255,255,0.03); border-radius: 8px; border: 1px solid rgba(255,255,255,0.05);\">\n        <span style=\"font-size: 20px; display: block; margin-bottom: 5px;\">\ud83d\udcde<\/span><br \/>\n        <a href=\"tel:0778348691\" style=\"color: #fff; text-decoration: none; font-weight: 600;\">07 78 34 86 91<\/a>\n      <\/div>\n<div style=\"padding: 15px; background: rgba(255,255,255,0.03); border-radius: 8px; border: 1px solid rgba(255,255,255,0.05);\">\n        <span style=\"font-size: 20px; display: block; margin-bottom: 5px;\">\u2709\ufe0f<\/span><br \/>\n        <a href=\"mailto:stricthiphop78@gmail.com\" style=\"color: #a78bfa; text-decoration: none; font-weight: 600;\">stricthiphop78@gmail.com<\/a>\n      <\/div>\n<div style=\"padding: 15px; background: rgba(255,255,255,0.03); border-radius: 8px; border: 1px solid rgba(255,255,255,0.05);\">\n        <span style=\"font-size: 20px; display: block; margin-bottom: 5px;\">\ud83d\udccd<\/span><br \/>\n        <span style=\"color: rgba(255,255,255,0.9);\">21 Rue d&rsquo;Ath\u00e8nes<br \/>78990 \u00c9lancourt<\/span>\n      <\/div>\n<\/p><\/div>\n<div style=\"display: flex; gap: 20px; flex-wrap: wrap; justify-content: center;\">\n      <a href=\"mailto:stricthiphop78@gmail.com\" style=\"display: inline-block; background: transparent; color: #fff; border: 2px solid #fff; font-family: 'Bebas Neue', sans-serif !important; font-size: 20px; letter-spacing: 1px; padding: 12px 30px; border-radius: 50px; text-decoration: none; transition: all 0.3s ease;\" onmouseover=\"this.style.background='#fff'; this.style.color='#000'\" onmouseout=\"this.style.background='transparent'; this.style.color='#fff'\"><br \/>\n        Envoyer un message<br \/>\n      <\/a><br \/>\n      <a href=\"https:\/\/www.etudiant02.portfolio-jcmairot.com\/wp-content\/uploads\/2026\/05\/fiche-inscription-SHH-Cours.pdf\" target=\"_blank\" style=\"display: inline-block; background: linear-gradient(135deg, #6B4FFF, #FF4FA3); color: #fff; font-family: 'Bebas Neue', sans-serif !important; font-size: 20px; letter-spacing: 1px; padding: 14px 30px; border-radius: 50px; text-decoration: none; transition: transform 0.2s ease, opacity 0.2s ease;\" onmouseover=\"this.style.opacity='0.9'; this.style.transform='translateY(-2px)'\" onmouseout=\"this.style.opacity='1'; this.style.transform='translateY(0)'\"><br \/>\n        Formulaire d&rsquo;inscription \u2192<br \/>\n      <\/a>\n    <\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<div id=\"shh-snake-overlay\" style=\"display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,15,0.96); z-index:999999; justify-content:center; align-items:center; flex-direction:column; color:white; font-family:'Inter', sans-serif;\">\n<div style=\"position:relative; background:#16161a; padding:25px; border-radius:16px; text-align:center; border:2px solid #6B4FFF; box-shadow:0 0 30px rgba(107, 79, 255, 0.4); max-width:90%; width:430px; box-sizing:border-box;\">\n        <button id=\"shh-close-snake\" style=\"position:absolute; top:12px; right:15px; background:none; border:none; color:rgba(255,255,255,0.5); font-size:28px; cursor:pointer; transition:color 0.2s;\" onmouseover=\"this.style.color='#fff'\" onmouseout=\"this.style.color='rgba(255,255,255,0.5)'\">&times;<\/button><\/p>\n<h3 style=\"font-family:'Bebas Neue', sans-serif !important; font-size:32px; color:#6B4FFF; margin-top:0; margin-bottom:5px; letter-spacing:1px;\">\ud83d\udc0d SNAKE SECRET<\/h3>\n<p style=\"font-size:12px; color:rgba(255,255,255,0.6); margin:0 0 15px 0;\">Utilise les fl\u00e8ches de ton clavier pour te d\u00e9placer.<\/p>\n<p>        <canvas id=\"shhSnakeCanvas\" width=\"380\" height=\"380\" style=\"background:#0a0a0c; display:block; margin:0 auto; border:1px solid rgba(255,255,255,0.1); border-radius:6px;\"><\/canvas><\/p>\n<div id=\"shh-snake-score\" style=\"margin-top:15px; font-size:20px; font-family:'Bebas Neue', sans-serif; letter-spacing:1px; color:#FF4FA3;\">SCORE : 0<\/div>\n<\/p><\/div>\n<\/div>\n<p><script>\n(function() {\n    \/\/ --- D\u00e9tection du mot secret \"snake\" ---\n    let typedBuffer = \"\";\n    const secretWord = \"snake\";<\/p>\n<p>    window.addEventListener(\"keydown\", function(e) {\n        if (e.target.tagName === \"INPUT\" || e.target.tagName === \"TEXTAREA\") return;<\/p>\n<p>        typedBuffer += e.key.toLowerCase();\n        if (typedBuffer.length > secretWord.length) {\n            typedBuffer = typedBuffer.substring(typedBuffer.length - secretWord.length);\n        }\n        if (typedBuffer === secretWord) {\n            bootSnakeGame();\n        }\n    });<\/p>\n<p>    \/\/ --- Variables & Moteur du Jeu ---\n    const overlay = document.getElementById(\"shh-snake-overlay\");\n    const canvas = document.getElementById(\"shhSnakeCanvas\");\n    const ctx = canvas.getContext(\"2d\");\n    const scoreDisplay = document.getElementById(\"shh-snake-score\");\n    const closeButton = document.getElementById(\"shh-close-snake\");<\/p>\n<p>    const grid = 20;\n    let gameCount = 0;\n    let currentScore = 0;\n    let rAFId;<\/p>\n<p>    let snake = { x: 160, y: 160, dx: grid, dy: 0, cells: [], maxCells: 4 };\n    let apple = { x: 280, y: 280 };<\/p>\n<p>    function generateRandomPos(min, max) { \n        return Math.floor(Math.random() * (max - min)) + min; \n    }<\/p>\n<p>    function resetEngine() {\n        snake.x = 160; \n        snake.y = 160; \n        snake.cells = []; \n        snake.maxCells = 4; \n        snake.dx = grid; \n        snake.dy = 0;\n        currentScore = 0; \n        scoreDisplay.textContent = \"SCORE : \" + currentScore;<\/p>\n<p>        \/\/ Repositionner la pomme sur un carreau de la grille\n        apple.x = generateRandomPos(0, canvas.width \/ grid) * grid;\n        apple.y = generateRandomPos(0, canvas.height \/ grid) * grid;\n    }<\/p>\n<p>    function gameLoop() {\n        rAFId = requestAnimationFrame(gameLoop);\n        if (++gameCount < 6) return; \/\/ Gestion de vitesse stable\n        gameCount = 0;\n\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\n        snake.x += snake.dx; \n        snake.y += snake.dy;\n\n        \/\/ Condition de d\u00e9faite : Touche un bord de l'\u00e9cran\n        if (snake.x < 0 || snake.x >= canvas.width || snake.y < 0 || snake.y >= canvas.height) {\n            resetEngine();\n            return;\n        }<\/p>\n<p>        snake.cells.unshift({ x: snake.x, y: snake.y });\n        if (snake.cells.length > snake.maxCells) snake.cells.pop();<\/p>\n<p>        \/\/ Pomme\n        ctx.fillStyle = '#FF4FA3';\n        ctx.fillRect(apple.x, apple.y, grid - 1, grid - 1);<\/p>\n<p>        \/\/ Serpent\n        ctx.fillStyle = '#6B4FFF';\n        snake.cells.forEach(function(cell, index) {\n            ctx.fillRect(cell.x, cell.y, grid - 1, grid - 1);<\/p>\n<p>            \/\/ Manger la pomme\n            if (cell.x === apple.x && cell.y === apple.y) {\n                snake.maxCells++;\n                currentScore += 10;\n                scoreDisplay.textContent = \"SCORE : \" + currentScore;\n                apple.x = generateRandomPos(0, canvas.width \/ grid) * grid;\n                apple.y = generateRandomPos(0, canvas.height \/ grid) * grid;\n            }<\/p>\n<p>            \/\/ Auto-collision\n            for (let i = index + 1; i < snake.cells.length; i++) {\n                if (cell.x === snake.cells[i].x &#038;&#038; cell.y === snake.cells[i].y) {\n                    resetEngine();\n                }\n            }\n        });\n    }\n\n    \/\/ Capture des touches de direction\n    window.addEventListener('keydown', function(e) {\n        if (overlay.style.display !== \"flex\") return;\n        \n        if (e.key === 'ArrowLeft' &#038;&#038; snake.dx === 0) { snake.dx = -grid; snake.dy = 0; e.preventDefault(); }\n        else if (e.key === 'ArrowUp' &#038;&#038; snake.dy === 0) { snake.dy = -grid; snake.dx = 0; e.preventDefault(); }\n        else if (e.key === 'ArrowRight' &#038;&#038; snake.dx === 0) { snake.dx = grid; snake.dy = 0; e.preventDefault(); }\n        else if (e.key === 'ArrowDown' &#038;&#038; snake.dy === 0) { snake.dy = grid; snake.dx = 0; e.preventDefault(); }\n    });\n\n    function bootSnakeGame() {\n        overlay.style.display = \"flex\";\n        document.body.style.overflow = \"hidden\"; \/\/ Bloque le scroll du site pendant le jeu\n        resetEngine();\n        cancelAnimationFrame(rAFId);\n        gameLoop();\n    }\n\n    closeButton.addEventListener(\"click\", function() {\n        overlay.style.display = \"none\";\n        document.body.style.overflow = \"\"; \/\/ Lib\u00e8re le scroll\n        cancelAnimationFrame(rAFId);\n    });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rejoins l&rsquo;asso Les inscriptions sont ouvertes toute l&rsquo;ann\u00e9e. Une question ? Contacte-nous directement. \ud83d\udcde 07 78 34 86 91 \u2709\ufe0f stricthiphop78@gmail.com \ud83d\udccd 21 Rue d&rsquo;Ath\u00e8nes78990 \u00c9lancourt Envoyer un message Formulaire d&rsquo;inscription \u2192 &times; \ud83d\udc0d SNAKE SECRET Utilise les fl\u00e8ches de ton clavier pour te d\u00e9placer. SCORE : 0<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/pages\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":7,"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/pages\/36\/revisions"}],"predecessor-version":[{"id":204,"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/pages\/36\/revisions\/204"}],"wp:attachment":[{"href":"\/home\/maje5655\/Etudiant02.portfolio-jcmairot.com\/wp-json\/wp\/v2\/media?parent=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}