<!DOCTYPE html><html lang="fr" dir="ltr"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"><!-- Favicons & Icons --><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="apple-touch-icon" sizes="180x180" href="/favicon.svg"><link rel="manifest" href="/site.webmanifest"><meta name="theme-color" content="var(--bp-accent)"><meta name="mobile-web-app-capable" content="yes"><!-- Font General Sans chargee localement via @font-face dans theme.css --><!-- Preload Images Critiques (Above the Fold) --><link rel="preload" as="image" href="/uploads/img-podcast.webp" type="image/webp" fetchpriority="high"><!-- Generator --><meta name="generator" content="Astro v5.16.9"><!-- SEO Principal --><title>David Dieu | Créateur de contenu &amp; Partenariats</title><meta name="description" content="Des formats vidéo engageants pour transmettre le savoir et mettre en lumière vos messages."><meta name="keywords" content="auto-construction, rénovation écologique, maison passive, énergies renouvelables, construction durable, isolation thermique, chauffage écologique, Belgique, ossature bois, panneaux solaires, pompe à chaleur, rénovation énergétique"><meta name="author" content="David Dieu"><link rel="canonical" href="https://example.com/"><!-- Robots --><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name="googlebot" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name="bingbot" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://example.com/"><meta property="og:title" content="David Dieu | Créateur de contenu &#38; Partenariats"><meta property="og:description" content="Des formats vidéo engageants pour transmettre le savoir et mettre en lumière vos messages."><meta property="og:image" content="https://example.com/og-image.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="David Dieu | Créateur de contenu &#38; Partenariats"><meta property="og:locale" content="fr_FR"><meta property="og:site_name" content="David Dieu"><meta property="og:updated_time" content="2026-04-07T15:08:19.158Z"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@david-dieu"><meta name="twitter:creator" content="@david-dieu"><meta name="twitter:url" content="https://example.com/"><meta name="twitter:title" content="David Dieu | Créateur de contenu &#38; Partenariats"><meta name="twitter:description" content="Des formats vidéo engageants pour transmettre le savoir et mettre en lumière vos messages."><meta name="twitter:image" content="https://example.com/og-image.png"><meta name="twitter:image:alt" content="David Dieu | Créateur de contenu &#38; Partenariats"><!-- Additional SEO --><meta name="format-detection" content="telephone=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><!-- Structured Data (JSON-LD) --><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://example.com/#organization","name":"David Dieu","alternateName":"David Dieu Construction","url":"https://example.com","logo":{"@type":"ImageObject","url":"https://example.com/favicon.svg","width":512,"height":512},"description":"Entreprise spécialisée dans l'auto-construction et la rénovation écologique. Expertise en maisons passives et énergies renouvelables.","foundingDate":"2010","address":{"@type":"PostalAddress","addressCountry":"BE","addressRegion":"Wallonie"},"contactPoint":{"@type":"ContactPoint","contactType":"Customer Service","email":"contact@example.com","availableLanguage":["fr","en"],"areaServed":"BE"},"sameAs":["https://www.linkedin.com/company/david-dieu","https://www.facebook.com/david-dieu"],"serviceArea":{"@type":"GeoCircle","geoMidpoint":{"@type":"GeoCoordinates","latitude":50.8503,"longitude":4.3517},"geoRadius":"100000"},"hasOfferCatalog":{"@type":"OfferCatalog","name":"Services de construction écologique","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Auto-construction","description":"Accompagnement dans vos projets d'auto-construction écologique"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Rénovation écologique","description":"Rénovation énergétique et écologique de votre habitat"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Maisons passives","description":"Conception et construction de maisons passives"}}]}},{"@type":"WebSite","@id":"https://example.com/#website","url":"https://example.com","name":"David Dieu - Auto-construction et Rénovation Écologique","description":"Site officiel d'David Dieu, spécialiste de l'auto-construction et de la rénovation écologique en Belgique.","publisher":{"@id":"https://example.com/#organization"},"inLanguage":"fr-FR","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://example.com/works?q={search_term_string}"},"query-input":"required name=search_term_string"}},{"@type":"WebPage","@id":"https://example.com/#webpage","url":"https://example.com/","name":"David Dieu | Créateur de contenu & Partenariats","description":"Des formats vidéo engageants pour transmettre le savoir et mettre en lumière vos messages.","isPartOf":{"@id":"https://example.com/#website"},"datePublished":"2025-01-01T00:00:00+00:00","dateModified":"2026-04-07T15:08:19.158Z","inLanguage":"fr-FR","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https://example.com"}]}}]}</script><!-- Performance hints: preload CSS retiré pendant le dev pour éviter les warnings inutiles --><!-- View Transitions (Astro 2025) --><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script type="module" src="/js/ClientRouter.astro_astro_type_script_index_0_lang-BiKrWNe3.js"></script><link rel="stylesheet" href="/css/_slug_-9yZufchK.css">
<style>.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
</style>
<link rel="stylesheet" href="/css/_slug_-Cz3dGLvr.css"><script type="module" src="/js/page-CJTYi9NF.js"></script></head> <body>  <div id="preview-loading-screen"> <div class="loading-content"> <div class="loading-spinner"></div> <p class="loading-text">Vérification du mode preview...</p> </div> </div>  <div id="preview-maintenance-overlay"> <div class="maintenance-page"> <header class="maintenance-header"> <div class="header-brand">vdb <em>création</em></div> </header> <main class="maintenance-main"> <div class="overline"> <span class="overline-label">David Dieu</span> </div> <h1 class="title"> <span>Preview</span> <span>Désactivé</span> </h1> <div class="footer-section"> <p class="message">
Le mode preview est actuellement désactivé. 
          Le site principal est en ligne avec la dernière version publiée.
</p> <div class="actions"> <a href="/" class="btn btn-primary" id="main-site-btn">
Voir le site en ligne
<span class="btn-arrow">→</span> </a> <a href="https://vdbcreation.eu" target="_blank" rel="noopener" class="btn btn-secondary">
vdb création
<span class="btn-arrow">→</span> </a> </div> </div> </main> </div> </div>  <div id="preview-building-overlay"> <div class="maintenance-page building-page"> <header class="maintenance-header"> <div class="header-brand">vdb <em>création</em></div> </header> <main class="maintenance-main"> <div class="overline"> <span class="overline-label">David Dieu</span> </div> <h1 class="title"> <span>Build en</span> <span>cours...</span> </h1> <div class="footer-section"> <div class="building-indicator"> <div class="building-spinner"></div> <span class="building-status">Déploiement en cours</span> </div> <p class="message">
Une nouvelle version du preview est en cours de construction. 
          Cette page se rechargera automatiquement une fois le build terminé.
