{"id":8,"date":"2026-05-22T15:59:47","date_gmt":"2026-05-22T13:59:47","guid":{"rendered":"https:\/\/xarine2.hopto.org\/wordpress_test\/?page_id=8"},"modified":"2026-10-04T20:04:55","modified_gmt":"2026-10-04T18:04:55","slug":"page-daccueil","status":"publish","type":"page","link":"https:\/\/xarine2.hopto.org\/wordpress_test\/","title":{"rendered":"page d&rsquo;accueil"},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Site de test et de maintenance d&rsquo;Alain<\/title>\n<style>\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n\n  body {\n    font-family: 'Segoe UI', sans-serif;\n    background: #f0f2f5;\n    color: #333;\n  }\n\n  \/* === BANNI\u00c8RE === *\/\n  .banner {\n    position: relative;\n    width: 100%;\n    height: 320px;\n    overflow: hidden;\n    background: #1a1a2e;\n  }\n\n  .banner img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    opacity: 0.7;\n  }\n\n  .banner-title {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    gap: 10px;\n    text-align: center;\n    padding: 20px;\n  }\n\n  .banner-title h1 {\n    font-size: clamp(1.5rem, 4vw, 2.8rem);\n    color: #fff;\n    text-shadow: 2px 2px 8px rgba(0,0,0,0.8);\n    font-weight: 700;\n    letter-spacing: 1px;\n  }\n\n  .banner-title p {\n    color: #ddd;\n    font-size: 1rem;\n    text-shadow: 1px 1px 4px rgba(0,0,0,0.6);\n  }\n\n  \/* === GRILLE DES SITES === *\/\n  .sites-section {\n    max-width: 900px;\n    margin: 50px auto;\n    padding: 0 20px;\n  }\n\n  .sites-section h2 {\n    text-align: center;\n    font-size: 1.4rem;\n    margin-bottom: 30px;\n    color: #555;\n    text-transform: uppercase;\n    letter-spacing: 2px;\n  }\n\n  .sites-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 24px;\n  }\n\n  .site-card {\n    background: #fff;\n    border-radius: 12px;\n    box-shadow: 0 4px 16px rgba(0,0,0,0.08);\n    overflow: hidden;\n    transition: transform 0.2s, box-shadow 0.2s;\n    text-decoration: none;\n    color: inherit;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    padding: 30px 20px;\n    gap: 16px;\n  }\n\n  .site-card:hover {\n    transform: translateY(-6px);\n    box-shadow: 0 10px 28px rgba(0,0,0,0.14);\n  }\n\n  .site-logo {\n    width: 80px;\n    height: 80px;\n    border-radius: 16px;\n    object-fit: contain;\n    background: #f5f5f5;\n    padding: 8px;\n    border: 1px solid #eee;\n  }\n\n  .site-logo.error {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 2rem;\n    background: #e8f0fe;\n  }\n\n  .site-name {\n    font-size: 1rem;\n    font-weight: 600;\n    text-align: center;\n    color: #222;\n  }\n\n  .site-url {\n    font-size: 0.78rem;\n    color: #888;\n    text-align: center;\n  }\n\n  .site-btn {\n    margin-top: 4px;\n    padding: 8px 20px;\n    background: #2563eb;\n    color: #fff;\n    border-radius: 20px;\n    font-size: 0.85rem;\n    font-weight: 500;\n    transition: background 0.2s;\n  }\n\n  .site-card:hover .site-btn {\n    background: #1d4ed8;\n  }\n<\/style>\n\n<!-- BANNI\u00c8RE -->\n<div class=\"banner\">\n  <img decoding=\"async\" src=\"banner.jpg\" alt=\"Banni\u00e8re\" onerror=\"this.style.display='none'\">\n  <div class=\"banner-title\">\n    <h1>\ud83d\udee0\ufe0f Site de test et de maintenance d&rsquo;Alain<\/h1>\n    <p>Gestion et suivi des sites en maintenance<\/p>\n  <\/div>\n<\/div>\n\n<!-- LISTE DES SITES -->\n<section class=\"sites-section\">\n  <h2>Mes sites<\/h2>\n  <div class=\"sites-grid\" id=\"sitesGrid\"><\/div>\n<\/section>\n\n<script>\n  \/\/ Ic\u00f4ne SVG autonome pour la sauvegarde de fichiers (Dossier + Sauvegarde\/Cloud)\n  const backupFolderSvg = \"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='%232563eb'><path d='M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10zm-8-7l-4 4h3v3h2v-3h3l-4-4z'\/><\/svg>\";\n\n  const sites = [\n    {\n      name: \"CHAN N\u00eemes\",\n      url: \"https:\/\/chan-nimes.org\",\n      description: \"chan-nimes.org\"\n    },\n    {\n      name: \"Aliz\u00e9 Marine\",\n      url: \"https:\/\/alize-marine.fr\",\n      description: \"alize-marine.fr\"\n    },\n    {\n      name: \"Xarine2\",\n      url: \"https:\/\/xarine2.hopto.org\/wordpress_test\/\",\n      description: \"xarine2.hopto.org\",\n      logo: \"xarine-logo.svg\"\n    },\n    {\n      name: \"CHAN N\u00eemes \u2014 Admin Visites\",\n      url: \"https:\/\/chan-nimes.org\/visites_avion\/admin\",\n      description: \"chan-nimes.org\/visites_avion\/admin\"\n    },\n    {\n      name: \"Aliz\u00e9 Marine \u2014 Connexion\",\n      url: \"https:\/\/alize-marine.fr\/meetings\/utilisateurs\/login.php\",\n      description: \"alize-marine.fr\/meetings\"\n    },\n    {\n      name: \"Xarine2 \u2014 Outils BDD\",\n      url: \"https:\/\/xarine2.hopto.org\/outils_BDD\/\",\n      description: \"xarine2.hopto.org\/outils_BDD\"\n    },\n    {\n      name: \"Paheko\",\n      url: \"https:\/\/paheko-local.hopto.org\",\n      description: \"paheko-local.hopto.org\",\n      logoDomain: \"https:\/\/paheko.cloud\"\n    },\n    {\n      name: \"Sauvegarde fichiers\",\n      url: \"https:\/\/xarine2.hopto.org\/sauvegarde_fichiers\/\", \/\/ Ajustez l'URL de destination selon vos besoins\n      description: \"Sauvegarde & Fichiers\",\n      logo: backupFolderSvg\n    }\n  ];\n\n  const grid = document.getElementById('sitesGrid');\n\n  sites.forEach(site => {\n    \/\/ Priorit\u00e9 : logo fourni (site.logo) > favicon d'un autre domaine (site.logoDomain) > favicon du site lui-m\u00eame.\n    const faviconUrl = site.logo\n      ? site.logo\n      : `https:\/\/www.google.com\/s2\/favicons?domain=${site.logoDomain || site.url}&sz=128`;\n\n    const card = document.createElement('a');\n    card.href = site.url;\n    card.target = \"_blank\";\n    card.rel = \"noopener noreferrer\";\n    card.className = \"site-card\";\n\n    card.innerHTML = `\n      <img decoding=\"async\" class=\"site-logo\" src=\"${faviconUrl}\" alt=\"Logo ${site.name}\"\n           onerror=\"this.outerHTML='<div class=\\'site-logo error\\'>\ud83d\udcc1<\/div>'\">\n      <span class=\"site-name\">${site.name}<\/span>\n      <span class=\"site-url\">${site.description}<\/span>\n      <span class=\"site-btn\">Acc\u00e9der \u2192<\/span>\n    `;\n\n    grid.appendChild(card);\n  });\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Site de test et de maintenance d&rsquo;Alain \ud83d\udee0\ufe0f Site de test et de maintenance d&rsquo;Alain Gestion et suivi des sites en maintenance Mes sites<\/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-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":10,"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":186,"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/pages\/8\/revisions\/186"}],"wp:attachment":[{"href":"https:\/\/xarine2.hopto.org\/wordpress_test\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}