Présentation du plugin Cookie Notice
Cookie Notice est un plugin livré en standard avec QuietCMS. Il affiche automatiquement une bannière de consentement aux cookies en bas (ou en haut) de chaque page publique, conformément aux exigences du RGPD et aux recommandations de la CNIL. Aucune librairie externe n'est requise : la bannière est entièrement en HTML, CSS et JavaScript natif.
Configuration depuis le back-office
Toutes les options se trouvent dans Admin → Plugins → Cookie Notice :
- Texte de la bannière — personnalisable avec lien vers votre politique de confidentialité
- Libellé du bouton d'acceptation — ex. « J'accepte », « OK »
- Libellé du bouton de refus — ex. « Refuser », « Non merci »
- Position —
bottom(défaut) outop - Couleurs — fond de la bannière, couleur du texte, couleur du bouton d'acceptation
Les paramètres sont enregistrés dans content/settings.json sous la clé cookie_notice.
Mécanisme de consentement
Lorsqu'un visiteur clique sur Accepter, le plugin place un cookie de première partie dans le navigateur :
qcms_cookie_consent=1; Max-Age=31536000; Path=/; SameSite=Lax
Ce cookie expire au bout de 365 jours. À chaque chargement de page, le JavaScript du plugin vérifie la présence de ce cookie : s'il existe, la bannière reste invisible.
En cas de refus, un cookie distinct est posé :
qcms_cookie_consent=declined; Max-Age=31536000; Path=/; SameSite=Lax
Injection via le hook body_end
Le plugin s'accroche au hook body_end pour injecter la bannière juste avant </body>. Cela garantit que la bannière apparaît sur toutes les pages sans modifier un seul template de thème :
<?php
function plugin_cookie_notice_body_end(array $args): void {
$settings = $args['settings']['cookie_notice'] ?? [];
// Génère et affiche le HTML de la bannière
echo CookieNoticeRenderer::render($settings);
}
Intégration avec les scripts analytics
Cookie Notice ne bloque pas automatiquement les scripts tiers — c'est la responsabilité du propriétaire du site de conditionner le chargement de ses traceurs. Voici un exemple d'intégration avec Google Analytics :
<script>
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
if (getCookie('qcms_cookie_consent') === '1') {
// Charger GA uniquement si consentement donné
(function(w,d,s,l,i){...})(window,document,'script','dataLayer','G-XXXXXXXX');
}
</script>
Placez ce bloc dans le champ head_extra de vos pages ou dans le Global Head des paramètres généraux.
Limites et responsabilités
Ce plugin fournit les mécanismes techniques du consentement, mais la conformité RGPD complète reste à la charge du propriétaire du site :
- Rédiger une politique de confidentialité accessible et à jour
- Conditionner le chargement de chaque script tiers au consentement
- Conserver les preuves de consentement si requis par votre activité
- Proposer un moyen de retirer son consentement (lien « Gérer les cookies » en pied de page)
Pour les sites à fort volume ou soumis à des obligations légales strictes, une solution de Consent Management Platform (CMP) certifiée par l'IAB peut s'avérer nécessaire.
Articles similaires
Hooks plugins : body_end et head_end
Comment fonctionne le système de hooks de QuietCMS pour étendre le CMS avec des plugins PHP.
Plugin AI Content : génération avec GPT-4o, Claude et Mistral
Générez du contenu HTML directement depuis QuietCMS avec OpenAI, Anthropic Claude, Mistral, Groq et d'autres LLMs.
Rendre son site multilingue avec QuietCMS : l'extension complète
Comment rendre un site multilingue avec QuietCMS : URLs préfixées /xx/, hreflang automatiques, traduction par IA, sitema…