</p> <div class="actions"> <a href="/" class="btn btn-secondary" id="main-site-btn-building">
Voir le site en ligne
<span class="btn-arrow">→</span> </a> </div> </div> </main> </div> </div>  <script>(function(){const publishApiUrl = "https://api.vdbcreation.eu";
const projectSlug = "daviddieu";
const mainSiteUrl = "";

  // Exécuter immédiatement (pas de DOMContentLoaded pour éviter le flash)
  (function checkPreviewStatus() {
    const loadingScreen = document.getElementById('preview-loading-screen');
    const maintenanceOverlay = document.getElementById('preview-maintenance-overlay');
    const buildingOverlay = document.getElementById('preview-building-overlay');
    
    if (!loadingScreen || !maintenanceOverlay || !buildingOverlay) {
      console.log('[PreviewGuard] Elements not found');
      return;
    }

    // Ne jamais bloquer l'admin TinaCMS
    const pathname = window.location.pathname;
    if (pathname.startsWith('/admin')) {
      console.log('[PreviewGuard] Admin path detected, skipping');
      return;
    }

    // DÉTECTION PREVIEW 100% DYNAMIQUE - Aucune URL en dur
    const hostname = window.location.hostname.toLowerCase();
    let isPreviewDomain = false;
    
    // 1. Localhost = jamais preview
    if (hostname === 'localhost' || hostname === '127.0.0.1' || hostname.startsWith('192.168.')) {
      isPreviewDomain = false;
    }
    // 2. Cloudflare Pages: xxx.project.pages.dev (4+ parties) = preview
    else if (hostname.endsWith('.pages.dev')) {
      const parts = hostname.split('.');
      isPreviewDomain = parts.length > 3;
    }
    // 3. Sous-domaine "preview" explicite
    else if (hostname.startsWith('preview.') || hostname.includes('.preview.') || hostname.includes('-preview')) {
      isPreviewDomain = true;
    }
    // 4. Vercel/Netlify preview URLs
    else if (hostname.match(/^[a-z0-9]+-[a-z0-9-]+\.(vercel\.app|netlify\.app)$/)) {
      isPreviewDomain = true;
    }
    // 5. Tout autre domaine = production
    else {
      isPreviewDomain = false;
    }
    
    if (!isPreviewDomain) {
      return;
    }

    console.log('[PreviewGuard] Preview domain detected:', hostname);
    
    // Afficher l'écran de chargement IMMÉDIATEMENT
    loadingScreen.classList.add('active');

    // Variable globale pour stocker preview_custom_url depuis l'API
    let storedPreviewCustomUrl = null;
    
    // Calculer l'URL du site principal dynamiquement (100% dynamique)
    function getMainSiteUrl() {
      // Priorité 1: preview_custom_url depuis l'API (URL personnalisée stockée en DB)
      if (storedPreviewCustomUrl) {
        return storedPreviewCustomUrl;
      }
      
      // Priorité 2: URL configurée via .env
      if (mainSiteUrl) return mainSiteUrl;
      
      // Priorité 3: Calcul dynamique basé sur le hostname actuel
      const origin = window.location.origin;
      const hostname = window.location.hostname;
      
      // Cloudflare Pages: xxx.project.pages.dev -> project.pages.dev
      if (hostname.endsWith('.pages.dev')) {
        const parts = hostname.split('.');
        if (parts.length > 3) {
          const mainDomain = parts.slice(1).join('.');
          return 'https://' + mainDomain;
        }
      }
      
      // Pattern: preview.example.com -> example.com
      if (hostname.startsWith('preview.')) {
        return origin.replace('preview.', '');
      }
      
      // Pattern: example-preview.xxx -> example.xxx
      if (hostname.includes('-preview.')) {
        return origin.replace('-preview.', '.');
      }
      if (hostname.includes('-preview')) {
        return origin.replace('-preview', '');
      }
      
      // Fallback: même origine
      return origin;
    }

    // Fonction pour cacher le loading et révéler le site
    function showSite() {
      loadingScreen.classList.remove('active');
    }
    
    // Fonction pour afficher la maintenance (set_preview=false)
    function showMaintenance() {
      loadingScreen.classList.remove('active');
      maintenanceOverlay.classList.add('visible');
      document.body.style.overflow = 'hidden';
      
      const mainBtn = document.getElementById('main-site-btn');
      if (mainBtn) {
        mainBtn.href = getMainSiteUrl();
      }
    }
    
    // Fonction pour afficher "Build en cours" (set_preview=true mais is_build_preview=false)
    function showBuilding(apiUrl) {
      loadingScreen.classList.remove('active');
      buildingOverlay.classList.add('visible');
      document.body.style.overflow = 'hidden';
      
      const mainBtn = document.getElementById('main-site-btn-building');
      if (mainBtn) {
        mainBtn.href = getMainSiteUrl();
      }
      
      // Polling RAPIDE: vérifier toutes les 3 secondes si le build est terminé
      // Démarrage immédiat puis polling régulier
      let pollCount = 0;
      const maxPolls = 200; // ~10 minutes max (200 * 3s)
      
      async function pollOnce() {
        try {
          const checkUrl = apiUrl + '/check-preview?project=' + encodeURIComponent(projectSlug) + '&_t=' + Date.now();
          const response = await fetch(checkUrl, {
            method: 'GET',
            headers: { 'Content-Type': 'application/json' },
            cache: 'no-store'
          });
          
          if (response.ok) {
            const data = await response.json();
            console.log('[PreviewGuard] Poll #' + pollCount + ':', JSON.stringify(data));
            
            // Stocker preview_custom_url si disponible
            if (data.preview_custom_url) {
              storedPreviewCustomUrl = data.preview_custom_url;
            }
            
            // Si is_build_preview devient true, recharger la page
            if (data.is_build_preview === true) {
              console.log('[PreviewGuard] Build complete! Reloading...');
              clearInterval(pollInterval);
              window.location.reload();
              return;
            }
            
            // Si set_preview devient false, passer en maintenance
            if (data.set_preview === false) {
              console.log('[PreviewGuard] set_preview became false, switching to maintenance');
              clearInterval(pollInterval);
              buildingOverlay.classList.remove('visible');
              showMaintenance();
              return;
            }
          }
        } catch (e) {
          console.warn('[PreviewGuard] Poll error:', e.message);
        }
        
        pollCount++;
        if (pollCount >= maxPolls) {
          console.warn('[PreviewGuard] Max polls reached, stopping');
          clearInterval(pollInterval);
        }
      }
      
      // Premier check immédiat puis toutes les 3 secondes
      pollOnce();
      const pollInterval = setInterval(pollOnce, 3000);
    }

    // Timeout de sécurité: si l'API ne répond pas en 5s, afficher le site
    const safetyTimeout = setTimeout(function() {
      console.log('[PreviewGuard] Safety timeout - showing site');
      showSite();
    }, 5000);

    // Déterminer l'URL de l'API
    // CORRECTION: Détecter et remplacer l'ancienne URL même si hardcodée dans le HTML
    let apiUrl = publishApiUrl;
    if (apiUrl && apiUrl.includes('fg0g44os0scg4o0g8ckskggw.vdbcreation.eu')) {
      console.warn('[PreviewGuard] ⚠️ Ancienne URL détectée:', apiUrl);
      console.warn('[PreviewGuard] → Remplacement par: https://api.vdbcreation.eu');
      apiUrl = 'https://api.vdbcreation.eu';
    }
    
    console.log('[PreviewGuard] API URL utilisée:', apiUrl);
    
    async function checkApi() {
      // Si pas d'API configurée, on ne peut pas vérifier le preview
      if (!apiUrl) {
        console.log('[PreviewGuard] No API URL configured (PUBLISH_API_URL) - showing site');
        clearTimeout(safetyTimeout);
        showSite();
        return;
      }

      try {
        const checkUrl = apiUrl + '/check-preview?project=' + encodeURIComponent(projectSlug);
        console.log('[PreviewGuard] Checking:', checkUrl);
        
        const response = await fetch(checkUrl, {
          method: 'GET',
          headers: { 'Content-Type': 'application/json' }
        });

        clearTimeout(safetyTimeout);

        if (!response.ok) {
          console.warn('[PreviewGuard] API error:', response.status, '- showing site');
          showSite();
          return;
        }

        const data = await response.json();
        console.log('[PreviewGuard] API response:', JSON.stringify(data));

        // Stocker preview_custom_url pour les redirections
        if (data.preview_custom_url) {
          storedPreviewCustomUrl = data.preview_custom_url;
          console.log('[PreviewGuard] preview_custom_url stored:', storedPreviewCustomUrl);
        }

        // DÉCISION: afficher maintenance, build en cours, ou site
        if (data.set_preview === false) {
          // Cas 1: Preview désactivé -> page maintenance
          console.log('[PreviewGuard] set_preview=false -> MAINTENANCE');
          showMaintenance();
        } else if (data.is_build_preview === false) {
          // Cas 2: Preview activé mais build pas terminé -> page "build en cours"
          console.log('[PreviewGuard] set_preview=true, is_build_preview=false -> BUILDING');
          showBuilding(apiUrl);
        } else {
          // Cas 3: Preview activé et build terminé -> afficher le site
          console.log('[PreviewGuard] set_preview=true, is_build_preview=true -> SITE');
          showSite();
        }
      } catch (error) {
        clearTimeout(safetyTimeout);
        console.warn('[PreviewGuard] Fetch error:', error.message, '- showing site');
        showSite();
      }
    }

    // Lancer la vérification
    checkApi();
  })();
})();</script>  <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="1zEjRx" prefix="r1" component-url="/js/LiveBridge-tqj6nZ0c.js" component-export="default" renderer-url="/js/client-BlHPgOCb.js" props="{&quot;home&quot;:[0,{&quot;query&quot;:[0,&quot;&quot;],&quot;variables&quot;:[0,{}],&quot;data&quot;:[0,{}]}],&quot;docKey&quot;:[0,&quot;home&quot;]}" ssr client="load" opts="{&quot;name&quot;:&quot;LiveBridge&quot;,&quot;value&quot;:true}"></astro-island>   <header class="header reveal-down astro-5blmo7yk"> <a href="/" class="header__logo astro-5blmo7yk" aria-label="David Dieu - Accueil"> <svg width="503" height="402" viewBox="0 0 503 402" fill="none" xmlns="http://www.w3.org/2000/svg" class="header__logo-svg astro-5blmo7yk"> <path d="M62.997 189.697H14.1694V52.2142H62.997C77.5495 52.2142 90.0596 55.0864 100.527 60.8308C110.995 66.5752 119.037 74.5536 124.654 84.7659C130.27 94.9782 133.079 106.786 133.079 120.19C133.079 133.466 130.207 145.401 124.462 155.997C118.718 166.464 110.548 174.698 99.9527 180.698C89.4851 186.697 77.1665 189.697 62.997 189.697ZM43.2745 77.2981V164.613H61.4651C70.6562 164.613 78.3154 162.89 84.4428 159.443C90.6978 155.997 95.3572 150.954 98.4209 144.316C101.612 137.678 103.208 129.636 103.208 120.19C103.208 110.999 101.612 103.212 98.4209 96.8292C95.3572 90.4465 90.6978 85.5956 84.4428 82.2766C78.3154 78.9576 70.6562 77.2981 61.4651 77.2981H43.2745Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M211.885 189.697V177.059C208.566 181.783 204.354 185.421 199.247 187.974C194.141 190.399 188.078 191.612 181.057 191.612C170.461 191.612 161.909 188.74 155.398 182.995C148.888 177.251 145.633 169.592 145.633 160.018C145.633 150.061 149.59 142.465 157.505 137.232C165.419 131.998 176.78 129.381 191.588 129.381C194.524 129.381 197.333 129.508 200.013 129.764C202.694 129.891 205.566 130.147 208.63 130.53V124.402C208.63 118.658 207.098 114.19 204.034 110.999C200.971 107.807 196.63 106.212 191.014 106.212C185.269 106.212 180.738 107.807 177.419 110.999C174.1 114.19 172.185 118.658 171.674 124.402H147.739C148.25 116.488 150.356 109.658 154.058 103.914C157.888 98.0419 162.93 93.5102 169.185 90.3188C175.568 87.1275 182.844 85.5318 191.014 85.5318C204.417 85.5318 214.821 89.0423 222.225 96.0632C229.757 103.084 233.522 112.85 233.522 125.36V189.697H211.885ZM170.717 159.252C170.717 163.464 172.121 166.847 174.929 169.4C177.865 171.953 181.823 173.23 186.801 173.23C193.567 173.23 198.864 171.507 202.694 168.06C206.651 164.486 208.63 159.762 208.63 153.89V146.614C205.566 146.103 202.822 145.784 200.396 145.657C197.971 145.401 195.609 145.274 193.311 145.274C185.908 145.274 180.291 146.423 176.461 148.72C172.632 151.018 170.717 154.529 170.717 159.252Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M345.007 87.4466L307.477 189.697H278.372L240.651 87.4466H269.373L293.691 159.443L318.2 87.4466H345.007Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M383.302 189.697H356.686V87.4466H383.302V189.697ZM387.515 63.703C387.515 68.1709 385.855 71.9367 382.536 75.0004C379.345 77.9364 375.068 79.4044 369.707 79.4044C364.473 79.4044 360.197 77.9364 356.878 75.0004C353.686 71.9367 352.091 68.1709 352.091 63.703C352.091 58.9798 353.686 55.1502 356.878 52.2142C360.197 49.1505 364.473 47.6187 369.707 47.6187C375.068 47.6187 379.345 49.1505 382.536 52.2142C385.855 55.1502 387.515 58.9798 387.515 63.703Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M400.285 138.572C400.285 128.487 402.136 119.424 405.838 111.382C409.668 103.339 414.966 97.0206 421.731 92.4251C428.625 87.8296 436.603 85.5318 445.666 85.5318C451.794 85.5318 457.41 86.8083 462.517 89.3614C467.623 91.9145 472.091 95.6803 475.92 100.659V52.2142H502.345V189.697H478.027V174.953C473.942 180.187 469.155 184.272 463.666 187.208C458.304 190.144 452.304 191.612 445.666 191.612C436.603 191.612 428.625 189.314 421.731 184.719C414.966 179.996 409.668 173.613 405.838 165.571C402.136 157.528 400.285 148.529 400.285 138.572ZM427.667 138.572C427.667 148.146 430.029 155.422 434.752 160.401C439.475 165.379 445.092 167.868 451.602 167.868C456.07 167.868 460.091 166.72 463.666 164.422C467.367 162.124 470.303 158.805 472.474 154.465C474.644 149.997 475.729 144.572 475.729 138.189C475.729 131.806 474.58 126.445 472.282 122.105C470.112 117.764 467.176 114.509 463.474 112.339C459.9 110.169 455.942 109.084 451.602 109.084C445.092 109.084 439.475 111.573 434.752 116.552C430.029 121.402 427.667 128.743 427.667 138.572Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M62.997 376.069H14.1694V238.586H62.997C77.5495 238.586 90.0596 241.458 100.527 247.203C110.995 252.947 119.037 260.925 124.654 271.138C130.27 281.35 133.079 293.158 133.079 306.562C133.079 319.838 130.207 331.773 124.462 342.368C118.718 352.836 110.548 361.07 99.9527 367.069C89.4851 373.069 77.1665 376.069 62.997 376.069ZM43.2745 263.67V350.985H61.4651C70.6562 350.985 78.3154 349.262 84.4428 345.815C90.6978 342.368 95.3572 337.326 98.4209 330.688C101.612 324.05 103.208 316.008 103.208 306.562C103.208 297.371 101.612 289.584 98.4209 283.201C95.3572 276.818 90.6978 271.967 84.4428 268.648C78.3154 265.329 70.6562 263.67 61.4651 263.67H43.2745Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M177.61 376.069H150.994V273.818H177.61V376.069ZM181.823 250.075C181.823 254.543 180.163 258.309 176.844 261.372C173.653 264.308 169.376 265.776 164.015 265.776C158.781 265.776 154.505 264.308 151.186 261.372C147.994 258.309 146.399 254.543 146.399 250.075C146.399 245.352 147.994 241.522 151.186 238.586C154.505 235.522 158.781 233.991 164.015 233.991C169.376 233.991 173.653 235.522 176.844 238.586C180.163 241.522 181.823 245.352 181.823 250.075Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M245.719 377.792C235.506 377.792 226.507 375.622 218.72 371.282C211.061 366.814 205.125 360.559 200.912 352.517C196.7 344.475 194.593 335.156 194.593 324.561C194.593 314.349 196.764 305.285 201.104 297.371C205.444 289.456 211.444 283.265 219.103 278.797C226.762 274.201 235.506 271.904 245.336 271.904C253.378 271.904 260.654 273.436 267.165 276.499C273.803 279.435 279.356 283.648 283.823 289.137C288.291 294.626 291.483 301.009 293.397 308.285C295.312 315.434 295.631 323.157 294.355 331.454H210.295V314.604H266.207C265.952 307.455 263.846 301.838 259.888 297.754C256.059 293.541 251.016 291.435 244.761 291.435C239.783 291.435 235.57 292.711 232.124 295.264C228.677 297.817 225.996 301.583 224.081 306.562C222.294 311.412 221.401 317.412 221.401 324.561C221.401 331.582 222.294 337.518 224.081 342.368C225.869 347.219 228.549 350.921 232.124 353.474C235.698 356.027 240.038 357.304 245.144 357.304C251.016 357.304 255.867 355.9 259.697 353.091C263.526 350.283 266.207 346.39 267.739 341.411H294.163C291.227 352.9 285.547 361.836 277.122 368.218C268.696 374.601 258.229 377.792 245.719 377.792Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M374.413 332.986V273.818H400.837V376.069H376.519V362.665C373.839 367.133 369.818 370.835 364.456 373.771C359.095 376.58 353.159 377.984 346.648 377.984C339.883 377.984 333.819 376.58 328.458 373.771C323.096 370.963 318.884 366.687 315.82 360.942C312.756 355.07 311.225 347.73 311.225 338.922V273.818H337.84V333.752C337.84 340.9 339.436 346.134 342.627 349.453C345.946 352.772 350.287 354.432 355.648 354.432C358.839 354.432 361.839 353.602 364.648 351.943C367.584 350.283 369.945 347.858 371.732 344.666C373.52 341.347 374.413 337.454 374.413 332.986Z" fill="currentColor" class="astro-5blmo7yk"></path> <path d="M468.5 366.485C471.892 357.872 468.049 349.384 459.917 347.525C451.786 345.666 442.445 351.141 439.054 359.754C435.662 368.366 439.505 376.855 447.637 378.714C455.768 380.572 465.109 375.097 468.5 366.485Z" fill="#E53B46" class="astro-5blmo7yk"></path> </svg> </a> <nav class="header__nav astro-5blmo7yk" aria-label="Navigation principale"> <a href="/conference" class="header__link astro-5blmo7yk"> Mes conférences </a><a href="https://verticalview.eu/" class="header__link astro-5blmo7yk" target="_blank" rel="noopener noreferrer"> Mon agence </a><a href="#contact" class="header__link header__link--cta astro-5blmo7yk"> Contact </a> <div class="lang-switch astro-5blmo7yk" role="radiogroup" aria-label="Language"> <button class="lang-switch__btn astro-5blmo7yk" data-lang="fr" aria-label="Français">FR</button> <button class="lang-switch__btn astro-5blmo7yk" data-lang="nl" aria-label="Nederlands">NL</button> <button class="lang-switch__btn astro-5blmo7yk" data-lang="en" aria-label="English">EN</button> </div> </nav> <button class="header__menu-toggle astro-5blmo7yk" aria-label="Ouvrir le menu" aria-expanded="false"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="astro-5blmo7yk"> <line x1="3" y1="6" x2="21" y2="6" class="astro-5blmo7yk"></line> <line x1="3" y1="12" x2="21" y2="12" class="astro-5blmo7yk"></line> <line x1="3" y1="18" x2="21" y2="18" class="astro-5blmo7yk"></line> </svg> </button> </header> <!-- Mobile menu overlay --> <div class="header__mobile-menu astro-5blmo7yk" id="mobile-menu"> <nav class="header__mobile-nav astro-5blmo7yk"> <a href="/conference" class="header__mobile-link astro-5blmo7yk"> Mes conférences </a><a href="https://verticalview.eu/" class="header__mobile-link astro-5blmo7yk" target="_blank" rel="noopener noreferrer"> Mon agence </a><a href="#contact" class="header__mobile-link astro-5blmo7yk"> Contact </a> <div class="lang-switch lang-switch--mobile astro-5blmo7yk" role="radiogroup" aria-label="Language"> <button class="lang-switch__btn astro-5blmo7yk" data-lang="fr" aria-label="Français">FR</button> <button class="lang-switch__btn astro-5blmo7yk" data-lang="nl" aria-label="Nederlands">NL</button> <button class="lang-switch__btn astro-5blmo7yk" data-lang="en" aria-label="English">EN</button> </div> </nav> </div> <script type="module">function a(){const e=document.querySelector(".header__menu-toggle"),t=document.getElementById("mobile-menu");!e||!t||(e.addEventListener("click",()=>{const n=e.getAttribute("aria-expanded")==="true";e.setAttribute("aria-expanded",String(!n)),t.classList.toggle("header__mobile-menu--open")}),t.querySelectorAll("a").forEach(n=>{n.addEventListener("click",()=>{e.setAttribute("aria-expanded","false"),t.classList.remove("header__mobile-menu--open")})}))}document.addEventListener("astro:page-load",a);</script>  <main id="main-content" role="main"> <div class="glow-bg glow-bg--top astro-vsjxeken astro-oiguy3ie" aria-hidden="true"> <svg width="1900" height="1500" viewBox="0 0 1900 1500" fill="none" xmlns="http://www.w3.org/2000/svg" class="astro-oiguy3ie"> <g opacity="0.5" filter="url(#glow-hero)" class="astro-oiguy3ie"> <rect x="550" y="550" width="800" height="400" rx="200" fill="#02143B" class="astro-oiguy3ie"></rect> </g> <defs class="astro-oiguy3ie"> <filter id="glow-hero" x="0" y="0" width="1900" height="1500" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB" class="astro-oiguy3ie"> <feFlood flood-opacity="0" result="BackgroundImageFix" class="astro-oiguy3ie"></feFlood> <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape" class="astro-oiguy3ie"></feBlend> <feGaussianBlur stdDeviation="275" result="effect1_foregroundBlur" class="astro-oiguy3ie"></feGaussianBlur> </filter> </defs> </svg> </div>  <section class="hero-home astro-vsjxeken"> <div class="hero-home__badge reveal-down astro-vsjxeken" data-bind="sections.0.badge"> <span class="hero-home__badge-dot astro-vsjxeken" aria-hidden="true"></span> 1er créateur éducation de Belgique </div> <h1 class="hero-home__title reveal reveal-delay-1 astro-vsjxeken"> <span data-bind="sections.0.title" class="astro-vsjxeken">Pour vu qu&#39;on apprenne</span><br class="hero-home__br astro-vsjxeken"> <span class="hero-home__title-faded astro-vsjxeken" data-bind="sections.0.titleFaded">quelque chose !</span> </h1> <p class="hero-home__description reveal reveal-delay-2 astro-vsjxeken" data-bind="sections.0.description">Des formats vidéo engageants pour transmettre le savoir, challenger les esprits et mettre en lumière vos messages auprès d&#39;une communauté active.</p> </section> <div class="hero-media astro-vsjxeken"> <div class="hero-media__image-wrapper reveal-scale reveal-delay-3 astro-vsjxeken"> <img src="/uploads/img-podcast.webp" alt="David Dieu" class="hero-media__image astro-vsjxeken" loading="eager" data-bind="sections.0.heroImage"> <div class="hero-media__overlay astro-vsjxeken" aria-hidden="true"></div> </div> <div class="hero-media__stats astro-vsjxeken"> <div class="hero-media__stats-grid astro-vsjxeken"> <div class="stat-card astro-f47nkzfd"> <div class="stat-card__value astro-f47nkzfd" data-bind="sections.0.stats.0.value"> <span class="stat-card__suffix astro-f47nkzfd">+</span>243 <span class="stat-card__unit astro-f47nkzfd">k</span> </div> <div class="stat-card__content astro-f47nkzfd"> <span class="stat-card__label astro-f47nkzfd" data-bind="sections.0.stats.0.label">Abonnés Instagram</span> </div> </div> <div class="stat-card astro-f47nkzfd"> <div class="stat-card__value astro-f47nkzfd" data-bind="sections.0.stats.1.value"> <span class="stat-card__suffix astro-f47nkzfd">+</span>453 <span class="stat-card__unit astro-f47nkzfd">k</span> </div> <div class="stat-card__content astro-f47nkzfd"> <span class="stat-card__label astro-f47nkzfd" data-bind="sections.0.stats.1.label">Abonnés TikTok</span> </div> </div> <div class="stat-card astro-f47nkzfd"> <div class="stat-card__value astro-f47nkzfd" data-bind="sections.0.stats.2.value"> <span class="stat-card__suffix astro-f47nkzfd">+</span>317 <span class="stat-card__unit astro-f47nkzfd">k</span> </div> <div class="stat-card__content astro-f47nkzfd"> <span class="stat-card__label astro-f47nkzfd" data-bind="sections.0.stats.2.label">Vues mensuelles</span> </div> </div>  </div> </div> </div> <section class="ticker-section astro-lxofekuu" style="background: transparent;"> <div class="ticker-section__bg astro-lxofekuu" aria-hidden="true"></div> <div class="ticker-section__header astro-lxofekuu"> <h2 class="ticker-section__title reveal-blur astro-lxofekuu" data-bind="sections.1.title">Mes partenariats</h2> <p class="ticker-section__subtitle reveal reveal-delay-1 astro-lxofekuu" data-bind="sections.1.subtitle">Ils me font confiance</p> </div>  <div class="ticker-wrapper mask-gradient astro-kofmyqso"> <div class="ticker-track astro-kofmyqso"> <div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Redbull.webp" alt="Red Bull" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ikea.webp" alt="Ikea" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/orange.webp" alt="Orange" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/lipton.webp" alt="Lipton" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/stabilo.webp" alt="Stabilo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/trade republic.webp" alt="Trade Republic" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Odoo.webp" alt="Odoo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ethias.webp" alt="Ethias" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div><div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Redbull.webp" alt="Red Bull" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ikea.webp" alt="Ikea" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/orange.webp" alt="Orange" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/lipton.webp" alt="Lipton" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/stabilo.webp" alt="Stabilo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/trade republic.webp" alt="Trade Republic" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Odoo.webp" alt="Odoo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ethias.webp" alt="Ethias" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div><div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Redbull.webp" alt="Red Bull" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ikea.webp" alt="Ikea" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/orange.webp" alt="Orange" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/lipton.webp" alt="Lipton" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/stabilo.webp" alt="Stabilo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/trade republic.webp" alt="Trade Republic" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/Odoo.webp" alt="Odoo" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/partenaires/ethias.webp" alt="Ethias" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div> </div> </div>  </section>  <script>
  function initPressCards() {
    var cards = document.querySelectorAll('.press-card');
    if (!cards.length) return;
    var observer = new IntersectionObserver(function(entries) {
      entries.forEach(function(entry) {
        if (entry.isIntersecting) {
          entry.target.classList.add('is-visible');
          observer.unobserve(entry.target);
        }
      });
    }, { threshold: 0.15 });
    cards.forEach(function(card) { observer.observe(card); });
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initPressCards);
  } else {
    initPressCards();
  }
  document.addEventListener('astro:page-load', initPressCards);
