Connexion tocken, stripe 3D, tracking analytic

This commit is contained in:
Oleg Barykin committed 2026-03-11 21:44:19 +01:00
1 parent 1deb30fcd1
commit bd311da711
17 files changed
+3324 -455

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
(function () {
// --- helpers ---
function loadScript(src) {
var s = document.createElement("script");
s.async = true;
s.src = src;
(document.head || document.documentElement).appendChild(s);
}
function consentOk() {
try {
// Si tu utilises vanilla-cookieconsent v3
return window.CookieConsent &&
typeof CookieConsent.acceptedCategory === "function"
? CookieConsent.acceptedCategory("analytics")
: true; // pas de CMP → on trace par défaut (change à false si tu veux l’inverse)
} catch (e) {
return true;
}
}
// --- Matomo ---
function initMatomo() {
if (window.__MATOMO_LOADED__) return;
window.__MATOMO_LOADED__ = true;
window._paq = window._paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
var u = "https://staging.uslugi.fr/matomo/";
_paq.push(["setTrackerUrl", u + "matomo.php"]);
_paq.push(["setSiteId", "1"]);
loadScript(u + "matomo.js"); // charge le tracker depuis ton staging (autorise ce domaine dans la CSP)
}
// --- Google Analytics (facultatif) ---
function initGA() {
if (window.__GA_READY__) return;
window.__GA_READY__ = true;
loadScript("https://www.googletagmanager.com/gtag/js?id=G-RXS9TX1JYD");
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
window.gtag = gtag;
gtag("js", new Date());
gtag("config", "G-RXS9TX1JYD", { anonymize_ip: true });
}
// --- start when allowed ---
function start() {
if (!consentOk()) return;
initMatomo();
initGA(); // décommente si tu veux activer GA aussi
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", start);
} else {
start();
}
// Si la bannière change le consentement à chaud
if (window.CookieConsent && typeof CookieConsent.onChange === "function") {
CookieConsent.onChange(function ({ changedCategories }) {
if (changedCategories.includes("analytics") && consentOk()) start();
});
}
})();