Cookies Revolution — Documentation
Cookies Revolution est un gestionnaire de consentement aux cookies par catégorie pour PrestaShop. Il vous aide à recueillir les choix des visiteurs, à bloquer les scripts de suivi optionnels jusqu’au consentement, à conserver des journaux de consentement et à envoyer les signaux Google Consent Mode v2.
Fonctionnalités
- Consentement par catégorie. Les visiteurs peuvent accepter tous les cookies, refuser les cookies optionnels ou choisir leur consentement catégorie par catégorie.
- Groupes de cookies par défaut. Le module installe les catégories nécessaires, fonctionnelles, analytiques et marketing, avec des noms et descriptions visibles par les visiteurs.
- Règles de blocage des scripts. Les scripts externes et les scripts inline correspondants sont réécrits jusqu’à ce que la catégorie optionnelle associée soit acceptée.
- Protection dynamique des scripts. Le JavaScript front-office surveille les scripts ajoutés après chargement et bloque les scripts de suivi correspondants avant consentement.
- Google Consent Mode v2. Le module émet des signaux Consent Mode refusés par défaut et les met à jour lorsque le visiteur enregistre ses choix.
- Journal de consentement. Les choix enregistrés peuvent être consignés avec le hash visiteur, le hash IP, le hash user-agent, la version du consentement, la source et la date.
- Export CSV. L’écran du journal de consentement inclut un export CSV pour les enregistrements d’audit.
- Scanner de cookies. Le scanner détecte les en-têtes
Set-Cookieet les affectations simplesdocument.cookie, puis vous permet de catégoriser les nouveaux cookies. - Politique de cookies générée. Le contrôleur de configuration peut créer ou mettre à jour manuellement une page CMS de politique de cookies à partir de vos catégories et cookies configurés.
- Design de bannière personnalisable. Vous pouvez modifier la position de la bannière, les couleurs, le texte, l’overlay, l’animation, le bouton flottant et le CSS personnalisé.
- Lien dans le compte client. Un lien « Paramètres des cookies » est ajouté à l’espace compte client afin que les visiteurs puissent modifier leurs choix plus tard.
Options de configuration
- Activer le module. Active ou désactive la bannière front-office, le panneau de préférences, les assets, le lien du compte client et les fonctionnalités de consentement ; valeur par défaut :
1. - Consentement par défaut. Définit l’état initial avant le choix du visiteur :
deniedpour l’opt-in ougrantedpour l’opt-out ; valeur par défaut :denied. - Expiration des cookies. Définit la durée de stockage de
mprcr_consentetmprcr_versiondans le navigateur du visiteur ; valeur par défaut :365. - Redemander le consentement après. Stocke un intervalle en jours saisi dans le Back Office ; la redemande actuelle côté front-end est déclenchée par les changements de version du consentement, et non par cette valeur de jours écoulés ; valeur par défaut :
0. - Redemander le consentement lors d’un changement de liste de cookies. Affiche de nouveau la bannière lorsque les catégories actives ou les cookies actifs changent et que la version stockée est obsolète ; valeur par défaut :
1. - Activer le blocage des scripts. Active la réécriture des scripts côté serveur et les règles de blocage côté client ; valeur par défaut :
1. - Activer GCM v2. Émet et met à jour les signaux Google Consent Mode v2 ; valeur par défaut :
1. - wait_for_update. Définit la valeur Google Consent Mode
wait_for_updateen millisecondes ; valeur par défaut :500. - Activer le journal de consentement. Envoie les choix de consentement enregistrés au contrôleur front du module et les stocke dans le journal de consentement ; valeur par défaut :
1. - Conservation des journaux. Définit le nombre de jours utilisé par l’action de purge des anciens journaux de consentement ; valeur par défaut :
365. - Mise à jour automatique de la page CMS. Stocke la valeur
CMS_AUTO_UPDATEdu formulaire de configuration ; le code source actuel n’utilise pas cette valeur pour mettre à jour automatiquement la page CMS ; valeur par défaut :1. - URL de politique personnalisée. Remplace le lien vers la page CMS de politique générée dans la bannière et le panneau de préférences ; valeur par défaut : ``.
- Scan automatique des cookies. Lance un scanner en arrière-plan depuis les chargements de pages admin lorsque l’intervalle de scan est atteint ; valeur par défaut :
1. - Intervalle de scan. Définit l’intervalle du scanner automatique en heures ; valeur par défaut :
24. - Version du consentement. Hash interne de 8 caractères généré à partir des catégories actives et des cookies actifs ; valeur par défaut : ``.
- ID de page CMS générée. ID interne de la page CMS de politique de cookies générée ; valeur par défaut :
0. - Nom de catégorie. Libellé de catégorie visible par les visiteurs dans le panneau de préférences ; catégories par défaut :
Strictly Necessary,Functional,Analytics & Performance,Marketing & Advertising. - Description de catégorie. Explication visible par les visiteurs sous chaque nom de catégorie ; valeur par défaut : installée avec les quatre catégories par défaut.
- Nom système de catégorie. Identifiant interne utilisé dans les cookies de consentement et JavaScript, par exemple
analytics; valeurs par défaut :necessary,functional,analytics,marketing. - Catégorie obligatoire. Rend une catégorie toujours active et non modifiable par les visiteurs ; valeur par défaut :
necessaryvaut1, les catégories optionnelles valent0. - Catégorie active. Affiche ou masque la catégorie dans le panneau de préférences des visiteurs ; valeur par défaut :
1. - Icône de catégorie. Stocke un nom d’icône tel que
shield,settings,chartoumegaphone; valeur par défaut : installée pour chaque catégorie par défaut. - Correspondances de catégories GCM. Associe chaque catégorie à des signaux Google comme
analytics_storage,ad_storage,ad_user_data,ad_personalization,functionality_storage,personalization_storageetsecurity_storage; par défaut, necessary est associé àsecurity_storage, functional àfunctionality_storage, analytics àanalytics_storage, marketing aux signaux publicitaires et de personnalisation. - Nom du cookie. Nom exact du cookie ou nom de type wildcard affiché dans la liste des cookies, comme
_gaou_ga_*; valeur par défaut : des cookies courants PrestaShop, Google, Facebook, DoubleClick et Bing sont installés. - Catégorie du cookie. Assigne chaque cookie enregistré à une catégorie ; valeur par défaut : installée depuis la liste de cookies connus.
- Fournisseur du cookie. Nomme le service qui définit le cookie ; valeur par défaut : noms de fournisseurs installés tels que
PrestaShop,Google Analytics,FacebooketMicrosoft Bing. - Finalité du cookie. Texte multilingue de finalité affiché dans le panneau de préférences et la page de politique générée ; valeur par défaut : installé pour les cookies connus.
- Valeur de durée. Durée de vie numérique du cookie affichée aux visiteurs ; valeur par défaut : installée depuis les données de cookies connus lorsque disponible.
- Unité de durée. Unité de durée de vie du cookie :
session,minutes,hours,days,monthsouyears; valeur par défaut : installée depuis les données de cookies connus. - Est un motif regex. Traite le motif du cookie comme une correspondance regex ; valeur par défaut :
1pour les valeurs par défaut avec wildcard comme_ga_*, sinon0. - Motif du cookie (Regex). Regex utilisée pour faire correspondre des groupes de cookies comme
^_ga_.*$; valeur par défaut : générée pour les valeurs par défaut avec wildcard. - Cookie actif. Inclut ou exclut un cookie de la liste publique et de la version du consentement ; valeur par défaut :
1. - Catégorie de règle de script. Assigne une règle de blocage à une catégorie optionnelle ; valeur par défaut : des règles analytics, marketing et functional sont installées.
- Type de règle. Choisit
url_patternpour la correspondance dusrcde script ouscript_contentpour la correspondance de script inline ; valeur par défaut : installée par règle. - Motif (Regex). Regex utilisée pour faire correspondre l’URL du script ou le contenu du script inline ; valeur par défaut : les motifs installés couvrent Google Analytics, GTM, Clarity, Hotjar, Meta, TikTok, Bing, LinkedIn et les widgets de chat courants.
- Description de règle. Note Back Office pour la règle de blocage ; valeur par défaut : descriptions installées comme
Google Tag ManagerouFacebook SDK. - Règle active. Active ou désactive une règle de blocage individuelle ; valeur par défaut :
1. - Position de la bannière. Contrôle l’emplacement de la bannière ; valeur par défaut :
bottom. - Mise en page de la bannière. Valeur de mise en page stockée pour la bannière ; valeur par défaut :
bar. - Mise en page du panneau de préférences. Ouvre les préférences en
modal,slide-rightouslide-left; valeur par défaut :modal. - Animation. Utilise
slide,fadeounone; valeur par défaut :slide. - Position du bouton flottant. Place le bouton de réouverture en
bottom-leftoubottom-right; valeur par défaut :bottom-left. - Bouton flottant activé. Affiche le bouton flottant « Paramètres des cookies » après consentement ; valeur par défaut :
1. - Arrière-plan de la bannière. Définit la couleur de fond de la bannière ; valeur par défaut :
#232323. - Texte de la bannière. Définit la couleur du texte de la bannière ; valeur par défaut :
#f5f5f5. - Arrière-plan du bouton Accepter. Définit l’arrière-plan du bouton d’acceptation ; valeur par défaut :
#2196f3. - Texte du bouton Accepter. Définit la couleur du texte du bouton d’acceptation ; valeur par défaut :
#ffffff. - Arrière-plan du bouton Refuser. Définit l’arrière-plan du bouton de refus ; valeur par défaut :
transparent. - Texte du bouton Refuser. Valeur par défaut à l’installation sur la bannière sombre du module :
#b0b0b0. - Arrière-plan du bouton Personnaliser. Définit l’arrière-plan du bouton de personnalisation ; valeur par défaut :
transparent. - Texte du bouton Personnaliser. Valeur par défaut à l’installation sur la bannière sombre du module :
#b0b0b0. - Arrière-plan des préférences. Définit l’arrière-plan du panneau de préférences ; valeur par défaut :
#ffffff. - Texte des préférences. Définit la couleur du texte du panneau de préférences ; valeur par défaut :
#333333. - Toggle actif. Définit la couleur du commutateur actif ; valeur par défaut :
#2196f3. - Toggle inactif. Définit la couleur du commutateur inactif ; valeur par défaut :
#cccccc. - Arrière-plan du bouton flottant. Définit l’arrière-plan du bouton flottant ; valeur par défaut :
#2196f3. - Icône du bouton flottant. Définit la couleur de l’icône du bouton flottant ; valeur par défaut :
#ffffff. - Titre de la bannière. Titre multilingue de la bannière ; valeur par défaut :
We respect your privacy. - Message de la bannière. Paragraphe multilingue de la bannière ; valeur par défaut :
We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. - Bouton Accepter. Texte multilingue du bouton tout accepter ; valeur par défaut :
Accept All. - Bouton Refuser. Texte multilingue du bouton tout refuser ; valeur par défaut :
Reject All. - Bouton Personnaliser. Texte multilingue du bouton de préférences ; valeur par défaut :
Customize. - Titre des préférences. Titre multilingue du panneau de préférences ; valeur par défaut :
Cookie Preferences. - Description des préférences. Explication multilingue des préférences ; valeur par défaut :
Choose which cookies you want to allow. You can change these settings at any time. However, blocking some types of cookies may impact your experience of the site. - Bouton Enregistrer. Texte multilingue du bouton d’enregistrement des préférences ; valeur par défaut :
Save Preferences. - Tout accepter (dans les préférences). Texte multilingue du bouton tout accepter dans les préférences ; valeur par défaut :
Accept All. - Libellé du bouton flottant. Libellé et infobulle multilingues du bouton flottant ; valeur par défaut :
Cookie Settings. - Texte du lien de politique. Libellé multilingue du lien vers la politique ; valeur par défaut :
Cookie Policy. - Taille du bouton flottant (px). Définit la largeur et la hauteur du bouton flottant ; valeur par défaut :
48. - Rayon de bordure (px). Définit les coins arrondis de la bannière, du panneau et des boutons ; valeur par défaut :
12. - Taille de police (px). Définit la taille de police de la bannière et des préférences ; valeur par défaut :
14. - Famille de police. Ajoute une famille de police personnalisée avant le fallback système ; valeur par défaut : ``.
- Couleur de bordure des boutons. Définit la couleur de bordure des boutons refuser et personnaliser ; valeur par défaut : ``.
- Afficher l’overlay. Affiche un overlay de page derrière la bannière ou le panneau de préférences ; valeur par défaut :
1. - Couleur de l’overlay. Définit la couleur de l’overlay ; valeur par défaut :
rgba(0,0,0,0.5). - Afficher le bouton de fermeture (X). Ajoute un bouton de fermeture à la bannière ; valeur par défaut :
0. - Action du bouton de fermeture. Contrôle ce qui se passe lorsque le visiteur clique sur le bouton X :
rejectenregistre le refus et empêche la bannière de réapparaître,acceptaccorde tous les consentements, oudismissmasque la bannière sans enregistrer le consentement afin qu’elle réapparaisse à la prochaine visite ; valeur par défaut :reject. - Mur de consentement. Floute la page, centre la bannière comme une modale et verrouille le défilement jusqu’à ce que le visiteur accepte, refuse ou personnalise le consentement ; valeur par défaut :
0. - CSS personnalisé. Stocke du CSS supplémentaire imprimé avec le design du module ; valeur par défaut : ``.
Exemples de personnalisation
Utilisez l’écran des règles de script pour bloquer un script de suivi par URL jusqu’à ce que le consentement analytics soit accordé :
Category: analytics
Rule Type: url_pattern
Pattern (Regex): googletagmanager\.com/gtag/js
Description: Google gtag.js
Active: 1
Utilisez une règle de contenu de script lorsque le code de suivi est inline :
Category: marketing
Rule Type: script_content
Pattern (Regex): fbq\s*\(
Description: Inline Facebook Pixel
Active: 1
Le module réécrit les scripts externes correspondants comme ceci jusqu’à ce que la catégorie soit acceptée :
<script type="text/plain"
data-cookiecategory="analytics"
data-original-src="https://www.googletagmanager.com/gtag/js?id=G-XXXX">
</script>
Le cookie de consentement utilise des valeurs compactes par catégorie, ce qui est utile lorsqu’un autre script personnalisé doit inspecter l’état du navigateur :
mprcr_consent=necessary:1|functional:0|analytics:1|marketing:0
mprcr_version=1a2b3c4d
Utilisez l’API JavaScript publique dans un thème ou un module personnalisé pour vérifier l’état actuel du navigateur et écouter les changements de consentement enregistrés :
function loadAnalyticsCode() {
// Load analytics-dependent code here.
}
if (window.MPRCR && window.MPRCR.isGranted('analytics')) {
loadAnalyticsCode();
}
document.addEventListener('mprcr:consent', function (event) {
if (event.detail && event.detail.analytics) {
loadAnalyticsCode();
}
});
Ouvrez le panneau de préférences depuis votre propre lien de footer :
<a href="#" onclick="event.preventDefault(); window.MPRCR && window.MPRCR.showPreferences();">
Cookie Settings
</a>
Hooks CSS front-office utiles pour le champ CSS personnalisé :
.mprcr-banner__inner {
max-width: 980px;
margin: 0 auto;
}
.mprcr-btn--accept {
font-weight: 700;
}
.mprcr-category__desc {
line-height: 1.6;
}
.mprcr-floating {
box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
Une configuration opt-in typique pour l’UE utilise ces valeurs :
DEFAULT_CONSENT = denied
SCRIPT_BLOCKING = 1
GCM_ENABLED = 1
LOG_ENABLED = 1
RECONSENT_ON_CHANGE = 1
Installation
- Dans votre Back Office PrestaShop, allez dans Modules → Gestionnaire de modules.
- Cliquez sur Uploader un module.
- Sélectionnez le fichier ZIP de Cookies Revolution.
- Cliquez sur Installer.
- Ouvrez la page de configuration du module.
- Vérifiez les catégories par défaut, les cookies enregistrés et les règles de blocage des scripts.
- Lancez le scanner de cookies et catégorisez les cookies en attente.
- Vérifiez le texte de la bannière, le design, le journal de consentement et la page de politique avant la mise en ligne.
Un seul module de consentement aux cookies mypresta.rocks peut être actif à la fois. Si mprcookiebanner est déjà actif, Cookies Revolution ne s’installera pas tant que l’autre module de cookies n’est pas désactivé ou supprimé.
Fonctionnement
Lorsqu’un visiteur arrive, Cookies Revolution prépare un état de consentement par défaut. Si Google Consent Mode v2 est activé, le module imprime dans l’en-tête de la page un signal de consentement refusé par défaut, avec security_storage accordé.
La bannière est chargée depuis un template inerte et affichée après une interaction du visiteur avec la page. Le visiteur peut tout accepter, refuser les catégories optionnelles ou ouvrir le panneau de préférences et choisir par catégorie. Une fois le choix enregistré, le module stocke mprcr_consent et mprcr_version dans le navigateur, met à jour Google Consent Mode, active les scripts nouvellement autorisés et écrit éventuellement une entrée dans le journal de consentement.
Le visiteur peut ensuite rouvrir les préférences via le bouton flottant de cookies, le lien « Paramètres des cookies » du compte client ou un lien personnalisé utilisant window.MPRCR.showPreferences().
Limites à connaître
- Ce module vous aide à recueillir et stocker les choix de cookies, mais il ne constitue pas un conseil juridique. Le texte de votre politique, vos choix de catégories et votre configuration de suivi doivent toujours correspondre à vos obligations légales.
- Le scanner détecte les cookies issus des en-têtes
Set-Cookieet du code simpledocument.cookie = "name=value"pendant le scan. Les cookies créés après une interaction utilisateur, après consentement ou dans du code tiers complexe peuvent nécessiter une vérification manuelle. - Les scripts déjà exécutés avant la révocation du consentement ne peuvent pas être « dés-exécutés » par JavaScript. Le module peut supprimer les cookies enregistrés lors de la révocation et empêcher les futurs scripts correspondants de s’exécuter.
Re-consent afterest stocké par le formulaire de configuration, mais la vérification actuelle de redemande de consentement côté front-end repose sur les changements de version du consentement.- Le contenu de la politique CMS générée est basé sur les catégories et les cookies enregistrés dans le module. Les actions de création et de mise à jour sont des actions manuelles du Back Office ; l’interrupteur stocké
CMS_AUTO_UPDATEn’est pas utilisé par le code source actuel pour garder la page synchronisée. - Si vous utilisez une page juridique personnalisée, saisissez-la dans URL de politique personnalisée.
- L’export du journal de consentement inclut une colonne
country_code, mais la méthode actuelle de journalisation ne la renseigne pas.
Questions fréquentes
Quelle est la différence entre ce module et Lightweight Cookie Banner ?
Lightweight Cookie Banner sert à afficher une notification acceptation/refus plus simple. Cookies Revolution ajoute les préférences par catégorie, les règles de blocage des scripts, le journal de consentement, le scan de cookies, le contenu de politique généré et Google Consent Mode v2.
Le blocage des scripts peut-il casser ma boutique ?
Oui, si des scripts essentiels au checkout, à la connexion, au panier, au paiement ou à la sécurité sont affectés à des catégories de suivi optionnelles. Gardez les scripts critiques pour la boutique hors des règles de blocage optionnelles ou dans une catégorie obligatoire.
Le module bloque-t-il Google Analytics avant consentement ?
Oui, lorsque le script Google concerné correspond à une règle analytics active et que le blocage des scripts est activé. Le module envoie aussi les valeurs par défaut de Google Consent Mode avant consentement.
Les visiteurs peuvent-ils modifier leurs choix plus tard ?
Oui. Ils peuvent rouvrir les préférences via le bouton flottant de cookies, le lien du compte client, un lien personnalisé ou l’API JavaScript publique.
Puis-je créer mes propres catégories ?
Oui. Vous pouvez ajouter des catégories, rédiger des noms et descriptions multilingues, choisir si elles sont obligatoires et les associer aux signaux Google Consent Mode.
Le module supprime-t-il les cookies après le refus d’une catégorie ?
Lorsqu’un visiteur enregistre ses préférences et révoque une catégorie précédemment accordée, le script front tente de supprimer les cookies enregistrés pour cette catégorie.
Puis-je exporter les enregistrements de consentement ?
Oui. L’écran du journal de consentement inclut un export CSV avec le hash visiteur, le hash IP, les données de consentement, la version, la source, la colonne du code pays et la date. La méthode actuelle de journalisation ne renseigne pas country_code.
Dois-je redemander le consentement après l’ajout de cookies ?
Oui, si la redemande de consentement lors d’un changement est activée. Le module met à jour la version du consentement lorsque les catégories actives ou les cookies actifs changent, et les visiteurs qui reviennent doivent confirmer de nouveau.
Le scanner trouve-t-il tous les cookies possibles ?
Non. Il trouve les en-têtes Set-Cookie et les affectations simples document.cookie pendant le scan. Certains cookies tiers apparaissent seulement après consentement ou après une interaction du visiteur ; une vérification manuelle reste donc importante.
Puis-je utiliser une page de politique de cookies personnalisée ?
Oui. Saisissez une URL de politique personnalisée dans les paramètres. Lorsque ce champ est rempli, la bannière et le panneau de préférences l’utilisent à la place de la page CMS générée.
Compatibilité : PrestaShop 1.6 à 9.0 (dernière version), PHP 7.1+. Nous continuons à prendre en charge les prochaines versions de PrestaShop.