</script><section class="formats-section astro-7g236ig2"> <div class="formats-section__container astro-7g236ig2"> <div class="formats-section__header reveal astro-7g236ig2"> <h2 class="formats-section__title astro-7g236ig2" data-bind="sections.2.title">Mes formats de contenu</h2> <a href="#contact" class="formats-section__cta astro-7g236ig2" data-bind="sections.2.ctaLabel"> Collaborer sur un format <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="astro-7g236ig2"><line x1="5" y1="12" x2="19" y2="12" class="astro-7g236ig2"></line><polyline points="12 5 19 12 12 19" class="astro-7g236ig2"></polyline></svg> </a> </div> <div class="formats-section__grid astro-7g236ig2"> <div class="reveal reveal-delay-1 astro-7g236ig2"> <div class="format-card astro-h4clq5yg"> <div class="format-card__preview format-card__preview--video astro-h4clq5yg" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/apprends-moi-quelque-chose.mp4" data-bind="sections.2.formats.0.videoSrc"> <video class="format-card__video astro-h4clq5yg" src="https://media.vdbcreation.eu/daviddieu/videos/apprends-moi-quelque-chose.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="Apprends-moi quelque chose"></video> <div class="format-card__vignette astro-h4clq5yg" aria-hidden="true"></div> <div class="format-card__video-label astro-h4clq5yg"> <span class="format-card__video-title astro-h4clq5yg" data-bind="sections.2.formats.0.title">Apprends-moi quelque chose</span> </div> <div class="format-card__play astro-h4clq5yg" aria-hidden="true"> <div class="format-card__play-btn astro-h4clq5yg"> <svg class="format-card__play-icon astro-h4clq5yg" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-h4clq5yg"></path></svg> </div> </div> <div class="format-card__stats astro-h4clq5yg" aria-label="Statistiques" role="group"> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.0.likes"> <svg class="format-card__stat-icon format-card__stat-icon--heart astro-h4clq5yg" width="22" height="22" viewBox="0 0 34 33" fill="none" aria-hidden="true"><defs class="astro-h4clq5yg"><filter id="heart-glow" x="-0.000162125" y="4.76837e-07" width="33.9954" height="32.3136" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB" class="astro-h4clq5yg"><feFlood flood-opacity="0" result="BackgroundImageFix" class="astro-h4clq5yg"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha" class="astro-h4clq5yg"></feColorMatrix><feOffset dy="1.94877" class="astro-h4clq5yg"></feOffset><feGaussianBlur stdDeviation="3.89754" class="astro-h4clq5yg"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0.898039 0 0 0 0 0.231373 0 0 0 0 0.27451 0 0 0 0.7 0" class="astro-h4clq5yg"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_564_356" class="astro-h4clq5yg"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_564_356" result="shape" class="astro-h4clq5yg"></feBlend></filter></defs><g filter="url(#heart-glow)" class="astro-h4clq5yg"><path d="M12.8563 5.84631C10.061 5.84631 7.79492 8.24574 7.79492 11.2054C7.79492 16.5646 13.7766 21.4365 16.9975 22.5697C20.2183 21.4365 26.2 16.5646 26.2 11.2054C26.2 8.24574 23.9339 5.84631 21.1386 5.84631C19.4269 5.84631 17.9131 6.74616 16.9975 8.12345C16.5307 7.41965 15.9106 6.84526 15.1898 6.44889C14.469 6.05252 13.6686 5.84583 12.8563 5.84631Z" fill="#E53B46" class="astro-h4clq5yg"></path></g></svg> <span aria-label="200K likes" class="astro-h4clq5yg">200K</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.0.comments"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" class="astro-h4clq5yg"></path></svg> <span aria-label="635 commentaires" class="astro-h4clq5yg">635</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.0.views"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polygon points="5 3 19 12 5 21 5 3" class="astro-h4clq5yg"></polygon></svg> <span aria-label="3,9M vues" class="astro-h4clq5yg">3,9M</span> </div> </div> </div> <div class="format-card__content astro-h4clq5yg"> <p class="format-card__description astro-h4clq5yg" data-bind="sections.2.formats.0.description">Il s&#39;agit de micro-trottoir où j&#39;aborde des gens en leur demandant de m&#39;apprendre quelque chose pour en faire une compilation pleine de savoir à partager sur les réseaux sociaux.</p> </div> </div>  <script>
  function restoreVideoCards() {
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      var video = card.querySelector('video');
      if (video) return;

      var src = card.getAttribute('data-video-src');
      if (!src) return;

      card.textContent = '';

      var vid = document.createElement('video');
      vid.className = 'format-card__video';
      vid.src = src + '#t=0.5';
      vid.loop = true;
      vid.playsInline = true;
      vid.preload = 'metadata';
      vid.setAttribute('muted', '');
      card.appendChild(vid);

      var vignette = document.createElement('div');
      vignette.className = 'format-card__vignette';
      vignette.setAttribute('aria-hidden', 'true');
      card.appendChild(vignette);

      var label = document.createElement('div');
      label.className = 'format-card__video-label';
      var span = document.createElement('span');
      span.className = 'format-card__video-title';
      label.appendChild(span);
      card.appendChild(label);

      var play = document.createElement('div');
      play.className = 'format-card__play';
      var btn = document.createElement('div');
      btn.className = 'format-card__play-btn';
      var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
      svg.setAttribute('class', 'format-card__play-icon');
      svg.setAttribute('width', '24');
      svg.setAttribute('height', '24');
      svg.setAttribute('viewBox', '0 0 888 987');
      svg.setAttribute('fill', 'currentColor');
      var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
      path.setAttribute('d', 'M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z');
      svg.appendChild(path);
      btn.appendChild(svg);
      play.appendChild(btn);
      card.appendChild(play);

      delete card.dataset.bound;
    });
  }

  function initFormatCards() {
    restoreVideoCards();
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      if (card.dataset.bound) return;
      card.dataset.bound = '1';
      var video = card.querySelector('video');
      if (!video) return;

      card.addEventListener('click', function() {
        if (card.classList.contains('is-playing')) {
          video.pause();
          card.classList.remove('is-playing');
        } else {
          // Pause toutes les autres vidéos
          document.querySelectorAll('.format-card__preview--video.is-playing').forEach(function(other) {
            if (other === card) return;
            var otherVideo = other.querySelector('video');
            if (otherVideo) otherVideo.pause();
            other.classList.remove('is-playing');
          });
          var src = card.getAttribute('data-video-src');
          if (src && video.currentTime < 0.1) {
            video.src = src;
          }
          video.play().catch(function() {});
          card.classList.add('is-playing');
        }
      });
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initFormatCards);
  } else {
    initFormatCards();
  }
  document.addEventListener('astro:page-load', initFormatCards);

  if (typeof MutationObserver !== 'undefined') {
    var videoObserver = new MutationObserver(function(mutations) {
      var needsRestore = false;
      mutations.forEach(function(m) {
        if (m.target.classList && m.target.classList.contains('format-card__preview--video')) {
          if (!m.target.querySelector('video')) needsRestore = true;
        }
      });
      if (needsRestore) restoreVideoCards();
    });
    document.addEventListener('DOMContentLoaded', function() {
      document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
        videoObserver.observe(card, { childList: true, characterData: true });
      });
    });
  }
