Outiref
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Boutique Fléchettes | Cibles, Accessoires et Commandes Adhérents - Toulouse Darts Académie</title>
<script type="text/javascript">
    window.bubble_session_uid = '1780096676451x667190853278989400';
</script>
<script type="text/javascript">
    window.headers_source_maps = [["plugin_main_headers_1658328157117x953686184769617900",214,216],["custom_page_header",218,283],["custom_app_header",284,332]]
</script>
<script type="text/javascript">
function make_proxy(target, name) {
  return new Proxy(target, {
    get: function(target, prop) {
      if (prop in target) {
        return target[prop];
      }
      throw new Error('The variable ' + name + ' is not fully initialized yet');
    }
  });
}
window.appquery = make_proxy({
  app_version: function() { return "live"; },
  last_change: function() { return "58445302350";},
}, 'appquery');
window.Lib = new Proxy(function() {}, {
  get: function(target, prop) {
    if (prop === 'is_skeleton') {
      return true;
    }
    throw new Error('The variable ' + Lib + ' is not fully initialized yet');
  },
  apply: function() {
    return make_proxy({
      current_user: function() {
        return make_proxy({ id: "1780096676451x667190853278989400" }, 'Lib().current_user');
      }
    }, 'Lib()');
  }
});
</script>
<script type="text/javascript">
function load_error_function (event) {
  return window.load_error_log.push({ msg: event.message, error_url: event.filename, line: event.lineno, col: event.colno })
}
window.load_error_log = [];
window.addEventListener('error', load_error_function);
window.disableLoadErrorFunction = function () {
  window.removeEventListener('error', load_error_function);
}
</script>
<meta name="referrer" content="origin">
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_early_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/early_js/05ae9fe83d6b755291132aab9d325d70918aafd336da1bd91a41a31c8b25734b/early.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_early_js'] = Date.now();
</script>
<script type="text/javascript">(function () {
    function onWebFontFinish () {
        window.google_web_fonts_active = true;
if (window.google_web_fonts_active_cb) {
    window.google_web_fonts_active_cb();
}
        (function fontface_loaded_snippet (font) {
  if (window.fontface_loaded == null) {
    window.fontface_loaded = {}
  }
  if (font != null) {
    window.fontface_loaded[font] = true
  } else {
    window.all_fontface_loaded = true
  }
  if (window.fontface_webfonts_loaded_cb) {
    return window.fontface_webfonts_loaded_cb(font)
  }
})()
    }
    const WebFontConfig = {'google': { families: ["Aoboshi One:400","Balthazar:400","Lato:regular","Lato:regular","Lato:900","Montserrat:regular","Montserrat:500","Montserrat:600","Montserrat:700","Montserrat:800"] },
        active: function() {
            onWebFontFinish()
        },
        inactive: function() {
            console.log('Failed to load all the fonts');
            onWebFontFinish()
        },
        fontinactive: function(family_name, fvd) {
            console.log('fontinactive being called for ' + family_name + ', Google says the fonts didnt render');
            onWebFontFinish()
        }
    }
        window.WebFont.load(WebFontConfig);
})();</script>
<script>
(function initialize_data() {
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
        const data = JSON.parse(this.responseText);

        function init_data() {
            data.forEach(function(d) {
                Lib().db_instance().initialize_data(d.id, d.data, d.type, d.version);
            })
        }

        if (window.Lib && window.Lib.is_skeleton == null) {
            init_data();
        } else {
            window.Lib_post_load = init_data;
        }
    }
};
xhr.open("GET", "https://toulousedartsacademie.fr/api/1.1/init/data?location=" + encodeURIComponent(window.location.href), true);
xhr.send();
})();
</script>
<script type="text/javascript">window.gm_key = "AIzaSyBcv6WQA_G3vXVwlV2Ik2m2-vKxl45GT1o";</script>
<script type="text/javascript">window.glrl_key_status = false;</script>
<script type="text/javascript">window.bubble_page_load_id = "1780096676491x1303";</script>
<script type="text/javascript">window.bubble_plp_token = "xS5WGhqG2XyDk32EUpq3WrKnP/lBwSVomgckoHRiQPs=";</script>
<script type="text/javascript">window.bubble_is_leanjs = false;</script>
<script type="text/javascript">window.bubble_shim_modules = true;</script>
<link rel="icon" type="image/png" href="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=128,h=,f=auto,dpr=1,fit=contain/f1770881431031x756346930591944600/Favicon%20TDA.png" />
<meta name="fragment" content="!">
<meta name="description" content="Découvrez la boutique Toulouse Darts Académie : cibles, fléchettes, accessoires, éclairages, tapis et matériel de compétition. Les adhérents bénéficient d&#39;une remise de 10% via les commandes groupées mensuelles.">
<meta property="og:title" content="Boutique Fléchettes | Cibles, Accessoires et Commandes Adhérents - Toulouse Darts Académie" />
<meta name="twitter:title" content="Boutique Fléchettes | Cibles, Accessoires et Commandes Adhérents - Toulouse Darts Académie" />
<meta property="og:site_name" content="Toulouse Darts Académie" />
<meta name="twitter:site_name" content="Toulouse Darts Académie" />
<meta property="og:description" content="Découvrez la boutique Toulouse Darts Académie : cibles, fléchettes, accessoires, éclairages, tapis et matériel de compétition. Les adhérents bénéficient d&#39;une remise de 10% via les commandes groupées mensuelles." />
<meta name="twitter:description" content="Découvrez la boutique Toulouse Darts Académie : cibles, fléchettes, accessoires, éclairages, tapis et matériel de compétition. Les adhérents bénéficient d&#39;une remise de 10% via les commandes groupées mensuelles." />
<link rel="image_src" href="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1780076158395x952389117805675600/Toulosue%20Darts%20Acad%C3%A9mie%20-%20Logo.png" />
<meta property="og:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1780076158395x952389117805675600/Toulosue%20Darts%20Acad%C3%A9mie%20-%20Logo.png" />
<meta name="twitter:image:src" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/cdn-cgi/image/w=,h=,f=auto,dpr=1,fit=contain/f1780076158395x952389117805675600/Toulosue%20Darts%20Acad%C3%A9mie%20-%20Logo.png" />
<meta property="og:url" content="https://toulousedartsacademie.fr/boutiques" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script type="text/javascript">window._p = '{"id":"app_starter_2023","no_branding":true,"import_export_csv":true,"custom_domain":true}';</script>
<script type="text/javascript">window.bubble_page_name = "boutiques";</script>
<script type="text/javascript">window.__bubble_module_mode = false;</script>
<link type="text/css" href="/package/run_css/a0b600e976fcbe0620d0a81b79a3a9a9db9fbe5a34c5263c18ec513615e43acf/toulouse-darts-acadmie/live/boutiques/xfalse/xfalse/run.css" rel="stylesheet">
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_run_js'] = Date.now();
</script>
<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/pre_run_jquery_js/dee903a9e36db713e4c86d0cdd96d921e37be0c1293ed8dee29e2e4d7713b9ff/pre_run_jquery.js"></script>
<script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/run_js/d092a54e81bf6ba73b05c3babba90a58ebcc8729648ccca672682f6cc38a0a7c/xtrue/x33/run.js"></script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_run_js'] = Date.now();
</script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_static_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/static_js/6f7fe6205404878207a1f3f8b38c00bb2bec5a5dd484f278bbc2922df65222cf/toulouse-darts-acadmie/live/boutiques/xnull/xfalse/xfalse/xtrue/static.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_static_js'] = Date.now();
</script>
<script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['pre_dynamic_js'] = Date.now();
</script><script type="text/javascript" crossorigin="anonymous" charset="UTF-8" src="/package/dynamic_js/87b06ce2b862591c6d9e0dfe39467a670268bebf05bb45f8e0fb284c0fe70a19/toulouse-darts-acadmie/live/boutiques/xnull/xfalse/xtrue/fr_fr/xfalse/xfalse/dynamic.js"></script><script type="text/javascript">
if (!window._bubble_page_load_data) {
  window._bubble_page_load_data = {}
}
if (!window._bubble_page_load_data.js_execution_timings) {
  window._bubble_page_load_data.js_execution_timings = {}
}
window._bubble_page_load_data.js_execution_timings['post_dynamic_js'] = Date.now();
</script>
<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_start_execution = Date.now();</script>
<!-- 1658328157117x953686184769617900 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/css/iziToast.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/izitoast/1.4.0/js/iziToast.min.js" type="text/javascript"></script>
<script type="text/javascript">window._bubble_page_load_data.js_execution_timings.plugin_js_end_execution = Date.now();</script>
<!-- custom page header -->
<title>Boutique Fléchettes | Cibles, Accessoires et Commandes Adhérents - Toulouse Darts Académie</title>

