{"id":103682,"date":"2026-05-29T16:10:31","date_gmt":"2026-05-29T16:10:31","guid":{"rendered":"https:\/\/www.grizzliz.com\/media\/?page_id=103682"},"modified":"2026-05-29T16:10:31","modified_gmt":"2026-05-29T16:10:31","slug":"trouver-un-club","status":"publish","type":"page","link":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/","title":{"rendered":"Trouver un club"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"103682\" class=\"elementor elementor-103682\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-grzclubs elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"grzclubs\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-grzclubc\" data-id=\"grzclubc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-grzclubw elementor-widget elementor-widget-html\" data-id=\"grzclubw\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\n     GRIZZLIZ \u2014 Page \"Trouver un club\" \/media\/clubs\/\n     \u00c0 coller dans un widget HTML Elementor (page pleine largeur).\n     Le CSS va dans Personnaliser \u2192 CSS additionnel (clubs-hub.css).\n     Carte = Leaflet + OpenStreetMap (charg\u00e9 via CDN ci-dessous).\n     Donn\u00e9es = endpoint \/wp-json\/grz\/v1\/clubs-search (mu-plugin grizzliz-clubs.php)\n     ============================================================ -->\n\n<!-- Leaflet (carte) -->\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\"\n      integrity=\"sha256-p4NxAoJBhIIN+hmNHrzRCf9tD\/miZyoHS5obTRR9BMY=\" crossorigin=\"\" \/>\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"\n        integrity=\"sha256-20nQCchB9co0qIjJZRGuk2\/Z9VM+kNiyxNV1lvTlZBo=\" crossorigin=\"\"><\/script>\n\n<div id=\"grz-clubs\" class=\"show-list\">\n\n  <!-- \u2500\u2500 Recherche \u2500\u2500 -->\n  <div class=\"clubs-top\">\n    <div class=\"container\">\n      <div class=\"head\">\n        <h1>Trouve ton club de combat<\/h1>\n        <span class=\"count\" id=\"grz-count\"><\/span>\n      <\/div>\n\n      <div class=\"cs-bar\">\n        <div class=\"cs-field\">\n          <label>Ville ou code postal<\/label>\n          <div class=\"val\">\n            <span class=\"ico-lead\">\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s7-6.3 7-11a7 7 0 1 0-14 0c0 4.7 7 11 7 11Z\"\/><circle cx=\"12\" cy=\"10\" r=\"2.5\"\/><\/svg>\n            <\/span>\n            <input id=\"grz-q\" type=\"text\" placeholder=\"Paris, Lyon, 75011\u2026\" autocomplete=\"off\" \/>\n          <\/div>\n        <\/div>\n        <div class=\"cs-field\">\n          <label>Sport<\/label>\n          <div class=\"val\">\n            <select id=\"grz-sport\"><option value=\"all\">Tous les sports<\/option><\/select>\n          <\/div>\n        <\/div>\n        <div class=\"cs-field\">\n          <label>Rayon<\/label>\n          <div class=\"val\">\n            <select id=\"grz-radius\">\n              <option value=\"5\">5 km<\/option>\n              <option value=\"10\">10 km<\/option>\n              <option value=\"25\" selected>25 km<\/option>\n              <option value=\"50\">50 km<\/option>\n              <option value=\"100\">100 km<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n        <button class=\"cs-submit\" id=\"grz-search\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"m21 21-4.3-4.3\"\/><\/svg>\n          Rechercher\n        <\/button>\n      <\/div>\n\n      <div class=\"sport-chips\" id=\"grz-chips\"><\/div>\n      <div class=\"view-toggle\" id=\"grz-toggle\">\n        <button data-view=\"list\" class=\"active\">Liste<\/button>\n        <button data-view=\"map\">Carte<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- \u2500\u2500 Split liste + carte \u2500\u2500 -->\n  <div class=\"container\">\n    <div class=\"split\">\n      <div>\n        <div class=\"list-head\">\n          <span class=\"lbl\" id=\"grz-list-label\">Clubs<\/span>\n          <span class=\"lbl\" id=\"grz-sort\">Distance<\/span>\n        <\/div>\n        <div class=\"club-list\" id=\"grz-list\">\n          <div class=\"loading\">Recherche des clubs&hellip;<\/div>\n        <\/div>\n        <button class=\"btn-line\" id=\"grz-more\" style=\"display:none\">Charger plus de clubs<\/button>\n      <\/div>\n\n      <div class=\"map-wrap\">\n        <div style=\"position:relative\">\n          <span class=\"map-badge\" id=\"grz-map-badge\"><\/span>\n          <div id=\"grz-map\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- \u2500\u2500 Bande \"Tu g\u00e8res un club ?\" \u2500\u2500 -->\n  <section class=\"join-band\">\n    <div class=\"container\">\n      <div>\n        <h3>Tu g\u00e8res un club ?<\/h3>\n        <p>R\u00e9f\u00e9rence ta salle gratuitement sur l'annuaire Grizzliz.<\/p>\n      <\/div>\n      <a class=\"btn-white\" href=\"\/media\/referencer-mon-club\/\">R\u00e9f\u00e9rencer mon club \u2192<\/a>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<script>\n(function () {\n  'use strict';\n\n  var API   = '\/media\/wp-json\/grz\/v1';\n  var GEOAPI = 'https:\/\/api-adresse.data.gouv.fr\/search\/';\n  var PER_PAGE = 12;\n\n  \/* \u00c9tat *\/\n  var state = {\n    q: '', lat: null, lng: null, sport: 'all', radius: 25,\n    page: 1, total: 0, loaded: 0\n  };\n  var sportsMeta = {};   \/* slug -> {label,dot,shop} *\/\n  var map, markers = [], youMarker = null, activeId = null;\n\n  \/* DOM *\/\n  function $(id){ return document.getElementById(id); }\n  var elList  = $('grz-list'),  elCount = $('grz-count'),\n      elChips = $('grz-chips'), elSel = $('grz-sport'),\n      elMore  = $('grz-more'),  elBadge = $('grz-map-badge'),\n      elLabel = $('grz-list-label');\n\n  \/* \u2500\u2500 Carte Leaflet \u2500\u2500 *\/\n  function initMap(){\n    map = L.map('grz-map', { scrollWheelZoom: false }).setView([46.6, 2.4], 5); \/* centre France *\/\n    L.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/light_all\/{z}\/{x}\/{y}{r}.png', {\n      attribution: '&copy; OpenStreetMap &copy; CARTO', maxZoom: 19, subdomains: 'abcd'\n    }).addTo(map);\n  }\n\n  function clearMarkers(){\n    for (var i=0;i<markers.length;i++){ try { map.removeLayer(markers[i].m); } catch(e){} }\n    markers = [];\n  }\n\n  function pinIcon(label, active){\n    return L.divIcon({\n      className: '', html: '<div class=\"grz-pin'+(active?' active':'')+'\"><span>'+label+'<\/span><\/div>',\n      iconSize: [28,28], iconAnchor: [14,28], popupAnchor: [0,-26]\n    });\n  }\n\n  \/* \u2500\u2500 Chargement des sports (chips + select) \u2500\u2500 *\/\n  function loadSports(cb){\n    ajax(API + '\/clubs-sports', function(err, data){\n      if (err || !data){ cb && cb(); return; }\n      var chips = '<button class=\"sport-chip active\" data-sport=\"all\">Tous<\/button>';\n      for (var i=0;i<data.length;i++){\n        var s = data[i];\n        sportsMeta[s.slug] = s;\n        chips += '<button class=\"sport-chip\" data-sport=\"'+s.slug+'\">' +\n                 '<span class=\"dot\" style=\"background:'+s.dot+'\"><\/span>'+s.label+\n                 ' <span class=\"c\">'+s.count+'<\/span><\/button>';\n        var o = document.createElement('option');\n        o.value = s.slug; o.textContent = s.label;\n        elSel.appendChild(o);\n      }\n      elChips.innerHTML = chips;\n      cb && cb();\n    });\n  }\n\n  \/* \u2500\u2500 Recherche \u2500\u2500 *\/\n  function runSearch(reset){\n    if (reset){ state.page = 1; state.loaded = 0; }\n    var url = API + '\/clubs-search?per_page='+PER_PAGE+'&page='+state.page+'&radius='+state.radius;\n    if (state.lat && state.lng){ url += '&lat='+state.lat+'&lng='+state.lng; }\n    if (state.sport && state.sport!=='all'){ url += '&sport='+encodeURIComponent(state.sport); }\n\n    if (reset){ elList.innerHTML = '<div class=\"loading\">Recherche des clubs&hellip;<\/div>'; }\n\n    ajax(url, function(err, data){\n      if (err || !data){ elList.innerHTML = '<div class=\"empty\"><h3>Erreur<\/h3><p>R\u00e9essaie dans un instant.<\/p><\/div>'; return; }\n      state.total = data.total;\n      renderResults(data, reset);\n    });\n  }\n\n  function renderResults(data, reset){\n    var clubs = data.clubs || [];\n\n    \/* compteur + labels *\/\n    var where = state.q ? (' autour de <b>'+escapeHtml(state.q)+'<\/b>') : ' en France';\n    elCount.innerHTML = state.total + ' club' + (state.total>1?'s':'') + where;\n    elBadge.innerHTML = state.total + ' clubs' + (data.has_geo ? (' \u00b7 rayon '+state.radius+' km') : '');\n    elLabel.textContent = data.has_geo ? 'Tri\u00e9s par proximit\u00e9' : 'Clubs';\n\n    if (reset){ elList.innerHTML = ''; clearMarkers(); }\n\n    if (!clubs.length && reset){\n      elList.innerHTML = '<div class=\"empty\"><h3>Aucun club<\/h3><p>Essaie d\\'\u00e9largir le rayon ou de changer de sport.<\/p><\/div>';\n      elMore.style.display = 'none';\n      fitMap();\n      return;\n    }\n\n    var startIndex = state.loaded;\n    for (var i=0;i<clubs.length;i++){\n      var c = clubs[i];\n      var idx = startIndex + i + 1;\n      elList.insertAdjacentHTML('beforeend', cardHtml(c, idx));\n      addMarker(c, idx);\n    }\n    state.loaded += clubs.length;\n\n    \/* \"charger plus\" *\/\n    elMore.style.display = (state.loaded < state.total) ? 'inline-flex' : 'none';\n\n    bindRows();\n    fitMap();\n  }\n\n  function cardHtml(c, idx){\n    var sportsTags = '';\n    for (var i=0;i<(c.sports||[]).length;i++){\n      var s = c.sports[i];\n      sportsTags += '<span class=\"cc-sport-tag\"><span class=\"dot\" style=\"background:'+s.dot+'\"><\/span>'+s.label+'<\/span>';\n    }\n    var primary = (c.sports && c.sports[0]) ? c.sports[0] : null;\n    var shopLink = (primary && primary.shop && primary.shop!=='#')\n      ? '<a class=\"cc-shop\" href=\"'+primary.shop+'\" target=\"_blank\" rel=\"noopener\">S\\'\u00e9quiper '+primary.label+' \u203a<\/a>' : '';\n    var dist = (c.distance !== null && c.distance !== undefined) ? '<span class=\"cr-dist\">'+c.distance+' km<\/span>' : '';\n    var addr = escapeHtml(c.address ? c.address : ((c.zip||'')+' '+(c.city||'')));\n\n    return '<article class=\"club-row\" data-id=\"'+c.id+'\" data-lat=\"'+(c.lat||'')+'\" data-lng=\"'+(c.lng||'')+'\">' +\n      '<div class=\"cr-photo\"><span class=\"cr-pin\"><span>'+idx+'<\/span><\/span><\/div>' +\n      '<div class=\"cr-body\">' +\n        '<div class=\"cr-top\"><h3 class=\"cr-name\">'+escapeHtml(c.name)+'<\/h3>'+dist+'<\/div>' +\n        '<div class=\"cc-sports\">'+sportsTags+'<\/div>' +\n        '<div class=\"cr-addr\">'+addr+'<\/div>' +\n        '<div class=\"cr-meta\">' +\n          '<a class=\"cc-shop\" href=\"'+c.permalink+'\">Voir le club \u203a<\/a>' +\n          shopLink +\n        '<\/div>' +\n      '<\/div>' +\n    '<\/article>';\n  }\n\n  function addMarker(c, idx){\n    if (!c.lat || !c.lng) return;\n    if (typeof L === 'undefined' || !L.marker) return; \/* mode d\u00e9grad\u00e9 sans carte *\/\n    var m = L.marker([c.lat, c.lng], { icon: pinIcon(idx, false) }).addTo(map);\n    m.bindPopup(\n      '<div class=\"lp-name\">'+escapeHtml(c.name)+'<\/div>' +\n      '<div class=\"lp-meta\">'+escapeHtml((c.zip||'')+' '+(c.city||''))+(c.distance!=null?(' \u00b7 '+c.distance+' km'):'')+'<\/div>' +\n      '<a class=\"lp-link\" href=\"'+c.permalink+'\">Voir le club \u203a<\/a>'\n    );\n    m.on('click', function(){ setActive(c.id); });\n    markers.push({ id: c.id, m: m, idx: idx });\n  }\n\n  function fitMap(){\n    if (!markers.length){\n      if (state.lat && state.lng){ map.setView([state.lat, state.lng], 11); }\n      return;\n    }\n    var group = [];\n    for (var i=0;i<markers.length;i++){ group.push(markers[i].m.getLatLng()); }\n    if (state.lat && state.lng && youMarker){ group.push([state.lat, state.lng]); }\n    map.fitBounds(L.latLngBounds(group).pad(0.15));\n  }\n\n  \/* \u2500\u2500 Sync liste \u2194 carte \u2500\u2500 *\/\n  function setActive(id){\n    activeId = id;\n    var rows = elList.querySelectorAll('.club-row');\n    for (var i=0;i<rows.length;i++){\n      rows[i].classList.toggle('active', parseInt(rows[i].getAttribute('data-id'),10)===id);\n    }\n    for (var j=0;j<markers.length;j++){\n      var mk = markers[j];\n      mk.m.setIcon(pinIcon(mk.idx, mk.id===id));\n      if (mk.id===id){ mk.m.openPopup(); map.panTo(mk.m.getLatLng()); }\n    }\n  }\n\n  function bindRows(){\n    var rows = elList.querySelectorAll('.club-row');\n    for (var i=0;i<rows.length;i++){\n      (function(row){\n        row.addEventListener('mouseenter', function(){ setActive(parseInt(row.getAttribute('data-id'),10)); });\n        row.addEventListener('click', function(e){\n          if (e.target.closest('a')) return; \/* laisse les liens fonctionner *\/\n          var lat = parseFloat(row.getAttribute('data-lat')), lng = parseFloat(row.getAttribute('data-lng'));\n          if (lat && lng){ map.setView([lat,lng], 14); }\n          setActive(parseInt(row.getAttribute('data-id'),10));\n        });\n      })(rows[i]);\n    }\n  }\n\n  \/* \u2500\u2500 G\u00e9ocodage de la ville saisie \u2500\u2500 *\/\n  function geocodeThenSearch(){\n    var q = elState_q();\n    if (!q){ state.lat = null; state.lng = null; runSearch(true); pushUrl(); return; }\n    ajax(GEOAPI + '?limit=1&q=' + encodeURIComponent(q), function(err, data){\n      if (!err && data && data.features && data.features.length){\n        var co = data.features[0].geometry.coordinates; \/* [lng,lat] *\/\n        state.lng = co[0]; state.lat = co[1];\n        placeYou(state.lat, state.lng);\n      } else {\n        state.lat = null; state.lng = null;\n        if (youMarker){ map.removeLayer(youMarker); youMarker = null; }\n      }\n      runSearch(true); pushUrl();\n    });\n  }\n\n  function placeYou(lat,lng){\n    if (youMarker){ map.removeLayer(youMarker); }\n    youMarker = L.marker([lat,lng], {\n      icon: L.divIcon({ className:'', html:'<div class=\"grz-you\"><\/div>', iconSize:[16,16], iconAnchor:[8,8] }),\n      zIndexOffset: -1000\n    }).addTo(map);\n  }\n\n  function elState_q(){ state.q = $('grz-q').value.trim(); return state.q; }\n\n  \/* \u2500\u2500 URL state \u2500\u2500 *\/\n  function pushUrl(){\n    var p = [];\n    if (state.q) p.push('ville='+encodeURIComponent(state.q));\n    \/* 'discipline' et pas 'sport' : le param ?sport= d\u00e9clenche une redirection\n       WordPress\/Voxel vers une fiche club (\u2192 404). 'discipline' est neutre. *\/\n    if (state.sport!=='all') p.push('discipline='+state.sport);\n    if (state.radius!=25) p.push('rayon='+state.radius);\n    history.replaceState(null,'', p.length ? ('?'+p.join('&')) : location.pathname);\n  }\n  function readUrl(){\n    var p = new URLSearchParams(location.search);\n    if (p.get('ville')){ state.q = p.get('ville'); $('grz-q').value = state.q; }\n    \/* lit 'discipline' (+ 'sport' en repli pour les anciens liens partag\u00e9s) *\/\n    if (p.get('discipline')){ state.sport = p.get('discipline'); }\n    else if (p.get('sport')){ state.sport = p.get('sport'); }\n    if (p.get('rayon')){ state.radius = parseInt(p.get('rayon'),10)||25; }\n    $('grz-radius').value = String(state.radius);\n  }\n\n  \/* \u2500\u2500 Helpers \u2500\u2500 *\/\n  function ajax(url, cb){\n    var x = new XMLHttpRequest();\n    x.open('GET', url, true);\n    x.onreadystatechange = function(){\n      if (x.readyState!==4) return;\n      if (x.status>=200 && x.status<300){\n        try { cb(null, JSON.parse(x.responseText)); } catch(e){ cb(e); }\n      } else { cb(new Error('HTTP '+x.status)); }\n    };\n    x.send();\n  }\n  function escapeHtml(s){\n    s = (s==null) ? '' : String(s);\n    return s.replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n  }\n\n  \/* \u2500\u2500 Events \u2500\u2500 *\/\n  $('grz-search').addEventListener('click', geocodeThenSearch);\n  $('grz-q').addEventListener('keydown', function(e){ if (e.key==='Enter'){ e.preventDefault(); geocodeThenSearch(); } });\n  $('grz-radius').addEventListener('change', function(){ state.radius = parseInt(this.value,10)||25; geocodeThenSearch(); });\n  elSel.addEventListener('change', function(){ state.sport = this.value; syncChips(); runSearch(true); pushUrl(); });\n  elMore.addEventListener('click', function(){ state.page++; runSearch(false); });\n\n  elChips.addEventListener('click', function(e){\n    var b = e.target.closest('.sport-chip'); if (!b) return;\n    state.sport = b.getAttribute('data-sport');\n    elSel.value = state.sport; syncChips(); runSearch(true); pushUrl();\n  });\n  function syncChips(){\n    var chips = elChips.querySelectorAll('.sport-chip');\n    for (var i=0;i<chips.length;i++){ chips[i].classList.toggle('active', chips[i].getAttribute('data-sport')===state.sport); }\n  }\n\n  \/* toggle mobile Liste\/Carte *\/\n  $('grz-toggle').addEventListener('click', function(e){\n    var b = e.target.closest('button'); if (!b) return;\n    var v = b.getAttribute('data-view');\n    var root = $('grz-clubs');\n    root.classList.toggle('show-map', v==='map');\n    root.classList.toggle('show-list', v==='list');\n    var btns = this.querySelectorAll('button');\n    for (var i=0;i<btns.length;i++){ btns[i].classList.toggle('active', btns[i]===b); }\n    if (v==='map'){ setTimeout(function(){ map.invalidateSize(); fitMap(); }, 50); }\n  });\n\n  \/* \u2500\u2500 Init (attend que Leaflet soit charg\u00e9 \u2014 CDN async) \u2500\u2500 *\/\n  function boot(){\n    if (typeof L === 'undefined' || !L.map){\n      \/* Leaflet pas encore pr\u00eat : on r\u00e9essaie, et en dernier recours on\n         charge le script nous-m\u00eames. *\/\n      if (!boot._waited){ boot._waited = 0; }\n      boot._waited++;\n      if (boot._waited === 1 && !document.querySelector('script[data-grz-leaflet]')){\n        var sc = document.createElement('script');\n        sc.src = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js';\n        sc.setAttribute('data-grz-leaflet','1');\n        document.body.appendChild(sc);\n        var lk = document.createElement('link');\n        lk.rel = 'stylesheet'; lk.href = 'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css';\n        document.head.appendChild(lk);\n      }\n      if (boot._waited > 60){ \/* ~6s : on abandonne la carte mais on garde la liste *\/\n        elList.innerHTML = '<div class=\"loading\">Chargement de la liste\u2026<\/div>';\n        map = { setView:function(){return this;}, fitBounds:function(){}, panTo:function(){},\n                removeLayer:function(){}, invalidateSize:function(){} };\n        startApp();\n        return;\n      }\n      setTimeout(boot, 100);\n      return;\n    }\n    initMap();\n    startApp();\n  }\n  function startApp(){\n    readUrl();\n    loadSports(function(){\n      syncChips();\n      if (state.q){ geocodeThenSearch(); } else { runSearch(true); }\n    });\n  }\n\n  if (document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Page annuaire clubs \u2014 mont\u00e9e via widget HTML Elementor (injection wpdb).<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-103682","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Trouver un club | Grizzliz<\/title>\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.grizzliz.com\/media\/trouver-un-club\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trouver un club | Grizzliz\" \/>\n<meta property=\"og:description\" content=\"Page annuaire clubs \u2014 mont\u00e9e via widget HTML Elementor (injection wpdb).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/\" \/>\n<meta property=\"og:site_name\" content=\"Grizzliz\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/Grizzliz\/61585516850193\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/\",\"url\":\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/\",\"name\":\"Trouver un club | Grizzliz\",\"isPartOf\":{\"@id\":\"https:\/\/www.grizzliz.com\/media\/#website\"},\"datePublished\":\"2026-05-29T16:10:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.grizzliz.com\/media\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trouver un club\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.grizzliz.com\/media\/#website\",\"url\":\"https:\/\/www.grizzliz.com\/media\/\",\"name\":\"Media Grizzliz | Club de Sport | Combattant\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.grizzliz.com\/media\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.grizzliz.com\/media\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.grizzliz.com\/media\/#organization\",\"name\":\"Grizzliz\",\"url\":\"https:\/\/www.grizzliz.com\/media\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.grizzliz.com\/media\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.grizzliz.com\/media\/wp-content\/uploads\/2026\/02\/3.png\",\"contentUrl\":\"https:\/\/www.grizzliz.com\/media\/wp-content\/uploads\/2026\/02\/3.png\",\"width\":1000,\"height\":1000,\"caption\":\"Grizzliz\"},\"image\":{\"@id\":\"https:\/\/www.grizzliz.com\/media\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/people\/Grizzliz\/61585516850193\/\",\"https:\/\/www.instagram.com\/grizzliz.store\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Trouver un club | Grizzliz","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/","og_locale":"fr_FR","og_type":"article","og_title":"Trouver un club | Grizzliz","og_description":"Page annuaire clubs \u2014 mont\u00e9e via widget HTML Elementor (injection wpdb).","og_url":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/","og_site_name":"Grizzliz","article_publisher":"https:\/\/www.facebook.com\/people\/Grizzliz\/61585516850193\/","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/","url":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/","name":"Trouver un club | Grizzliz","isPartOf":{"@id":"https:\/\/www.grizzliz.com\/media\/#website"},"datePublished":"2026-05-29T16:10:31+00:00","breadcrumb":{"@id":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.grizzliz.com\/media\/trouver-un-club\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.grizzliz.com\/media\/trouver-un-club\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.grizzliz.com\/media\/"},{"@type":"ListItem","position":2,"name":"Trouver un club"}]},{"@type":"WebSite","@id":"https:\/\/www.grizzliz.com\/media\/#website","url":"https:\/\/www.grizzliz.com\/media\/","name":"Media Grizzliz | Club de Sport | Combattant","description":"","publisher":{"@id":"https:\/\/www.grizzliz.com\/media\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.grizzliz.com\/media\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.grizzliz.com\/media\/#organization","name":"Grizzliz","url":"https:\/\/www.grizzliz.com\/media\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.grizzliz.com\/media\/#\/schema\/logo\/image\/","url":"https:\/\/www.grizzliz.com\/media\/wp-content\/uploads\/2026\/02\/3.png","contentUrl":"https:\/\/www.grizzliz.com\/media\/wp-content\/uploads\/2026\/02\/3.png","width":1000,"height":1000,"caption":"Grizzliz"},"image":{"@id":"https:\/\/www.grizzliz.com\/media\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/Grizzliz\/61585516850193\/","https:\/\/www.instagram.com\/grizzliz.store\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/pages\/103682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/comments?post=103682"}],"version-history":[{"count":1,"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/pages\/103682\/revisions"}],"predecessor-version":[{"id":103689,"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/pages\/103682\/revisions\/103689"}],"wp:attachment":[{"href":"https:\/\/www.grizzliz.com\/media\/wp-json\/wp\/v2\/media?parent=103682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}