</script> </div><div class="reveal reveal-delay-2 astro-7g236ig2"> <div class="format-card astro-h4clq5yg"> <div class="format-card__preview format-card__preview--video astro-h4clq5yg" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/quizz-de-culture-generale.mp4" data-bind="sections.2.formats.1.videoSrc"> <video class="format-card__video astro-h4clq5yg" src="https://media.vdbcreation.eu/daviddieu/videos/quizz-de-culture-generale.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="Quiz de culture générale"></video> <div class="format-card__vignette astro-h4clq5yg" aria-hidden="true"></div> <div class="format-card__video-label astro-h4clq5yg"> <span class="format-card__video-title astro-h4clq5yg" data-bind="sections.2.formats.1.title">Quiz de culture générale</span> </div> <div class="format-card__play astro-h4clq5yg" aria-hidden="true"> <div class="format-card__play-btn astro-h4clq5yg"> <svg class="format-card__play-icon astro-h4clq5yg" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-h4clq5yg"></path></svg> </div> </div> <div class="format-card__stats astro-h4clq5yg" aria-label="Statistiques" role="group"> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.1.likes"> <svg class="format-card__stat-icon format-card__stat-icon--heart astro-h4clq5yg" width="22" height="22" viewBox="0 0 34 33" fill="none" aria-hidden="true"><defs class="astro-h4clq5yg"><filter id="heart-glow" x="-0.000162125" y="4.76837e-07" width="33.9954" height="32.3136" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB" class="astro-h4clq5yg"><feFlood flood-opacity="0" result="BackgroundImageFix" class="astro-h4clq5yg"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha" class="astro-h4clq5yg"></feColorMatrix><feOffset dy="1.94877" class="astro-h4clq5yg"></feOffset><feGaussianBlur stdDeviation="3.89754" class="astro-h4clq5yg"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0.898039 0 0 0 0 0.231373 0 0 0 0 0.27451 0 0 0 0.7 0" class="astro-h4clq5yg"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_564_356" class="astro-h4clq5yg"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_564_356" result="shape" class="astro-h4clq5yg"></feBlend></filter></defs><g filter="url(#heart-glow)" class="astro-h4clq5yg"><path d="M12.8563 5.84631C10.061 5.84631 7.79492 8.24574 7.79492 11.2054C7.79492 16.5646 13.7766 21.4365 16.9975 22.5697C20.2183 21.4365 26.2 16.5646 26.2 11.2054C26.2 8.24574 23.9339 5.84631 21.1386 5.84631C19.4269 5.84631 17.9131 6.74616 16.9975 8.12345C16.5307 7.41965 15.9106 6.84526 15.1898 6.44889C14.469 6.05252 13.6686 5.84583 12.8563 5.84631Z" fill="#E53B46" class="astro-h4clq5yg"></path></g></svg> <span aria-label="150K likes" class="astro-h4clq5yg">150K</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.1.comments"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" class="astro-h4clq5yg"></path></svg> <span aria-label="420 commentaires" class="astro-h4clq5yg">420</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.1.views"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polygon points="5 3 19 12 5 21 5 3" class="astro-h4clq5yg"></polygon></svg> <span aria-label="2,1M vues" class="astro-h4clq5yg">2,1M</span> </div> </div> </div> <div class="format-card__content astro-h4clq5yg"> <p class="format-card__description astro-h4clq5yg" data-bind="sections.2.formats.1.description">L&#39;idée est de poser différentes questions aux gens dans la rue, parfois sur la géographie, parfois sur l&#39;Histoire. Mais surtout de challenger mes abonnés dans la vraie vie.</p> </div> </div>  <script>
  function restoreVideoCards() {
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      var video = card.querySelector('video');
      if (video) return;

      var src = card.getAttribute('data-video-src');
      if (!src) return;

      card.textContent = '';

      var vid = document.createElement('video');
      vid.className = 'format-card__video';
      vid.src = src + '#t=0.5';
      vid.loop = true;
      vid.playsInline = true;
      vid.preload = 'metadata';
      vid.setAttribute('muted', '');
      card.appendChild(vid);

      var vignette = document.createElement('div');
      vignette.className = 'format-card__vignette';
      vignette.setAttribute('aria-hidden', 'true');
      card.appendChild(vignette);

      var label = document.createElement('div');
      label.className = 'format-card__video-label';
      var span = document.createElement('span');
      span.className = 'format-card__video-title';
      label.appendChild(span);
      card.appendChild(label);

      var play = document.createElement('div');
      play.className = 'format-card__play';
      var btn = document.createElement('div');
      btn.className = 'format-card__play-btn';
      var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
      svg.setAttribute('class', 'format-card__play-icon');
      svg.setAttribute('width', '24');
      svg.setAttribute('height', '24');
      svg.setAttribute('viewBox', '0 0 888 987');
      svg.setAttribute('fill', 'currentColor');
      var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
      path.setAttribute('d', 'M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z');
      svg.appendChild(path);
      btn.appendChild(svg);
      play.appendChild(btn);
      card.appendChild(play);

      delete card.dataset.bound;
    });
  }

  function initFormatCards() {
    restoreVideoCards();
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      if (card.dataset.bound) return;
      card.dataset.bound = '1';
      var video = card.querySelector('video');
      if (!video) return;

      card.addEventListener('click', function() {
        if (card.classList.contains('is-playing')) {
          video.pause();
          card.classList.remove('is-playing');
        } else {
          // Pause toutes les autres vidéos
          document.querySelectorAll('.format-card__preview--video.is-playing').forEach(function(other) {
            if (other === card) return;
            var otherVideo = other.querySelector('video');
            if (otherVideo) otherVideo.pause();
            other.classList.remove('is-playing');
          });
          var src = card.getAttribute('data-video-src');
          if (src && video.currentTime < 0.1) {
            video.src = src;
          }
          video.play().catch(function() {});
          card.classList.add('is-playing');
        }
      });
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initFormatCards);
  } else {
    initFormatCards();
  }
  document.addEventListener('astro:page-load', initFormatCards);

  if (typeof MutationObserver !== 'undefined') {
    var videoObserver = new MutationObserver(function(mutations) {
      var needsRestore = false;
      mutations.forEach(function(m) {
        if (m.target.classList && m.target.classList.contains('format-card__preview--video')) {
          if (!m.target.querySelector('video')) needsRestore = true;
        }
      });
      if (needsRestore) restoreVideoCards();
    });
    document.addEventListener('DOMContentLoaded', function() {
      document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
        videoObserver.observe(card, { childList: true, characterData: true });
      });
    });
  }
</script> </div><div class="reveal reveal-delay-3 astro-7g236ig2"> <div class="format-card astro-h4clq5yg"> <div class="format-card__preview format-card__preview--video astro-h4clq5yg" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/tu-savais-qu-a.mp4" data-bind="sections.2.formats.2.videoSrc"> <video class="format-card__video astro-h4clq5yg" src="https://media.vdbcreation.eu/daviddieu/videos/tu-savais-qu-a.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="&#34;Tu savais qu'à ...&#34; Vlog"></video> <div class="format-card__vignette astro-h4clq5yg" aria-hidden="true"></div> <div class="format-card__video-label astro-h4clq5yg"> <span class="format-card__video-title astro-h4clq5yg" data-bind="sections.2.formats.2.title">&quot;Tu savais qu&#39;à ...&quot; Vlog</span> </div> <div class="format-card__play astro-h4clq5yg" aria-hidden="true"> <div class="format-card__play-btn astro-h4clq5yg"> <svg class="format-card__play-icon astro-h4clq5yg" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-h4clq5yg"></path></svg> </div> </div> <div class="format-card__stats astro-h4clq5yg" aria-label="Statistiques" role="group"> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.2.likes"> <svg class="format-card__stat-icon format-card__stat-icon--heart astro-h4clq5yg" width="22" height="22" viewBox="0 0 34 33" fill="none" aria-hidden="true"><defs class="astro-h4clq5yg"><filter id="heart-glow" x="-0.000162125" y="4.76837e-07" width="33.9954" height="32.3136" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB" class="astro-h4clq5yg"><feFlood flood-opacity="0" result="BackgroundImageFix" class="astro-h4clq5yg"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha" class="astro-h4clq5yg"></feColorMatrix><feOffset dy="1.94877" class="astro-h4clq5yg"></feOffset><feGaussianBlur stdDeviation="3.89754" class="astro-h4clq5yg"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0.898039 0 0 0 0 0.231373 0 0 0 0 0.27451 0 0 0 0.7 0" class="astro-h4clq5yg"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_564_356" class="astro-h4clq5yg"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_564_356" result="shape" class="astro-h4clq5yg"></feBlend></filter></defs><g filter="url(#heart-glow)" class="astro-h4clq5yg"><path d="M12.8563 5.84631C10.061 5.84631 7.79492 8.24574 7.79492 11.2054C7.79492 16.5646 13.7766 21.4365 16.9975 22.5697C20.2183 21.4365 26.2 16.5646 26.2 11.2054C26.2 8.24574 23.9339 5.84631 21.1386 5.84631C19.4269 5.84631 17.9131 6.74616 16.9975 8.12345C16.5307 7.41965 15.9106 6.84526 15.1898 6.44889C14.469 6.05252 13.6686 5.84583 12.8563 5.84631Z" fill="#E53B46" class="astro-h4clq5yg"></path></g></svg> <span aria-label="180K likes" class="astro-h4clq5yg">180K</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.2.comments"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" class="astro-h4clq5yg"></path></svg> <span aria-label="510 commentaires" class="astro-h4clq5yg">510</span> </div> <div class="format-card__stat astro-h4clq5yg" data-bind="sections.2.formats.2.views"> <svg class="format-card__stat-icon astro-h4clq5yg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polygon points="5 3 19 12 5 21 5 3" class="astro-h4clq5yg"></polygon></svg> <span aria-label="3,2M vues" class="astro-h4clq5yg">3,2M</span> </div> </div> </div> <div class="format-card__content astro-h4clq5yg"> <p class="format-card__description astro-h4clq5yg" data-bind="sections.2.formats.2.description">Je prends ma caméra partout pour me filmer et apprendre aux gens des faits originaux et peu connus sur les villes que je visite.</p> </div> </div>  <script>
  function restoreVideoCards() {
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      var video = card.querySelector('video');
      if (video) return;

      var src = card.getAttribute('data-video-src');
      if (!src) return;

      card.textContent = '';

      var vid = document.createElement('video');
      vid.className = 'format-card__video';
      vid.src = src + '#t=0.5';
      vid.loop = true;
      vid.playsInline = true;
      vid.preload = 'metadata';
      vid.setAttribute('muted', '');
      card.appendChild(vid);

      var vignette = document.createElement('div');
      vignette.className = 'format-card__vignette';
      vignette.setAttribute('aria-hidden', 'true');
      card.appendChild(vignette);

      var label = document.createElement('div');
      label.className = 'format-card__video-label';
      var span = document.createElement('span');
      span.className = 'format-card__video-title';
      label.appendChild(span);
      card.appendChild(label);

      var play = document.createElement('div');
      play.className = 'format-card__play';
      var btn = document.createElement('div');
      btn.className = 'format-card__play-btn';
      var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
      svg.setAttribute('class', 'format-card__play-icon');
      svg.setAttribute('width', '24');
      svg.setAttribute('height', '24');
      svg.setAttribute('viewBox', '0 0 888 987');
      svg.setAttribute('fill', 'currentColor');
      var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
      path.setAttribute('d', 'M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z');
      svg.appendChild(path);
      btn.appendChild(svg);
      play.appendChild(btn);
      card.appendChild(play);

      delete card.dataset.bound;
    });
  }

  function initFormatCards() {
    restoreVideoCards();
    document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
      if (card.dataset.bound) return;
      card.dataset.bound = '1';
      var video = card.querySelector('video');
      if (!video) return;

      card.addEventListener('click', function() {
        if (card.classList.contains('is-playing')) {
          video.pause();
          card.classList.remove('is-playing');
        } else {
          // Pause toutes les autres vidéos
          document.querySelectorAll('.format-card__preview--video.is-playing').forEach(function(other) {
            if (other === card) return;
            var otherVideo = other.querySelector('video');
            if (otherVideo) otherVideo.pause();
            other.classList.remove('is-playing');
          });
          var src = card.getAttribute('data-video-src');
          if (src && video.currentTime < 0.1) {
            video.src = src;
          }
          video.play().catch(function() {});
          card.classList.add('is-playing');
        }
      });
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initFormatCards);
  } else {
    initFormatCards();
  }
  document.addEventListener('astro:page-load', initFormatCards);

  if (typeof MutationObserver !== 'undefined') {
    var videoObserver = new MutationObserver(function(mutations) {
      var needsRestore = false;
      mutations.forEach(function(m) {
        if (m.target.classList && m.target.classList.contains('format-card__preview--video')) {
          if (!m.target.querySelector('video')) needsRestore = true;
        }
      });
      if (needsRestore) restoreVideoCards();
    });
    document.addEventListener('DOMContentLoaded', function() {
      document.querySelectorAll('.format-card__preview--video').forEach(function(card) {
        videoObserver.observe(card, { childList: true, characterData: true });
      });
    });
  }
