Bloquez le contenu intégré (YouTube, Google Maps, Twitter) jusqu'au consentement de l'utilisateur. Solution gratuite et conforme au GDPR pour les intégrations tierces.
Gratuit pour toujours. Conforme au GDPR. Fonctionne avec toutes les principales intégrations.
Configurez votre outil de consentement aux intégrations ci-dessous. Copiez le code généré et ajoutez-le à votre site web.
Ce contenu est bloqué jusqu'à ce que vous acceptiez les cookies
<!-- Embed Consent Tool by TermsBox - https://termsbox.com/embed-consent -->
<script>
(function() {
'use strict';
var TERMSBOX_EMBED_CONFIG = {
blockedDomains: ["youtube.com","youtu.be","vimeo.com","google.com/maps","maps.google.com"],
placeholderText: "Ce contenu est bloqué jusqu\'à ce que vous acceptiez les cookies",
buttonText: "Accepter et charger le contenu",
theme: "light",
rememberConsent: true,
consentDays: 30,
storageKey: 'termsbox_embed_consent'
};
function hasConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return false;
try {
var consent = localStorage.getItem(TERMSBOX_EMBED_CONFIG.storageKey);
if (!consent) return false;
var data = JSON.parse(consent);
return data.granted && data.expires > Date.now();
} catch (e) {
return false;
}
}
function saveConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return;
try {
var expires = Date.now() + (TERMSBOX_EMBED_CONFIG.consentDays * 24 * 60 * 60 * 1000);
localStorage.setItem(TERMSBOX_EMBED_CONFIG.storageKey, JSON.stringify({
granted: true,
expires: expires
}));
} catch (e) {
// localStorage not available
}
}
function shouldBlock(src) {
if (!src) return false;
var srcLower = src.toLowerCase();
return TERMSBOX_EMBED_CONFIG.blockedDomains.some(function(domain) {
return srcLower.indexOf(domain) !== -1;
});
}
function createPlaceholder(iframe) {
var placeholder = document.createElement('div');
placeholder.className = 'termsbox-embed-placeholder';
placeholder.style.cssText = 'display:flex;flex-direction:column;align-items:center;justify-content:center;' +
'padding:40px 20px;text-align:center;border-radius:8px;min-height:200px;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#1f2937;color:#f3f4f6;border:1px solid #374151;'
: 'background:#f3f4f6;color:#1f2937;border:1px solid #e5e7eb;');
var icon = document.createElement('div');
icon.innerHTML = '<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="m7 11V7a5 5 0 0 1 10 0v4"/></svg>';
icon.style.cssText = 'margin-bottom:16px;opacity:0.6;';
var text = document.createElement('p');
text.textContent = TERMSBOX_EMBED_CONFIG.placeholderText;
text.style.cssText = 'margin:0 0 16px 0;font-size:14px;max-width:300px;';
var button = document.createElement('button');
button.textContent = TERMSBOX_EMBED_CONFIG.buttonText;
button.style.cssText = 'padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;' +
'border:none;transition:opacity 0.2s;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#3b82f6;color:#ffffff;'
: 'background:#2563eb;color:#ffffff;');
button.onmouseover = function() { this.style.opacity = '0.9'; };
button.onmouseout = function() { this.style.opacity = '1'; };
button.onclick = function() {
saveConsent();
loadAllEmbeds();
};
placeholder.appendChild(icon);
placeholder.appendChild(text);
placeholder.appendChild(button);
return placeholder;
}
function loadAllEmbeds() {
var placeholders = document.querySelectorAll('.termsbox-embed-placeholder');
placeholders.forEach(function(placeholder) {
var iframe = placeholder.termsboxOriginalIframe;
if (iframe && placeholder.parentNode) {
placeholder.parentNode.replaceChild(iframe, placeholder);
}
});
}
function processIframes() {
if (hasConsent()) return;
var iframes = document.querySelectorAll('iframe[src]');
iframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var placeholder = createPlaceholder(iframe);
placeholder.termsboxOriginalIframe = iframe.cloneNode(true);
if (iframe.width) placeholder.style.width = iframe.width + (isNaN(iframe.width) ? '' : 'px');
if (iframe.height) placeholder.style.height = iframe.height + (isNaN(iframe.height) ? '' : 'px');
iframe.parentNode.replaceChild(placeholder, iframe);
}
});
}
// Run on DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', processIframes);
} else {
processIframes();
}
// Also observe for dynamically added iframes
if (typeof MutationObserver !== 'undefined') {
var observer = new MutationObserver(function(mutations) {
if (!hasConsent()) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'IFRAME' && shouldBlock(node.src)) {
var placeholder = createPlaceholder(node);
placeholder.termsboxOriginalIframe = node.cloneNode(true);
node.parentNode.replaceChild(placeholder, node);
}
// Check child iframes
var childIframes = node.querySelectorAll && node.querySelectorAll('iframe[src]');
if (childIframes) {
childIframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var p = createPlaceholder(iframe);
p.termsboxOriginalIframe = iframe.cloneNode(true);
iframe.parentNode.replaceChild(p, iframe);
}
});
}
}
});
});
}
});
observer.observe(document.body || document.documentElement, { childList: true, subtree: true });
}
})();
</script>
<!-- Get your free Embed Consent tool at https://termsbox.com/embed-consent -->Le consentement aux intégrations est un mécanisme de confidentialité qui empêche le chargement du contenu intégré de tiers jusqu'à ce que les utilisateurs y consentent explicitement. Lorsque vous intégrez du contenu provenant de plateformes comme YouTube, Google Maps ou les réseaux sociaux, ces intégrations chargent souvent automatiquement des cookies, des scripts de suivi et d'autres mécanismes de collecte de données.
En vertu de réglementations sur la confidentialité comme le GDPR, la directive ePrivacy et des lois similaires dans le monde entier, vous avez besoin du consentement de l'utilisateur avant de charger ce contenu de suivi. Un outil de consentement aux intégrations remplace ces intégrations par un espace réservé qui explique ce qui sera chargé et inclut un bouton permettant aux utilisateurs de donner leur consentement.
Une fois le consentement donné, l'intégration d'origine se charge normalement. L'outil peut mémoriser ce choix afin que les visiteurs de retour n'aient pas à donner leur consentement à nouveau à chaque visite.
Répondez aux exigences de confidentialité de l'UE en obtenant le consentement avant de charger du contenu de suivi tiers.
Respectez la vie privée des utilisateurs en ne partageant pas automatiquement leurs données avec des plateformes tierces.
Évitez d'éventuelles amendes GDPR en garantissant un consentement approprié pour toutes les technologies de suivi.
Montrez aux utilisateurs exactement quel contenu tiers sera chargé avant qu'ils n'interagissent avec lui.
L'utilisateur visite une page contenant du contenu intégré (YouTube, Maps, etc.)
Le script détecte les intégrations provenant de domaines bloqués et les remplace par un espace réservé
L'espace réservé affiche un message personnalisable avec un bouton de consentement
L'utilisateur clique sur le bouton pour donner son consentement et charger toutes les intégrations
Le consentement est enregistré dans le localStorage pour les futures visites (si activé)
YouTube, Vimeo et autres intégrations vidéo qui déposent des cookies de suivi.
Les intégrations Google Maps qui suivent les données de localisation et de comportement des utilisateurs.
Les intégrations de Twitter/X, Facebook, Instagram et d'autres plateformes sociales.
Cessez de charger du contenu de suivi tiers sans consentement. Utilisez notre outil gratuit de consentement aux intégrations pour rester conforme aux réglementations sur la confidentialité.
Solution complète de consentement aux cookies avec bannière et préférences personnalisables.
Ajoutez un lien « Ne pas vendre mes informations personnelles » pour la conformité avec la Californie.
Générez une politique de confidentialité complète, adaptée aux besoins de votre entreprise.