' + '
' + '

On revient très vite ✨

' + '

' + (cfg.maintenance_message || "Le site est temporairement indisponible.").replace(/[<>]/g, "") + '

' + '

Une question urgente ? noah@clientbase.fr

' + '
'; return true; } return false; } // Décision immédiate avec le cache si dispo + récent (<60 s) if (cached && cached._fetchedAt && (Date.now() - cached._fetchedAt) < 60000) { if (applyConfig(cached)) return; } // Fetch en arrière-plan pour mettre à jour le cache (ne bloque pas // le rendu actuel · si maintenance vient d'être activée, le // prochain visiteur la verra ; le user actuel reload au besoin). fetch("https://jocvsxwefjybyoimagqk.supabase.co/rest/v1/site_config?select=*&id=eq.1", { headers: { apikey: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImpvY3ZzeHdlZmp5YnlvaW1hZ3FrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzY3MDk3MTAsImV4cCI6MjA5MjI4NTcxMH0.btFNbc_W5W1Lxq5ciIAkW4TGupHMwKA3CnFtvGknvzA", }, }) .then(function (r) { return r.json(); }) .then(function (rows) { var cfg = (rows && rows[0]) || {}; cfg._fetchedAt = Date.now(); try { localStorage.setItem(CACHE_KEY, JSON.stringify(cfg)); } catch (e) {} /* La configuration ne sert plus qu'à la maintenance : depuis le 6 août 2026, elle porte aussi la date de fin de l'offre de lancement (`offre_lancement_jusqua`), lue par `cbOffreLancement()` dans shared.jsx. On la publie donc au reste de l'application plutôt que de la refaire chercher — c'est la même requête, déjà partie, et surtout la même valeur que celle appliquée en base. L'événement réveille les composants déjà rendus : au premier chargement, React a fini son travail avant cette réponse. */ window.cbConfig = cfg; try { window.dispatchEvent(new Event("cb-config")); } catch (e) {} // Si la maintenance vient d'être activée, l'applique tout de suite // (on n'aura peut-être pas encore rendu React, ou si oui, le replace // de document.documentElement re-render proprement). if (cfg.maintenance_mode === true) { applyConfig(cfg); } }) .catch(function () { /* offline, on continue avec le rendu normal */ }); } catch (e) {} })(); Pourquoi ClientBase n'enverra jamais de SMS · ClientBase