</script> </div> </div> </div> </section> <section class="about-section astro-x2lc2h5w"> <div class="about-section__container astro-x2lc2h5w"> <div class="about-section__grid astro-x2lc2h5w"> <div class="about-section__photo reveal-left astro-x2lc2h5w"> <div class="about-section__image-wrapper astro-x2lc2h5w"> <img src="https://media.vdbcreation.eu/daviddieu/david-bleu.jpg" alt="David Dieu" class="about-section__image astro-x2lc2h5w" loading="lazy" data-bind="sections.3.image"> <div class="about-section__image-overlay astro-x2lc2h5w" aria-hidden="true"></div> </div> </div> <div class="about-section__content astro-x2lc2h5w"> <span class="about-section__subtitle reveal reveal-delay-1 astro-x2lc2h5w" data-bind="sections.3.subtitle">À propos</span> <h2 class="about-section__title reveal reveal-delay-2 astro-x2lc2h5w" data-bind="sections.3.title">10 ans d'expérience dans la vidéo</h2> <p class="about-section__lead reveal reveal-delay-3 astro-x2lc2h5w" data-bind="sections.3.lead">Le plus beau des messages mérite d'être entendu<span class="dd-dot" aria-hidden="true"></span></p> <p class="about-section__body reveal reveal-delay-3 astro-x2lc2h5w" data-bind="sections.3.body">Ce qui me passionne dans mon métier c&#39;est la portée qu&#39;un message peut avoir grâce à une bonne vidéo. Mais comment faire des bonnes vidéos ? Et bien c&#39;est exactement à cette question que j&#39;ai cherché des réponses ces dernières années pour communiquer des messages positifs comme la motivation dans le milieu étudiant, la culture générale, ou même l&#39;éducation en animant l&#39;émission Viens, je t&#39;explique produite par la RTBF.</p> <p class="about-section__features-label astro-x2lc2h5w" data-bind="sections.3.featuresLabel">Dynamique de partage :</p> <div class="about-section__features astro-x2lc2h5w"> <div class="reveal reveal-delay-1 astro-x2lc2h5w"> <div class="feature-card astro-lxmfzltz"> <div class="feature-card__gradient astro-lxmfzltz" aria-hidden="true"></div> <div class="feature-card__icon astro-lxmfzltz" aria-hidden="true"> <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"/><path d="M12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/></svg> </div> <h4 class="feature-card__title astro-lxmfzltz">Collaboration</h4> <p class="feature-card__description astro-lxmfzltz">Donner une place à vos produits/services dans une vidéo sur mes réseaux.</p> <a href="#contact" class="feature-card__cta astro-lxmfzltz"> En savoir plus <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="astro-lxmfzltz"><line x1="5" y1="12" x2="19" y2="12" class="astro-lxmfzltz"></line><polyline points="12 5 19 12 12 19" class="astro-lxmfzltz"></polyline></svg> </a> </div>  </div><div class="reveal reveal-delay-2 astro-x2lc2h5w"> <div class="feature-card astro-lxmfzltz"> <div class="feature-card__gradient astro-lxmfzltz" aria-hidden="true"></div> <div class="feature-card__icon astro-lxmfzltz" aria-hidden="true"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> </div> <h4 class="feature-card__title astro-lxmfzltz">Conférences</h4> <p class="feature-card__description astro-lxmfzltz">Motiver et aider les étudiants à travers mes conférences et prises de parole.</p> <a href="/conference" class="feature-card__cta astro-lxmfzltz"> En savoir plus <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="astro-lxmfzltz"><line x1="5" y1="12" x2="19" y2="12" class="astro-lxmfzltz"></line><polyline points="12 5 19 12 12 19" class="astro-lxmfzltz"></polyline></svg> </a> </div>  </div> </div> </div> </div> </div> </section> <section class="cases-section astro-neh3wv6c" id="cases"> <div class="cases-section__container astro-neh3wv6c"> <div class="cases-section__header reveal astro-neh3wv6c"> <span class="cases-section__subtitle astro-neh3wv6c" data-bind="sections.4.subtitle">Études de cas</span> <h2 class="cases-section__title astro-neh3wv6c" data-bind="sections.4.title">Des collaborations qui marquent</h2> </div> <div class="cases-section__stack astro-neh3wv6c"> <div class="cases-section__card astro-neh3wv6c" style="--card-index: 0;"> <div class="cases-section__preview cases-section__preview--video astro-neh3wv6c" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/cases/Reel.mp4"> <video class="cases-section__video astro-neh3wv6c" src="https://media.vdbcreation.eu/daviddieu/videos/cases/Reel.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="Trade Republic"></video> <div class="cases-section__vignette astro-neh3wv6c" aria-hidden="true"></div> <div class="cases-section__play astro-neh3wv6c" aria-hidden="true"> <div class="cases-section__play-btn astro-neh3wv6c"> <svg class="cases-section__play-icon astro-neh3wv6c" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-neh3wv6c"></path></svg> </div> </div> <button class="cases-section__mute astro-neh3wv6c" aria-label="Mute" type="button"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-neh3wv6c"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="astro-neh3wv6c"></polygon><line x1="23" y1="9" x2="17" y2="15" class="astro-neh3wv6c"></line><line x1="17" y1="9" x2="23" y2="15" class="astro-neh3wv6c"></line></svg> </button> </div> <div class="cases-section__content astro-neh3wv6c"> <div class="cases-section__content-top astro-neh3wv6c"> <div class="cases-section__client astro-neh3wv6c"> <img class="cases-section__logo astro-neh3wv6c" src="/uploads/partenaires/trade republic.webp" alt="Trade Republic" loading="lazy" data-bind="sections.4.cases.0.logo"> <span class="cases-section__client-name astro-neh3wv6c" data-bind="sections.4.cases.0.title">Trade Republic</span> </div> <span class="cases-section__type-badge astro-neh3wv6c" data-bind="sections.4.cases.0.tag">Contenu éducatif</span> </div> <p class="cases-section__description astro-neh3wv6c" data-bind="sections.4.cases.0.description">Un contenu éducatif intégrant Trade Republic pour sensibiliser la communauté à l&#39;investissement de manière accessible et engageante.</p> <div class="cases-section__tags astro-neh3wv6c"> <span class="cases-section__tag-pill astro-neh3wv6c">Finance</span><span class="cases-section__tag-pill astro-neh3wv6c">Éducation</span><span class="cases-section__tag-pill astro-neh3wv6c">Social media</span> </div> <div class="cases-section__stats astro-neh3wv6c"> <div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">2.1M</span> <span class="cases-section__stat-label astro-neh3wv6c">Vues</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">12%</span> <span class="cases-section__stat-label astro-neh3wv6c">Taux d&#39;engagement</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">+85K</span> <span class="cases-section__stat-label astro-neh3wv6c">Nouveaux abonnés</span> </div> </div> </div> </div><div class="cases-section__card astro-neh3wv6c" style="--card-index: 1;"> <div class="cases-section__preview cases-section__preview--video astro-neh3wv6c" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/cases/Apprends-moi_V2.mp4"> <video class="cases-section__video astro-neh3wv6c" src="https://media.vdbcreation.eu/daviddieu/videos/cases/Apprends-moi_V2.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="Fnac"></video> <div class="cases-section__vignette astro-neh3wv6c" aria-hidden="true"></div> <div class="cases-section__play astro-neh3wv6c" aria-hidden="true"> <div class="cases-section__play-btn astro-neh3wv6c"> <svg class="cases-section__play-icon astro-neh3wv6c" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-neh3wv6c"></path></svg> </div> </div> <button class="cases-section__mute astro-neh3wv6c" aria-label="Mute" type="button"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-neh3wv6c"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="astro-neh3wv6c"></polygon><line x1="23" y1="9" x2="17" y2="15" class="astro-neh3wv6c"></line><line x1="17" y1="9" x2="23" y2="15" class="astro-neh3wv6c"></line></svg> </button> </div> <div class="cases-section__content astro-neh3wv6c"> <div class="cases-section__content-top astro-neh3wv6c"> <div class="cases-section__client astro-neh3wv6c"> <img class="cases-section__logo astro-neh3wv6c" src="/uploads/partenaires/Fnac_Logo.svg.webp" alt="Fnac" loading="lazy" data-bind="sections.4.cases.1.logo"> <span class="cases-section__client-name astro-neh3wv6c" data-bind="sections.4.cases.1.title">Fnac</span> </div> <span class="cases-section__type-badge astro-neh3wv6c" data-bind="sections.4.cases.1.tag">Placement de produit</span> </div> <p class="cases-section__description astro-neh3wv6c" data-bind="sections.4.cases.1.description">Une collaboration avec la Fnac pour mettre en lumière la culture et le savoir à travers des formats vidéo engageants.</p> <div class="cases-section__tags astro-neh3wv6c"> <span class="cases-section__tag-pill astro-neh3wv6c">Culture</span><span class="cases-section__tag-pill astro-neh3wv6c">Retail</span><span class="cases-section__tag-pill astro-neh3wv6c">Vidéo</span> </div> <div class="cases-section__stats astro-neh3wv6c"> <div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">1.8M</span> <span class="cases-section__stat-label astro-neh3wv6c">Vues</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">9.5%</span> <span class="cases-section__stat-label astro-neh3wv6c">Taux d&#39;engagement</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">+60K</span> <span class="cases-section__stat-label astro-neh3wv6c">Interactions</span> </div> </div> </div> </div><div class="cases-section__card astro-neh3wv6c" style="--card-index: 2;"> <div class="cases-section__preview cases-section__preview--video astro-neh3wv6c" data-video-src="https://media.vdbcreation.eu/daviddieu/videos/cases/Syensqo_Slovay_V3_ST.mp4"> <video class="cases-section__video astro-neh3wv6c" src="https://media.vdbcreation.eu/daviddieu/videos/cases/Syensqo_Slovay_V3_ST.mp4#t=0.5" loop muted playsinline preload="metadata" aria-label="Syensqo"></video> <div class="cases-section__vignette astro-neh3wv6c" aria-hidden="true"></div> <div class="cases-section__play astro-neh3wv6c" aria-hidden="true"> <div class="cases-section__play-btn astro-neh3wv6c"> <svg class="cases-section__play-icon astro-neh3wv6c" width="24" height="24" viewBox="0 0 888 987" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M711.149 320.839C812.125 379.137 862.613 408.286 878.396 446.96C890.454 476.508 890.454 509.605 878.396 539.153C862.613 577.827 812.125 606.976 711.149 665.274L298.29 903.639C197.314 961.937 146.826 991.087 105.443 985.418C73.8239 981.087 45.1612 964.538 25.6009 939.321C-0.00016955 906.316 -0.000167002 848.018 -0.000161906 731.421L-0.000141067 254.692C-0.00013597 138.095 -0.000133422 79.7964 25.6009 46.7917C45.1612 21.5747 73.8239 5.02631 105.443 0.69509C146.826 -4.97373 197.314 24.1755 298.29 82.474L711.149 320.839Z" class="astro-neh3wv6c"></path></svg> </div> </div> <button class="cases-section__mute astro-neh3wv6c" aria-label="Mute" type="button"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-neh3wv6c"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" class="astro-neh3wv6c"></polygon><line x1="23" y1="9" x2="17" y2="15" class="astro-neh3wv6c"></line><line x1="17" y1="9" x2="23" y2="15" class="astro-neh3wv6c"></line></svg> </button> </div> <div class="cases-section__content astro-neh3wv6c"> <div class="cases-section__content-top astro-neh3wv6c"> <div class="cases-section__client astro-neh3wv6c"> <img class="cases-section__logo astro-neh3wv6c" src="/uploads/partenaires/Syensqo_Logo.webp" alt="Syensqo" loading="lazy" data-bind="sections.4.cases.2.logo"> <span class="cases-section__client-name astro-neh3wv6c" data-bind="sections.4.cases.2.title">Syensqo</span> </div> <span class="cases-section__type-badge astro-neh3wv6c" data-bind="sections.4.cases.2.tag">Placement de produit</span> </div> <p class="cases-section__description astro-neh3wv6c" data-bind="sections.4.cases.2.description">Un partenariat avec Syensqo pour vulgariser la science et l&#39;innovation auprès d&#39;une communauté curieuse et engagée.</p> <div class="cases-section__tags astro-neh3wv6c"> <span class="cases-section__tag-pill astro-neh3wv6c">Science</span><span class="cases-section__tag-pill astro-neh3wv6c">Innovation</span><span class="cases-section__tag-pill astro-neh3wv6c">Employer branding</span> </div> <div class="cases-section__stats astro-neh3wv6c"> <div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">3.2M</span> <span class="cases-section__stat-label astro-neh3wv6c">Vues</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">15%</span> <span class="cases-section__stat-label astro-neh3wv6c">Taux d&#39;engagement</span> </div><div class="cases-section__stat astro-neh3wv6c"> <span class="cases-section__stat-value astro-neh3wv6c">+120K</span> <span class="cases-section__stat-label astro-neh3wv6c">Interactions</span> </div> </div> </div> </div> </div> </div> </section>  <script>
  function initCaseCards() {
    document.querySelectorAll('.cases-section__preview--video').forEach(function(card) {
      if (card.dataset.caseBound) return;
      card.dataset.caseBound = '1';
      var video = card.querySelector('video');
      if (!video) return;

      var muteBtn = card.querySelector('.cases-section__mute');

      // Click anywhere on card to toggle play/pause (like format cards)
      card.addEventListener('click', function(e) {
        // Don't toggle if clicking mute button
        if (muteBtn && muteBtn.contains(e.target)) return;

        if (card.classList.contains('is-playing')) {
          video.pause();
          card.classList.remove('is-playing');
        } else {
          // Pause all other playing videos (cases + formats)
          document.querySelectorAll('.cases-section__preview--video.is-playing, .format-card__preview--video.is-playing').forEach(function(other) {
            if (other === card) return;
            var otherVideo = other.querySelector('video');
            if (otherVideo) otherVideo.pause();
            other.classList.remove('is-playing');
          });
          var src = card.getAttribute('data-video-src');
          if (src && video.currentTime < 0.1) video.src = src;
          video.play().catch(function() {});
          card.classList.add('is-playing');
        }
      });

      // Mute button
      if (muteBtn) {
        muteBtn.addEventListener('click', function(e) {
          e.stopPropagation();
          video.muted = !video.muted;
          muteBtn.classList.toggle('is-muted', video.muted);
        });
      }
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initCaseCards);
  } else {
    initCaseCards();
  }
  document.addEventListener('astro:page-load', initCaseCards);
</script><section class="ticker-section astro-lxofekuu"> <div class="ticker-section__bg astro-lxofekuu" aria-hidden="true"></div> <div class="ticker-section__header astro-lxofekuu"> <h2 class="ticker-section__title reveal-blur astro-lxofekuu" data-bind="sections.5.title">La presse</h2> <p class="ticker-section__subtitle reveal reveal-delay-1 astro-lxofekuu" data-bind="sections.5.subtitle">Ils parlent de moi</p> </div> <div class="ticker-section__articles astro-lxofekuu"> <a href="#" class="press-card press-card--1 astro-lxofekuu" target="_blank" rel="noopener noreferrer" style="--card-rotate: -3deg; --card-offset: 30px; --card-delay: 0s;" data-bind="sections.5.articles.0.href"> <img src="/uploads/press/articles/ouftivi.webp" alt="David Dieu sur OUFtivi" class="press-card__image astro-lxofekuu" loading="lazy" data-bind="sections.5.articles.0.image"> <div class="press-card__overlay astro-lxofekuu"> <span class="press-card__cta astro-lxofekuu">
Lire l'article
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-lxofekuu"><line x1="7" y1="17" x2="17" y2="7" class="astro-lxofekuu"></line><polyline points="7 7 17 7 17 17" class="astro-lxofekuu"></polyline></svg> </span> </div> </a><a href="#" class="press-card press-card--2 astro-lxofekuu" target="_blank" rel="noopener noreferrer" style="--card-rotate: 2deg; --card-offset: -50px; --card-delay: 0.12s;" data-bind="sections.5.articles.1.href"> <img src="/uploads/press/articles/elle.webp" alt="ELLE - TikTok et le décrochage scolaire" class="press-card__image astro-lxofekuu" loading="lazy" data-bind="sections.5.articles.1.image"> <div class="press-card__overlay astro-lxofekuu"> <span class="press-card__cta astro-lxofekuu">
Lire l'article
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-lxofekuu"><line x1="7" y1="17" x2="17" y2="7" class="astro-lxofekuu"></line><polyline points="7 7 17 7 17 17" class="astro-lxofekuu"></polyline></svg> </span> </div> </a><a href="#" class="press-card press-card--3 astro-lxofekuu" target="_blank" rel="noopener noreferrer" style="--card-rotate: -1.5deg; --card-offset: 60px; --card-delay: 0.24s;" data-bind="sections.5.articles.2.href"> <img src="/uploads/press/articles/pub.webp" alt="Pub - Bisou Awards 2024" class="press-card__image astro-lxofekuu" loading="lazy" data-bind="sections.5.articles.2.image"> <div class="press-card__overlay astro-lxofekuu"> <span class="press-card__cta astro-lxofekuu">
Lire l'article
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-lxofekuu"><line x1="7" y1="17" x2="17" y2="7" class="astro-lxofekuu"></line><polyline points="7 7 17 7 17 17" class="astro-lxofekuu"></polyline></svg> </span> </div> </a><a href="#" class="press-card press-card--4 astro-lxofekuu" target="_blank" rel="noopener noreferrer" style="--card-rotate: 2.5deg; --card-offset: -30px; --card-delay: 0.36s;" data-bind="sections.5.articles.3.href"> <img src="/uploads/press/articles/la libre.webp" alt="La Libre - Mon job étudiant" class="press-card__image astro-lxofekuu" loading="lazy" data-bind="sections.5.articles.3.image"> <div class="press-card__overlay astro-lxofekuu"> <span class="press-card__cta astro-lxofekuu">
Lire l'article
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-lxofekuu"><line x1="7" y1="17" x2="17" y2="7" class="astro-lxofekuu"></line><polyline points="7 7 17 7 17 17" class="astro-lxofekuu"></polyline></svg> </span> </div> </a> </div> <div class="ticker-wrapper mask-gradient astro-kofmyqso"> <div class="ticker-track astro-kofmyqso"> <div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtbf.webp" alt="RTBF" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtl.webp" alt="RTL" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/nrj.webp" alt="NRJ" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/lalibre.webp" alt="La Libre" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/dh.webp" alt="DH" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/sudinfo.webp" alt="Sud Info" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/elle.webp" alt="Elle" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/jde.webp" alt="Le JDE" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/digimedia.webp" alt="Digimedia" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/pub.webp" alt="Pub" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/cine.webp" alt="Ciné Télé Revue" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/kotplanet.webp" alt="Kotplanet" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/studen.webp" alt="Studen" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/azap.webp" alt="AZAP" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div><div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtbf.webp" alt="RTBF" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtl.webp" alt="RTL" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/nrj.webp" alt="NRJ" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/lalibre.webp" alt="La Libre" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/dh.webp" alt="DH" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/sudinfo.webp" alt="Sud Info" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/elle.webp" alt="Elle" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/jde.webp" alt="Le JDE" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/digimedia.webp" alt="Digimedia" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/pub.webp" alt="Pub" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/cine.webp" alt="Ciné Télé Revue" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/kotplanet.webp" alt="Kotplanet" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/studen.webp" alt="Studen" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/azap.webp" alt="AZAP" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div><div class="ticker-group astro-kofmyqso"> <span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtbf.webp" alt="RTBF" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/rtl.webp" alt="RTL" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/nrj.webp" alt="NRJ" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/lalibre.webp" alt="La Libre" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/dh.webp" alt="DH" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/sudinfo.webp" alt="Sud Info" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/elle.webp" alt="Elle" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/jde.webp" alt="Le JDE" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/digimedia.webp" alt="Digimedia" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/pub.webp" alt="Pub" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/cine.webp" alt="Ciné Télé Revue" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/kotplanet.webp" alt="Kotplanet" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/studen.webp" alt="Studen" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span><span class="ticker-item ticker-item--logo astro-kofmyqso"> <img src="/uploads/press/azap.webp" alt="AZAP" class="ticker-item__img astro-kofmyqso" loading="lazy"> </span> </div> </div> </div>  </section>  <script>
  function initPressCards() {
    var cards = document.querySelectorAll('.press-card');
    if (!cards.length) return;
    var observer = new IntersectionObserver(function(entries) {
      entries.forEach(function(entry) {
        if (entry.isIntersecting) {
          entry.target.classList.add('is-visible');
          observer.unobserve(entry.target);
        }
      });
    }, { threshold: 0.15 });
    cards.forEach(function(card) { observer.observe(card); });
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initPressCards);
  } else {
    initPressCards();
  }
  document.addEventListener('astro:page-load', initPressCards);