<meta name="description" content="Découvrez la boutique Toulouse Darts Académie : cibles, fléchettes, accessoires, éclairages, tapis et matériel de compétition. Les adhérents bénéficient d'une remise de 10% via les commandes groupées mensuelles.">

<meta name="keywords" content="boutique fléchettes Toulouse, matériel darts Toulouse, cible fléchettes électronique, cible sisal, accessoires fléchettes, éclairage cible, tapis fléchettes, boutique darts France, commande groupée fléchettes, remise adhérents fléchettes">

<link rel="canonical" href="https://toulousedartsacademie.fr/boutiques">

<meta name="robots" content="index, follow">

<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://toulousedartsacademie.fr/boutiques">
<meta property="og:title" content="Boutique Fléchettes | Toulouse Darts Académie">
<meta property="og:description" content="Retrouvez notre sélection de matériel de fléchettes et profitez des avantages adhérents avec 10% de remise sur les commandes groupées mensuelles.">
<meta property="og:image" content="https://toulousedartsacademie.fr/og-image.png">
<meta property="og:site_name" content="Toulouse Darts Académie">
<meta property="og:locale" content="fr_FR">

<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Boutique Fléchettes | Toulouse Darts Académie">
<meta name="twitter:description" content="Cibles, accessoires, éclairages, tapis et matériel de fléchettes. Avantages adhérents et commandes groupées avec remise de 10%.">
<meta name="twitter:image" content="https://toulousedartsacademie.fr/og-image.png">
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Store",
  "@id": "https://toulousedartsacademie.fr/boutiques",
  "name": "Boutique Toulouse Darts Académie",
  "url": "https://toulousedartsacademie.fr/boutiques",
  "image": "https://toulousedartsacademie.fr/og-image.png",
  "description": "Boutique de matériel et accessoires de fléchettes. Commandes groupées mensuelles avec avantages réservés aux adhérents.",
  "parentOrganization": {
    "@id": "https://toulousedartsacademie.fr/#organization"
  },
  "makesOffer": [
    {
      "@type": "Offer",
      "name": "Cibles et accessoires de fléchettes"
    },
    {
      "@type": "Offer",
      "name": "Cibles électroniques"
    },
    {
      "@type": "Offer",
      "name": "Contours de cible"
    },
    {
      "@type": "Offer",
      "name": "Éclairage et scoring"
    },
    {
      "@type": "Offer",
      "name": "Tapis de sol"
    },
    {
      "@type": "Offer",
      "name": "Commande mensuelle adhérents",
      "description": "Commande groupée réservée aux adhérents avec remise de 10% sur une sélection de matériel."
    }
  ]
}
</script>
<!-- custom app meta header -->
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:title" content="Toulouse Darts Académie | Première académie de fléchettes en France">
<meta property="og:description" content="Club associatif d’intérêt général dédié à la formation, à la compétition et au développement des fléchettes sportives à Toulouse.">
<meta property="og:url" content="https://toulousedartsacademie.fr">
<meta property="og:site_name" content="Toulouse Darts Académie">
<meta property="og:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1772461455250x237969645395305730/Toulouse%20darts%20acad%C3%A9mie.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:locale" content="fr_FR">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-EHTQT6YGC4"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-EHTQT6YGC4');
</script>
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Première académie de fléchettes en France – Toulouse">
<meta name="twitter:description" content="Formation, compétitions et développement des darts dans un cadre associatif et inclusif.">
<meta name="twitter:image" content="https://bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/f1772461455250x237969645395305730/Toulouse%20darts%20acad%C3%A9mie.png">

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["SportsOrganization", "NonprofitOrganization"],
  "name": "Toulouse Darts Académie",
  "alternateName": "Toulouse Darts",
  "url": "https://toulousedartsacademie.fr",
  "description": "Association d’intérêt général dédiée au développement, à la promotion et à la pratique des fléchettes sportives à Toulouse.",
  "foundingDate": "2026",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "72 Chemin Carrosse, Apt 1",
    "addressLocality": "Toulouse",
    "postalCode": "31400",
    "addressCountry": "FR"
  },
  "sport": "Darts",
  "areaServed": {
    "@type": "Country",
    "name": "France"
  }
}
</script>
</head>
<body><script type="text/javascript">
window.addEventListener('DOMContentLoaded', function () {
  if (window.appquery == null) {
    (function() {
    const html = `
      <div class="error-card">
        <div class="error-section">
          <div class="error-title">Your browser was unable to load some necessary resources</div>
          <div class="error-message">Contact your IT network administrator to allow access to:
    • d3dqmih97rcqmh.cloudfront.net
    • bd1631dddb9a60cfb51bb8a70d4a9aae.cdn.bubble.io/
    • d1muf25xaso8hp.cloudfront.net</div>
        </div>
      </div>
    `

    const css = document.createElement('style')
    css.type = 'text/css'
    css.appendChild(
      document.createTextNode(`
      .error-overlay {
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.30);
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        position: fixed;
        inset: 0;
        z-index: 999999;
      }

      .error-card {
        width: 500px;
        margin: 40px;
        background: white;
        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
        border-radius: 8px;
        display: flex;
        flex-direction: column;
      }

      .error-section {
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .error-title {
        color: #1A1A1A;
        font-size: 18px;
        font-family: Arial, sans-serif;
        font-weight: 600;
        line-height: 28px;
      }

      .error-message {
        color: #525252;
        font-size: 14px;
        font-family: Arial, sans-serif;
        font-weight: 400;
        line-height: 20px;
        white-space: pre-wrap;
      }
    `)
    )
    document.head.appendChild(css)

    const container = document.createElement('div')
    container.className = 'error-overlay'
    container.innerHTML = html
    document.body.appendChild(container)
  })()
    httpRequest = new XMLHttpRequest();
httpRequest.open('POST', '/user/m', true);
httpRequest.setRequestHeader('Content-Type', 'application/json');
httpRequest.send(JSON.stringify({measures: {page_load_error: 1, url: document.location.href, errors: window.load_error_log}}));
  };
});
</script><script>
(function () {
  // Inject ripple CSS once
  if (!document.getElementById('ripple-style')) {
    const style = document.createElement("style");
    style.id = "ripple-style";
    style.innerHTML = `
      .ripple-circle {
        position: absolute;
        border-radius: 50%;
        transform: scale(0);
        animation: ripple-animation 600ms linear;
        background-color: var(--color_success_default);
        pointer-events: none;
      }
      @keyframes ripple-animation {
        to {
          transform: scale(4);
          opacity: 0;
        }
      }
    `;
    document.head.appendChild(style);
  }

  // Listen to all clicks
  document.addEventListener('click', function (e) {
    const id = e.target.closest('[id^="anim"]')?.id;
    if (!id) return;

    const target = document.getElementById(id);
    if (!target) return;

    // Ensure ripple container is ready
    target.style.position = 'relative';
    target.style.overflow = 'hidden';

    const rect = target.getBoundingClientRect();
    const size = Math.max(rect.width, rect.height);
    const ripple = document.createElement('span');
    ripple.classList.add('ripple-circle');
    ripple.style.width = ripple.style.height = size + 'px';
    ripple.style.left = (e.clientX - rect.left - size / 2) + 'px';
    ripple.style.top = (e.clientY - rect.top - size / 2) + 'px';
    ripple.style.zIndex = '999';

    target.appendChild(ripple);
    setTimeout(() => ripple.remove(), 600);
  });
})();
</script><script type="text/javascript">window.addEventListener('DOMContentLoaded', function () {if (window.appquery && window.app == null) {(function() {
    const html = `
      <div class="error-card">
        <div class="error-section">
          <div class="error-title">Your browser was unable to load the application</div>
          <div class="error-message">We&#39;ve been notified of the issue. Please try again in a few moments and make sure not to use ad-blockers.</div>
        </div>
      </div>
    `

    const css = document.createElement('style')
    css.type = 'text/css'
    css.appendChild(
      document.createTextNode(`
      .error-overlay {
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.30);
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        position: fixed;
        inset: 0;
        z-index: 999999;
      }

      .error-card {
        width: 500px;
        margin: 40px;
        background: white;
        box-shadow: 0px 1px 2px rgba(0,0,0,0.10);
        border-radius: 8px;
        display: flex;
        flex-direction: column;
      }

      .error-section {
        padding: 40px;
        display: flex;
        flex-direction: column;
        gap: 12px;
      }

      .error-title {
        color: #1A1A1A;
        font-size: 18px;
        font-family: Arial, sans-serif;
        font-weight: 600;
        line-height: 28px;
      }

      .error-message {
        color: #525252;
        font-size: 14px;
        font-family: Arial, sans-serif;
        font-weight: 400;
        line-height: 20px;
        white-space: pre-wrap;
      }
    `)
    )
    document.head.appendChild(css)

    const container = document.createElement('div')
    container.className = 'error-overlay'
    container.innerHTML = html
    document.body.appendChild(container)
  })()}});</script>
<img style="display: none;" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
</body>
</html>