{"id":67,"date":"2026-06-18T18:27:59","date_gmt":"2026-06-18T16:27:59","guid":{"rendered":"https:\/\/ossiadigital.alwaysdata.net\/?page_id=67"},"modified":"2026-06-18T18:18:30","modified_gmt":"2026-06-18T17:18:30","slug":"galerie-photos","status":"publish","type":"page","link":"https:\/\/ossiadigital.alwaysdata.net\/?page_id=67","title":{"rendered":"Galerie Photos"},"content":{"rendered":"\n    <style>\n    .gptcg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}\n    .gptcg-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}\n    .gptcg-card img{width:100%;height:auto;aspect-ratio:16\/9;object-fit:cover;display:block}\n    .gptcg-caption{padding:8px 10px;text-align:center;font-weight:600;line-height:1.35}\n    .gptcg-filter{margin:10px 0 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;text-align:center}\n    <\/style>\n\n<style>\n#gptcg-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:99999;padding:20px}\n#gptcg-lightbox.open{display:flex}\n#gptcg-lightbox .frame{display:flex;align-items:center;gap:16px}\n#gptcg-lightbox img{max-width:85vw;max-height:85vh;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.35);display:block}\n#gptcg-lightbox .title{color:#fff;margin-top:10px;text-align:center;font-weight:600}\n#gptcg-lightbox .close{position:absolute;top:12px;right:16px;font-size:28px;color:#fff;cursor:pointer;user-select:none}\n#gptcg-prev,#gptcg-next{color:#fff;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);border-radius:999px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;user-select:none;transition:background .2s}\n#gptcg-prev:hover,#gptcg-next:hover{background:rgba(0,0,0,.5)}\n#gptcg-prev{position:absolute;left:16px;top:50%;transform:translateY(-50%);}\n#gptcg-next{position:absolute;right:16px;top:50%;transform:translateY(-50%);}\n#gptcg-counter{position:absolute;left:50%;transform:translateX(-50%);top:14px;color:#fff;background:rgba(0,0,0,.35);padding:6px 10px;border-radius:999px;font-weight:600;font-size:14px}\n#gptcg-play{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:8px 14px;cursor:pointer}\n<\/style>\n<div id=\"gptcg-lightbox\" aria-hidden=\"true\">\n  <span class=\"close\" aria-label=\"Fermer\">&times;<\/span>\n  <div id=\"gptcg-prev\" aria-label=\"Pr\u00e9c\u00e9dent\">\u2039<\/div>\n  <div id=\"gptcg-next\" aria-label=\"Suivant\">\u203a<\/div>\n  <div id=\"gptcg-counter\" aria-live=\"polite\"><\/div>\n  <button id=\"gptcg-play\" type=\"button\" aria-pressed=\"false\" aria-label=\"Lire le diaporama\">\u25b6 Lecture<\/button>\n  <div class=\"frame\">\n    <img id=\"gptcg-lightbox-img\" alt=\"\">\n  <\/div>\n  <div id=\"gptcg-lightbox-title\" class=\"title\"><\/div>\n<\/div>\n<script>\n(function(){\n  var lb = document.getElementById('gptcg-lightbox');\n  var imgEl = document.getElementById('gptcg-lightbox-img');\n  var titleEl = document.getElementById('gptcg-lightbox-title');\n  var counterEl = document.getElementById('gptcg-counter');\n  var btnPrev = document.getElementById('gptcg-prev');\n  var btnNext = document.getElementById('gptcg-next');\n  var btnPlay = document.getElementById('gptcg-play');\n  var btnClose = lb.querySelector('.close');\n  var items = [];\n  var index = 0;\n  var timer = null;\n\n  function buildItems() {\n    items = [];\n    document.querySelectorAll('.gptcg-photos .gptcg-card a, .gptcg-albums .gptcg-card a').forEach(function(a){\n      var href = a.getAttribute('href');\n      var cap = a.parentElement.querySelector('.gptcg-caption');\n      var title = cap ? cap.textContent : '';\n      \/\/ Only photos grid (album view) should open viewer to photo URLs (detect by presence of .gptcg-photos)\n      var isPhoto = a.closest('.gptcg-photos') !== null;\n      items.push({href: href, title: title, isPhoto: isPhoto});\n    });\n  }\n\n  function openAt(i){\n    if (!items.length) return;\n    index = (i + items.length) % items.length;\n    var it = items[index];\n    \/\/ If we are in albums list, navigate to album link normally\n    if (!it.isPhoto) { window.location.href = it.href; return; }\n    lb.classList.add('open');\n    lb.setAttribute('aria-hidden','false');\n    imgEl.src = it.href;\n    imgEl.alt = it.title || '';\n    titleEl.textContent = it.title || '';\n    counterEl.textContent = (index+1) + ' \/ ' + items.length;\n  }\n\n  function close(){\n    lb.classList.remove('open');\n    lb.setAttribute('aria-hidden','true');\n    stop();\n  }\n\n  function next(){ openAt(index+1); }\n  function prev(){ openAt(index-1); }\n\n  function play(){\n    if (timer) return;\n    btnPlay.textContent = '\u23f8 Pause';\n    btnPlay.setAttribute('aria-pressed','true');\n    timer = setInterval(next, 3000);\n  }\n  function stop(){\n    if (timer) { clearInterval(timer); timer = null; }\n    btnPlay.textContent = '\u25b6 Lecture';\n    btnPlay.setAttribute('aria-pressed','false');\n  }\n  function togglePlay(){ if (timer) { stop(); } else { play(); } }\n\n  \/\/ Bind events\n  btnNext.addEventListener('click', next);\n  btnPrev.addEventListener('click', prev);\n  btnPlay.addEventListener('click', togglePlay);\n  btnClose.addEventListener('click', close);\n  document.addEventListener('keydown', function(e){\n    if (!lb.classList.contains('open')) return;\n    if (e.key === 'ArrowRight') next();\n    else if (e.key === 'ArrowLeft') prev();\n    else if (e.key === 'Escape') close();\n    else if (e.key === ' ') { e.preventDefault(); togglePlay(); }\n  });\n  lb.addEventListener('click', function(e){ if(e.target === lb) close(); });\n\n  \/\/ Delegate click on photos to open lightbox\n  function attachDelegation(){\n    document.body.addEventListener('click', function(e){\n      var link = e.target.closest('.gptcg-photos .gptcg-card a');\n      if (!link) return;\n      e.preventDefault();\n      buildItems();\n      \/\/ find index of clicked link among photos\n      var list = Array.prototype.slice.call(document.querySelectorAll('.gptcg-photos .gptcg-card a'));\n      var i = list.indexOf(link);\n      if (i < 0) i = 0;\n      openAt(i);\n    });\n  }\n\n  \/\/ Initialize\n  buildItems();\n  attachDelegation();\n})();\n<\/script>\n\n    <form method=\"get\" class=\"gptcg-filter\"><input type=\"hidden\" name=\"rest_route\" value=\"\/wp\/v2\/pages\/67\"><label for=\"gptc_cat\"><strong>Filtrer par cat\u00e9gorie :<\/strong><\/label><select id=\"gptc_cat\" name=\"gptc_cat\" onchange=\"this.form.submit()\"><option value=\"\">Toutes<\/option><\/select><input type=\"search\" name=\"gptc_q\" value=\"\" placeholder=\"Rechercher un album...\" style=\"min-width:220px;padding:6px 10px;border-radius:8px;border:1px solid #d0d5dd\"><button type=\"submit\" class=\"button\" style=\"margin-left:6px\">Rechercher<\/button><\/form><em>Aucun album pour le moment.<\/em>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-67","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/pages\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=67"}],"version-history":[{"count":2,"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/pages\/67\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=\/wp\/v2\/pages\/67\/revisions\/69"}],"wp:attachment":[{"href":"https:\/\/ossiadigital.alwaysdata.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}