</script><section class="cta-section astro-ne56ttnc"> <div class="cta-section__blur cta-section__blur--tl astro-ne56ttnc" aria-hidden="true"></div> <div class="cta-section__blur cta-section__blur--br astro-ne56ttnc" aria-hidden="true"></div> <div class="cta-section__container astro-ne56ttnc"> <div class="cta-section__icon reveal-scale astro-ne56ttnc" aria-hidden="true"> <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"/><path d="M12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/></svg> </div> <h2 class="cta-section__title reveal-blur reveal-delay-1 astro-ne56ttnc" data-bind="sections.6.title">Envie de collaborer ?</h2> <p class="cta-section__description reveal reveal-delay-2 astro-ne56ttnc" data-bind="sections.6.description">Vous avez un projet, une marque ou un message à faire passer ? Travaillons ensemble pour créer du contenu impactant et authentique.</p> <div class="reveal reveal-delay-3 astro-ne56ttnc"> <a href="#contact" class="dd-btn dd-btn--primary astro-ne56ttnc astro-vnzlvqnm"> Discutons de votre projet </a>  </div> </div> </section> <section id="contact" class="dd-contact-section astro-w74mca64"> <div class="glow-bg glow-bg--top dd-contact-section__glow astro-w74mca64 astro-oiguy3ie" aria-hidden="true"> <svg width="1900" height="1500" viewBox="0 0 1900 1500" fill="none" xmlns="http://www.w3.org/2000/svg" class="astro-oiguy3ie"> <g opacity="0.5" filter="url(#glow-contact)" class="astro-oiguy3ie"> <rect x="550" y="550" width="800" height="400" rx="200" fill="#02143B" class="astro-oiguy3ie"></rect> </g> <defs class="astro-oiguy3ie"> <filter id="glow-contact" x="0" y="0" width="1900" height="1500" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB" class="astro-oiguy3ie"> <feFlood flood-opacity="0" result="BackgroundImageFix" class="astro-oiguy3ie"></feFlood> <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape" class="astro-oiguy3ie"></feBlend> <feGaussianBlur stdDeviation="275" result="effect1_foregroundBlur" class="astro-oiguy3ie"></feGaussianBlur> </filter> </defs> </svg> </div>  <div class="dd-contact-section__container astro-w74mca64"> <div class="dd-contact-section__card astro-w74mca64"> <div class="dd-contact-section__info astro-w74mca64"> <span class="dd-contact-section__subtitle reveal astro-w74mca64" data-bind="sections.7.subtitle">Contact</span> <h2 class="dd-contact-section__title reveal reveal-delay-1 astro-w74mca64" data-bind="sections.7.title">Un projet en tête ? Parlons-en<span class="dd-dot" aria-hidden="true"></span></h2> <p class="dd-contact-section__description reveal reveal-delay-2 astro-w74mca64" data-bind="sections.7.description">Que ce soit pour une collaboration commerciale, une intervention, ou ma présence lors d&#39;un événement, n&#39;hésitez pas à me contacter via ce formulaire.</p> <div class="dd-contact-section__details astro-w74mca64"> <div class="dd-contact-detail reveal-left reveal-delay-1 astro-w74mca64"> <div class="dd-contact-detail__icon astro-w74mca64" aria-hidden="true"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"/></svg> </div> <div class="astro-w74mca64"> <p class="dd-contact-detail__label astro-w74mca64">Téléphone</p> <a href="tel:+32472651177" class="dd-contact-detail__value astro-w74mca64">+32 472 65 11 77</a> </div> </div><div class="dd-contact-detail reveal-left reveal-delay-2 astro-w74mca64"> <div class="dd-contact-detail__icon astro-w74mca64" aria-hidden="true"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg> </div> <div class="astro-w74mca64"> <p class="dd-contact-detail__label astro-w74mca64">Email</p> <a href="mailto:contact@daviddieu.be" class="dd-contact-detail__value astro-w74mca64">contact@daviddieu.be</a> </div> </div> </div> </div> <div class="dd-contact-section__form-wrapper reveal-right reveal-delay-2 astro-w74mca64"> <form class="dd-contact-form astro-w74mca64" data-lang="fr"> <div class="dd-contact-form__gradient astro-w74mca64" aria-hidden="true"></div> <div class="dd-contact-form__inner astro-w74mca64"> <h3 class="dd-contact-form__heading astro-w74mca64">Coordonnées</h3> <div class="dd-contact-form__row astro-w74mca64"> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Prénom <span class="dd-contact-form__required astro-w74mca64">*</span></label> <input type="text" name="prenom" required class="dd-contact-form__input astro-w74mca64" placeholder="Votre prénom"> </div> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Nom <span class="dd-contact-form__required astro-w74mca64">*</span></label> <input type="text" name="nom" required class="dd-contact-form__input astro-w74mca64" placeholder="Votre nom"> </div> </div> <div class="dd-contact-form__row astro-w74mca64"> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">E-mail <span class="dd-contact-form__required astro-w74mca64">*</span></label> <input type="email" name="email" required class="dd-contact-form__input astro-w74mca64" placeholder="exemple@domaine.com"> </div> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Numéro de téléphone <span class="dd-contact-form__required astro-w74mca64">*</span></label> <input type="tel" name="telephone" required class="dd-contact-form__input astro-w74mca64" placeholder="+32 400 00 00 00"> </div> </div> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Nom de l&#39;entreprise <span class="dd-contact-form__required astro-w74mca64">*</span></label> <input type="text" name="entreprise" required class="dd-contact-form__input astro-w74mca64" placeholder="Mon Entreprise SRL"> </div> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Objet de la demande <span class="dd-contact-form__required astro-w74mca64">*</span></label> <div class="dd-contact-form__select-wrapper astro-w74mca64"> <select name="objet" required class="dd-contact-form__select astro-w74mca64"> <option value="Partenariat d'influence" selected class="astro-w74mca64">Partenariat d&#39;influence</option><option value="Conférence" class="astro-w74mca64">Conférence</option><option value="Demande de média kit" class="astro-w74mca64">Demande de média kit</option><option value="Autre" class="astro-w74mca64">Autre</option> </select> <svg class="dd-contact-form__select-arrow astro-w74mca64" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9" class="astro-w74mca64"></polyline></svg> </div> </div> <div class="dd-contact-form__field astro-w74mca64"> <label class="dd-contact-form__label astro-w74mca64">Description de la demande <span class="dd-contact-form__required astro-w74mca64">*</span></label> <textarea name="message" required rows="4" class="dd-contact-form__textarea astro-w74mca64" placeholder="Décrivez votre projet ou vos besoins ici..."></textarea> </div> <label class="dd-contact-form__checkbox astro-w74mca64"> <input type="checkbox" required class="dd-contact-form__checkbox-input astro-w74mca64"> <span class="dd-contact-form__checkbox-box astro-w74mca64" aria-hidden="true"></span> <span class="dd-contact-form__checkbox-text astro-w74mca64"> J&#39;accepte que mes données personnelles soient traitées par Dieu Media dans le but d&#39;une réponse à ce formulaire. </span> </label> <div class="dd-contact-form__submit-row astro-w74mca64"> <button type="submit" class="dd-contact-form__submit astro-w74mca64"> Envoyer <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="astro-w74mca64"><line x1="22" y1="2" x2="11" y2="13" class="astro-w74mca64"></line><polygon points="22 2 15 22 11 13 2 9 22 2" class="astro-w74mca64"></polygon></svg> </button> </div> <div class="dd-contact-form__feedback astro-w74mca64" aria-live="polite"></div> </div> </form> </div> </div> </div> </section>  <script>
  function initContactForm() {
    var form = document.querySelector('.dd-contact-form');
    if (!form || form.dataset.contactBound) return;
    form.dataset.contactBound = '1';

    var lang = form.dataset.lang || 'fr';
    var i18n = {
      sending: { fr: 'Envoi en cours...', en: 'Sending...', nl: 'Verzenden...' },
      success: { fr: 'Votre message a bien été envoyé ! Nous reviendrons vers vous rapidement.', en: 'Your message has been sent! We will get back to you shortly.', nl: 'Uw bericht is verzonden! We nemen snel contact met u op.' },
      error: { fr: 'Une erreur est survenue. Veuillez réessayer.', en: 'An error occurred. Please try again.', nl: 'Er is een fout opgetreden. Probeer het opnieuw.' },
      networkError: { fr: 'Erreur de connexion. Veuillez réessayer.', en: 'Connection error. Please try again.', nl: 'Verbindingsfout. Probeer het opnieuw.' },
    };
    var tt = function(key) { return i18n[key][lang] || i18n[key].fr; };

    var btnTextContent = form.querySelector('.dd-contact-form__submit').textContent.trim();

    form.addEventListener('submit', function(e) {
      e.preventDefault();

      var btn = form.querySelector('.dd-contact-form__submit');
      var feedback = form.querySelector('.dd-contact-form__feedback');

      btn.disabled = true;
      btn.textContent = tt('sending');
      feedback.className = 'dd-contact-form__feedback';
      feedback.textContent = '';

      var data = {
        prenom: form.querySelector('[name="prenom"]').value.trim(),
        nom: form.querySelector('[name="nom"]').value.trim(),
        email: form.querySelector('[name="email"]').value.trim(),
        telephone: form.querySelector('[name="telephone"]').value.trim(),
        entreprise: form.querySelector('[name="entreprise"]').value.trim(),
        objet: form.querySelector('[name="objet"]').value,
        message: form.querySelector('[name="message"]').value.trim(),
      };

      fetch('/api/contact', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(data),
      })
      .then(function(res) { return res.json().then(function(d) { return { ok: res.ok, data: d }; }); })
      .then(function(result) {
        if (result.ok) {
          feedback.className = 'dd-contact-form__feedback dd-contact-form__feedback--success';
          feedback.textContent = tt('success');
          form.reset();
        } else {
          feedback.className = 'dd-contact-form__feedback dd-contact-form__feedback--error';
          feedback.textContent = result.data.error || tt('error');
        }
      })
      .catch(function() {
        feedback.className = 'dd-contact-form__feedback dd-contact-form__feedback--error';
        feedback.textContent = tt('networkError');
      })
      .finally(function() {
        btn.disabled = false;
        btn.textContent = btnTextContent;
      });
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initContactForm);
  } else {
    initContactForm();
  }
  document.addEventListener('astro:page-load', initContactForm);
