Extensions

Plugin Cookie Notice RGPD

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 »
  • Positionbottom (défaut) ou top
  • 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