</script><section class="faq-section astro-4j5dlmku"> <div class="faq-section__container astro-4j5dlmku"> <div class="faq-section__header astro-4j5dlmku"> <span class="faq-section__subtitle reveal-blur astro-4j5dlmku" data-bind="sections.8.subtitle">FAQ</span> <h2 class="faq-section__title reveal-blur reveal-delay-1 astro-4j5dlmku" data-bind="sections.8.title">Questions fréquentes</h2> </div> <div class="faq-section__list astro-4j5dlmku" data-faq-list> <div class="faq-section__item reveal reveal-delay-1 astro-4j5dlmku" data-faq-item data-bind="sections.8.items.0"> <button class="faq-section__question astro-4j5dlmku" type="button" aria-expanded="false" data-faq-trigger> <span data-bind="sections.8.items.0.question" class="astro-4j5dlmku">Quels types de collaborations proposez-vous ?</span> <svg class="faq-section__chevron astro-4j5dlmku" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="astro-4j5dlmku"></polyline></svg> </button> <div class="faq-section__panel astro-4j5dlmku" data-faq-panel> <div class="faq-section__answer astro-4j5dlmku" data-bind="sections.8.items.0.answer"> <p class="astro-4j5dlmku">Je propose des placements de produit, des contenus sponsorisés, des prises de parole en conférence et des créations de formats vidéo sur-mesure pour les marques.</p> </div> </div> </div><div class="faq-section__item reveal reveal-delay-1 astro-4j5dlmku" data-faq-item data-bind="sections.8.items.1"> <button class="faq-section__question astro-4j5dlmku" type="button" aria-expanded="false" data-faq-trigger> <span data-bind="sections.8.items.1.question" class="astro-4j5dlmku">Quelle est votre audience principale ?</span> <svg class="faq-section__chevron astro-4j5dlmku" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="astro-4j5dlmku"></polyline></svg> </button> <div class="faq-section__panel astro-4j5dlmku" data-faq-panel> <div class="faq-section__answer astro-4j5dlmku" data-bind="sections.8.items.1.answer"> <p class="astro-4j5dlmku">Mon audience est principalement composée de jeunes adultes (18-35 ans) passionnés par la culture générale, l&#39;apprentissage et le divertissement éducatif.</p> </div> </div> </div><div class="faq-section__item reveal reveal-delay-1 astro-4j5dlmku" data-faq-item data-bind="sections.8.items.2"> <button class="faq-section__question astro-4j5dlmku" type="button" aria-expanded="false" data-faq-trigger> <span data-bind="sections.8.items.2.question" class="astro-4j5dlmku">Comment se déroule une collaboration ?</span> <svg class="faq-section__chevron astro-4j5dlmku" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="astro-4j5dlmku"></polyline></svg> </button> <div class="faq-section__panel astro-4j5dlmku" data-faq-panel> <div class="faq-section__answer astro-4j5dlmku" data-bind="sections.8.items.2.answer"> <p class="astro-4j5dlmku">Après un premier échange pour comprendre vos objectifs, je propose un concept créatif adapté à votre marque. Une fois validé, je produis le contenu et le publie sur mes réseaux avec un suivi des performances.</p> </div> </div> </div><div class="faq-section__item reveal reveal-delay-1 astro-4j5dlmku" data-faq-item data-bind="sections.8.items.3"> <button class="faq-section__question astro-4j5dlmku" type="button" aria-expanded="false" data-faq-trigger> <span data-bind="sections.8.items.3.question" class="astro-4j5dlmku">Proposez-vous des conférences pour les entreprises ?</span> <svg class="faq-section__chevron astro-4j5dlmku" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9" class="astro-4j5dlmku"></polyline></svg> </button> <div class="faq-section__panel astro-4j5dlmku" data-faq-panel> <div class="faq-section__answer astro-4j5dlmku" data-bind="sections.8.items.3.answer"> <p class="astro-4j5dlmku">Oui, j&#39;interviens aussi bien dans les écoles et universités que dans les entreprises. Mes conférences abordent la motivation, la créativité et le pouvoir de la vidéo comme outil de communication.</p> </div> </div> </div> </div> </div> </section>  <script>
  document.querySelectorAll('[data-faq-list]').forEach(function(list) {
    // Fixer la hauteur : mesurer avec le 1er item ouvert, puis verrouiller
    var firstPanel = list.querySelector('[data-faq-panel]');
    if (firstPanel) {
      firstPanel.style.transition = 'none';
      firstPanel.style.height = 'auto';
      var fixedHeight = list.scrollHeight;
      firstPanel.style.height = '0';
      // Force reflow avant de remettre la transition
      firstPanel.offsetHeight;
      firstPanel.style.transition = '';
      list.style.minHeight = fixedHeight + 'px';
    }

    list.querySelectorAll('[data-faq-trigger]').forEach(function(btn) {
      btn.addEventListener('click', function() {
        var item = btn.closest('[data-faq-item]');
        var panel = item.querySelector('[data-faq-panel]');
        var isOpen = item.classList.contains('is-open');

        // Fermer tous les autres
        list.querySelectorAll('[data-faq-item]').forEach(function(el) {
          if (el !== item) {
            el.classList.remove('is-open');
            el.querySelector('[data-faq-trigger]').setAttribute('aria-expanded', 'false');
            el.querySelector('[data-faq-panel]').style.height = '0';
          }
        });

        // Toggle celui cliqué
        if (isOpen) {
          panel.style.height = panel.scrollHeight + 'px';
          requestAnimationFrame(function() {
            panel.style.height = '0';
          });
          item.classList.remove('is-open');
          btn.setAttribute('aria-expanded', 'false');
        } else {
          panel.style.height = panel.scrollHeight + 'px';
          panel.addEventListener('transitionend', function handler() {
            if (item.classList.contains('is-open')) {
              panel.style.height = 'auto';
            }
            panel.removeEventListener('transitionend', handler);
          });
          item.classList.add('is-open');
          btn.setAttribute('aria-expanded', 'true');
        }
      });
    });
  });
</script><section id="agence" class="agence-section astro-6j3t556x"> <div class="agence-section__container astro-6j3t556x"> <div class="agence-section__header reveal astro-6j3t556x"> <span class="agence-section__subtitle astro-6j3t556x" data-bind="sections.9.subtitle">En dehors des réseaux</span> <h2 class="agence-section__title astro-6j3t556x" data-bind="sections.9.title"> Une agence de  <br class="agence-section__br astro-6j3t556x"> <span class="agence-section__title-faded astro-6j3t556x" data-bind="sections.9.titleFaded">production créative<span class="dd-dot" aria-hidden="true"></span></span>  </h2> </div> <div class="agence-section__row reveal reveal-delay-1 astro-6j3t556x"> <div class="agence-section__image-col astro-6j3t556x"> <img src="https://media.vdbcreation.eu/daviddieu/vertical.webp" alt="Agence Production" class="agence-section__image astro-6j3t556x" loading="lazy"> </div> <div class="agence-section__content astro-6j3t556x"> <p class="agence-section__lead astro-6j3t556x" data-bind="sections.9.lead">Je dirige une agence destinée aux grands comptes et agences ayant besoin de contenus performants sur les réseaux sociaux, grâce à l&#39;expérience acquise en générant des dizaines de millions de vues.</p> <a href="https://verticalview.eu/" target="_blank" rel="noopener noreferrer" class="agence-section__link astro-6j3t556x">
Découvrir l'agence
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="astro-6j3t556x"><line x1="7" y1="17" x2="17" y2="7" class="astro-6j3t556x"></line><polyline points="7 7 17 7 17 17" class="astro-6j3t556x"></polyline></svg> </a> </div> </div> </div> </section>  </main>  <footer class="footer astro-kd2twe7o"> <div class="footer__bg astro-kd2twe7o" aria-hidden="true"></div> <div class="footer__container astro-kd2twe7o"> <div class="footer__grid astro-kd2twe7o"> <div class="footer__brand reveal astro-kd2twe7o"> <div class="footer__logo astro-kd2twe7o"> <svg width="90" height="75" viewBox="0 0 90 75" fill="none" xmlns="http://www.w3.org/2000/svg" class="footer__logo-svg astro-kd2twe7o"> <path d="M10.9589 33H2.46484V9.08326H10.9589C13.4905 9.08326 15.6668 9.58291 17.4877 10.5822C19.3087 11.5815 20.7077 12.9694 21.6848 14.746C22.6619 16.5225 23.1505 18.5767 23.1505 20.9084C23.1505 23.2179 22.6508 25.2942 21.6515 27.1374C20.6522 28.9583 19.231 30.3907 17.3878 31.4344C15.5669 32.4781 13.4239 33 10.9589 33ZM7.52799 13.4469V28.6363H10.6925C12.2914 28.6363 13.6238 28.3366 14.6897 27.737C15.7778 27.1374 16.5884 26.2602 17.1213 25.1055C17.6765 23.9507 17.9541 22.5517 17.9541 20.9084C17.9541 19.3095 17.6765 17.9549 17.1213 16.8445C16.5884 15.7342 15.7778 14.8903 14.6897 14.313C13.6238 13.7356 12.2914 13.4469 10.6925 13.4469H7.52799Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M36.8597 33V30.8015C36.2823 31.6232 35.5495 32.2561 34.6612 32.7002C33.773 33.1221 32.7181 33.3331 31.4968 33.3331C29.6536 33.3331 28.1657 32.8334 27.0332 31.8341C25.9007 30.8348 25.3344 29.5024 25.3344 27.8369C25.3344 26.1048 26.0228 24.7835 27.3996 23.873C28.7764 22.9625 30.7528 22.5073 33.3288 22.5073C33.8396 22.5073 34.3281 22.5295 34.7945 22.5739C35.2608 22.5961 35.7605 22.6405 36.2934 22.7071V21.6412C36.2934 20.6419 36.027 19.8647 35.494 19.3095C34.961 18.7543 34.206 18.4767 33.2289 18.4767C32.2296 18.4767 31.4412 18.7543 30.8639 19.3095C30.2865 19.8647 29.9534 20.6419 29.8646 21.6412H25.7008C25.7896 20.2644 26.156 19.0763 26.8 18.077C27.4662 17.0555 28.3434 16.2672 29.4315 15.712C30.5419 15.1568 31.8077 14.8792 33.2289 14.8792C35.5606 14.8792 37.3705 15.4899 38.6585 16.7113C39.9687 17.9327 40.6238 19.6315 40.6238 21.8078V33H36.8597ZM29.698 27.7037C29.698 28.4365 29.9423 29.025 30.4308 29.4691C30.9416 29.9132 31.63 30.1353 32.4961 30.1353C33.673 30.1353 34.5946 29.8355 35.2608 29.2359C35.9492 28.6141 36.2934 27.7925 36.2934 26.771V25.5052C35.7605 25.4164 35.283 25.3608 34.8611 25.3386C34.4392 25.2942 34.0283 25.272 33.6286 25.272C32.3406 25.272 31.3635 25.4719 30.6973 25.8716C30.0311 26.2713 29.698 26.882 29.698 27.7037Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M60.0178 15.2123L53.489 33H48.4259L41.8638 15.2123H46.8603L51.0907 27.737L55.3544 15.2123H60.0178Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M66.6796 33H62.0495V15.2123H66.6796V33ZM67.4124 11.0819C67.4124 11.8591 67.1238 12.5142 66.5464 13.0472C65.9912 13.5579 65.2473 13.8133 64.3146 13.8133C63.4041 13.8133 62.6602 13.5579 62.0828 13.0472C61.5276 12.5142 61.2501 11.8591 61.2501 11.0819C61.2501 10.2602 61.5276 9.59401 62.0828 9.08326C62.6602 8.55029 63.4041 8.28381 64.3146 8.28381C65.2473 8.28381 65.9912 8.55029 66.5464 9.08326C67.1238 9.59401 67.4124 10.2602 67.4124 11.0819Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M69.6341 24.1062C69.6341 22.3518 69.9561 20.7751 70.6001 19.3761C71.2663 17.9771 72.1879 16.8778 73.3648 16.0784C74.564 15.279 75.9519 14.8792 77.5286 14.8792C78.5945 14.8792 79.5716 15.1013 80.4599 15.5454C81.3482 15.9896 82.1254 16.6447 82.7916 17.5107V9.08326H87.3884V33H83.158V30.4351C82.4474 31.3456 81.6147 32.0562 80.6598 32.5669C79.7271 33.0777 78.6834 33.3331 77.5286 33.3331C75.9519 33.3331 74.564 32.9334 73.3648 32.1339C72.1879 31.3123 71.2663 30.2019 70.6001 28.8029C69.9561 27.4039 69.6341 25.8383 69.6341 24.1062ZM74.3974 24.1062C74.3974 25.7717 74.8083 27.0375 75.6299 27.9035C76.4516 28.7696 77.4287 29.2026 78.5612 29.2026C79.3385 29.2026 80.038 29.0028 80.6598 28.603C81.3038 28.2033 81.8145 27.6259 82.192 26.8709C82.5695 26.0937 82.7583 25.1499 82.7583 24.0395C82.7583 22.9292 82.5584 21.9965 82.1587 21.2415C81.7812 20.4865 81.2704 19.9202 80.6264 19.5427C80.0047 19.1651 79.3162 18.9764 78.5612 18.9764C77.4287 18.9764 76.4516 19.4094 75.6299 20.2755C74.8083 21.1193 74.3974 22.3962 74.3974 24.1062Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M10.9589 65.4215H2.46484V41.5047H10.9589C13.4905 41.5047 15.6668 42.0044 17.4877 43.0037C19.3087 44.003 20.7077 45.3909 21.6848 47.1675C22.6619 48.944 23.1505 50.9982 23.1505 53.3299C23.1505 55.6394 22.6508 57.7157 21.6515 59.5589C20.6522 61.3798 19.231 62.8122 17.3878 63.8559C15.5669 64.8996 13.4239 65.4215 10.9589 65.4215ZM7.52799 45.8684V61.0578H10.6925C12.2914 61.0578 13.6238 60.758 14.6897 60.1585C15.7778 59.5589 16.5884 58.6817 17.1213 57.527C17.6765 56.3722 17.9541 54.9732 17.9541 53.3299C17.9541 51.731 17.6765 50.3764 17.1213 49.266C16.5884 48.1557 15.7778 47.3118 14.6897 46.7344C13.6238 46.1571 12.2914 45.8684 10.6925 45.8684H7.52799Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M30.8972 65.4215H26.2671V47.6338H30.8972V65.4215ZM31.63 43.5034C31.63 44.2806 31.3413 44.9357 30.7639 45.4687C30.2088 45.9794 29.4648 46.2348 28.5322 46.2348C27.6217 46.2348 26.8778 45.9794 26.3004 45.4687C25.7452 44.9357 25.4676 44.2806 25.4676 43.5034C25.4676 42.6817 25.7452 42.0155 26.3004 41.5047C26.8778 40.9718 27.6217 40.7053 28.5322 40.7053C29.4648 40.7053 30.2088 40.9718 30.7639 41.5047C31.3413 42.0155 31.63 42.6817 31.63 43.5034Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M42.7455 65.7213C40.9689 65.7213 39.4033 65.3438 38.0487 64.5887C36.7163 63.8115 35.6837 62.7233 34.9509 61.3243C34.2181 59.9253 33.8516 58.3042 33.8516 56.461C33.8516 54.6845 34.2292 53.1078 34.9842 51.731C35.7392 50.3542 36.7829 49.2771 38.1153 48.4999C39.4478 47.7004 40.9689 47.3007 42.6788 47.3007C44.0779 47.3007 45.3437 47.5672 46.4762 48.1002C47.631 48.6109 48.597 49.3438 49.3742 50.2986C50.1514 51.2535 50.7066 52.3639 51.0397 53.6297C51.3728 54.8732 51.4283 56.2168 51.2063 57.6602H36.5831V54.7289H46.3097C46.2652 53.4853 45.8988 52.5082 45.2104 51.7976C44.5442 51.0648 43.667 50.6984 42.5789 50.6984C41.7128 50.6984 40.98 50.9204 40.3804 51.3646C39.7809 51.8087 39.3145 52.4638 38.9814 53.3299C38.6705 54.1737 38.5151 55.2174 38.5151 56.461C38.5151 57.6824 38.6705 58.715 38.9814 59.5589C39.2923 60.4027 39.7586 61.0467 40.3804 61.4909C41.0022 61.935 41.7573 62.1571 42.6455 62.1571C43.667 62.1571 44.5109 61.9128 45.1771 61.4242C45.8433 60.9357 46.3097 60.2584 46.5761 59.3923H51.1729C50.6622 61.3909 49.674 62.9454 48.2083 64.0558C46.7427 65.1661 44.9217 65.7213 42.7455 65.7213Z" fill="currentColor" class="astro-kd2twe7o"></path> <path d="M65.1333 57.9267V47.6338H69.7301V65.4215H65.4997V63.0898C65.0334 63.867 64.3339 64.511 63.4012 65.0217C62.4685 65.5103 61.4359 65.7546 60.3033 65.7546C59.1264 65.7546 58.0715 65.5103 57.1389 65.0217C56.2062 64.5332 55.4733 63.7893 54.9404 62.79C54.4074 61.7685 54.1409 60.4916 54.1409 58.9593V47.6338H58.771V58.0599C58.771 59.3035 59.0486 60.214 59.6038 60.7914C60.1812 61.3687 60.9362 61.6574 61.8689 61.6574C62.4241 61.6574 62.9459 61.5131 63.4345 61.2244C63.9452 60.9357 64.3561 60.5138 64.667 59.9586C64.9779 59.3812 65.1333 58.7039 65.1333 57.9267Z" fill="currentColor" class="astro-kd2twe7o"></path> </svg> <span class="footer__logo-dot astro-kd2twe7o" aria-hidden="true"></span> </div> <div class="footer__socials astro-kd2twe7o"> <a href="https://www.instagram.com/daviddieu/" aria-label="Instagram" class="social-link astro-xfej6wit"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"/><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/></svg> </a> <a href="https://www.tiktok.com/@daviddieu" aria-label="TikTok" class="social-link astro-xfej6wit"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5"/></svg> </a> <a href="https://www.youtube.com/@daviddieu" aria-label="YouTube" class="social-link astro-xfej6wit"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19.1c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"/><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"/></svg> </a> <a href="https://www.linkedin.com/in/daviddieu/" aria-label="LinkedIn" class="social-link astro-xfej6wit"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg> </a>  </div> </div> <div class="footer__col astro-kd2twe7o"> <h4 class="footer__col-title astro-kd2twe7o">Informations</h4> <ul class="footer__info-list astro-kd2twe7o"> <li class="footer__info-item astro-kd2twe7o"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="footer__info-icon astro-kd2twe7o" aria-hidden="true"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" class="astro-kd2twe7o"></path><circle cx="12" cy="10" r="3" class="astro-kd2twe7o"></circle></svg> <span class="astro-kd2twe7o">Place des Peintres 9 / 203<br class="astro-kd2twe7o">1348 Ottignies-Louvain-la-Neuve</span> </li> <li class="footer__info-item astro-kd2twe7o"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="footer__info-icon astro-kd2twe7o" aria-hidden="true"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z" class="astro-kd2twe7o"></path></svg> <span class="astro-kd2twe7o">+32 472 65 11 77</span> </li> <li class="footer__info-item astro-kd2twe7o"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="footer__info-icon astro-kd2twe7o" aria-hidden="true"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" class="astro-kd2twe7o"></path><polyline points="22,6 12,13 2,6" class="astro-kd2twe7o"></polyline></svg> <span class="astro-kd2twe7o">contact@daviddieu.be</span> </li> <li class="footer__info-item astro-kd2twe7o"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="footer__info-icon astro-kd2twe7o" aria-hidden="true"><rect x="4" y="2" width="16" height="20" rx="2" ry="2" class="astro-kd2twe7o"></rect><path d="M9 22v-4h6v4" class="astro-kd2twe7o"></path><path d="M8 6h.01" class="astro-kd2twe7o"></path><path d="M16 6h.01" class="astro-kd2twe7o"></path><path d="M12 6h.01" class="astro-kd2twe7o"></path><path d="M12 10h.01" class="astro-kd2twe7o"></path><path d="M12 14h.01" class="astro-kd2twe7o"></path><path d="M16 10h.01" class="astro-kd2twe7o"></path><path d="M16 14h.01" class="astro-kd2twe7o"></path><path d="M8 10h.01" class="astro-kd2twe7o"></path><path d="M8 14h.01" class="astro-kd2twe7o"></path></svg> <span class="astro-kd2twe7o">Dieu Media SRL — 0792.755.759</span> </li> </ul> </div> <div class="footer__col astro-kd2twe7o"> <h4 class="footer__col-title astro-kd2twe7o">Services</h4> <ul class="footer__link-list astro-kd2twe7o"> <li class="astro-kd2twe7o"> <a href="https://verticalview.eu/" class="footer__link astro-kd2twe7o">Mon agence</a> </li><li class="astro-kd2twe7o"> <a href="/conference" class="footer__link astro-kd2twe7o">Conférences</a> </li><li class="astro-kd2twe7o"> <a href="#contact" class="footer__link astro-kd2twe7o">Contact</a> </li> </ul> </div> <div class="footer__col astro-kd2twe7o"> <h4 class="footer__col-title astro-kd2twe7o">Liens utiles</h4> <ul class="footer__link-list astro-kd2twe7o"> <li class="astro-kd2twe7o"> <a href="/politique-de-confidentialite" class="footer__link astro-kd2twe7o">Politique de confidentialité</a> </li><li class="astro-kd2twe7o"> <a href="/mentions-legales" class="footer__link astro-kd2twe7o">Mentions légales</a> </li> </ul> </div> </div> <div class="footer__bottom astro-kd2twe7o"> <p class="astro-kd2twe7o">&copy; 2026 Tous droits réservés Dieu Media</p> <div class="lang-switch astro-kd2twe7o" role="radiogroup" aria-label="Language"> <button class="lang-switch__btn astro-kd2twe7o" data-lang="fr" aria-label="Français">FR</button> <button class="lang-switch__btn astro-kd2twe7o" data-lang="nl" aria-label="Nederlands">NL</button> <button class="lang-switch__btn astro-kd2twe7o" data-lang="en" aria-label="English">EN</button> </div> </div> </div> </footer>  <script>
  function initLangSwitch() {
    var pathname = window.location.pathname;
    var currentLang = 'fr';
    if (pathname.startsWith('/en/') || pathname === '/en') currentLang = 'en';
    else if (pathname.startsWith('/nl/') || pathname === '/nl') currentLang = 'nl';

    document.querySelectorAll('.lang-switch__btn').forEach(function(btn) {
      var lang = btn.getAttribute('data-lang');
      btn.classList.toggle('active', lang === currentLang);

      btn.addEventListener('click', function() {
        if (lang === currentLang) return;
        // Set cookie (1 year)
        document.cookie = 'bp-lang=' + lang + ';path=/;max-age=31536000;SameSite=Lax';

        var cleanPath = pathname.replace(/^\/(en|nl)/, '') || '/';
        var newPath;
        if (lang === 'fr') {
          newPath = cleanPath;
        } else {
          newPath = cleanPath === '/' ? '/' + lang + '/' : '/' + lang + cleanPath;
        }
        window.location.href = newPath;
      });
    });
  }

  initLangSwitch();
  document.addEventListener('astro:page-load', initLangSwitch);
</script> <!-- Script de redirection automatique selon la langue sauvegardée ou du navigateur --> <script>
      // Fonction de redirection basée sur la langue
      function checkAndRedirectLanguage() {
        var pathname = window.location.pathname;
        // Détecter la langue courante depuis l'URL
        var currentLang = "fr";
        if (pathname.startsWith("/en/") || pathname === "/en") currentLang = "en";
        else if (pathname.startsWith("/nl/") || pathname === "/nl") currentLang = "nl";

        // Lire la langue sauvegardée dans le cookie
        var cookieMatch = document.cookie.match(/bp-lang=([^;]+)/);
        var savedLang = cookieMatch ? cookieMatch[1] : null;

        // Fonction utilitaire pour construire le nouveau chemin
        function buildPath(targetLang) {
          var cleanPath = pathname.replace(/^\/(en|nl)/, "") || "/";
          if (targetLang === "fr") return cleanPath;
          if (cleanPath === "/") return "/" + targetLang + "/";
          return "/" + targetLang + cleanPath;
        }

        // Si l'utilisateur a un choix sauvegardé différent de la page actuelle -> rediriger
        if (savedLang && savedLang !== currentLang && ["fr", "en", "nl"].indexOf(savedLang) !== -1) {
          window.location.replace(buildPath(savedLang));
          return true;
        }

        // Si aucun choix sauvegardé, détecter la langue du navigateur (premier accès uniquement)
        if (!savedLang && currentLang === "fr") {
          var browserLang = navigator.language || navigator.userLanguage || "en";
          var primaryLang = browserLang.split("-")[0].toLowerCase();

          // NL -> /nl
          if (primaryLang === "nl") {
            document.cookie = "bp-lang=nl;path=/;max-age=31536000;SameSite=Lax";
            window.location.replace(buildPath("nl"));
            return true;
          }
          // Non-FR et non-NL -> /en
          if (primaryLang !== "fr") {
            document.cookie = "bp-lang=en;path=/;max-age=31536000;SameSite=Lax";
            window.location.replace(buildPath("en"));
            return true;
          }
        }
        return false;
      }

      // Exécuter immédiatement
      checkAndRedirectLanguage();

      // Ré-exécuter lors des navigations View Transitions
      document.addEventListener("astro:page-load", checkAndRedirectLanguage);
    </script> <!-- Script d'animation scroll-reveal --> <script type="module">(function(){const a="0px 0px -50px 0px",s=".reveal, .reveal-left, .reveal-right, .reveal-scale, .reveal-down, .reveal-zoom, .reveal-blur, .fade-in-v, .slide-up-v, .slide-down-v, .slide-left-v, .slide-right-v, .scale-in-v, .zoom-in-v, .blur-in-v, .pop-v, .scroll-reveal, .scroll-reveal-delayed, .scroll-reveal-scale, .animate-on-scroll, .animate-on-scroll-delayed, .reveal-tilt-scale";function e(){const o=document.querySelectorAll(s);if(o.length===0){console.log("[Anim] Aucun élément reveal trouvé");return}const n=new IntersectionObserver(l=>{l.forEach(r=>{if(r.isIntersecting){const t=r.target;t.classList.add("is-visible"),n.unobserve(t)}})},{threshold:.1,rootMargin:a});o.forEach(l=>n.observe(l))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e(),document.addEventListener("astro:page-load",e)})();</script> </body> </html>