Bannière cookies RGPD pour PrestaShop : conforme CNIL, légère, sans tracker tiers

Une bannière cookies sur un site marchand vélo, c’est obligatoire (RGPD + recommandations CNIL). Mais c’est aussi le premier point de friction pour un nouveau visiteur. Les solutions tierces (Cookiebot, Axeptio, Didomi) sont efficaces mais chères et chargent leurs propres scripts — paradoxalement, des scripts tiers pour gérer le consentement aux scripts tiers.

Le module Bannière consentement cookies Veloland est intégré au site, léger, et conforme.

Côté client : ce que voit le visiteur

Choix Cookies RGPD Prestashop

À la première visite :

  • Bandeau bas de page avec 3 boutons : « Tout accepter », « Refuser », « Personnaliser »
  • En personnalisation : 3 catégories (Essentiels — toujours actifs, Analytique, Marketing) avec toggle individuel
  • Choix mémorisé dans un cookie technique (essentiel, exempt RGPD)

Tant que le visiteur n’a pas choisi, les scripts analytique et marketing ne se chargent pas (zéro tag GA, GTM, Meta Pixel, etc.). Une fois choisi, ils se chargent dynamiquement selon l’autorisation.

Côté technique

Le module fonctionne sous PrestaShop 9 et ne crée aucune table custom : sa configuration tient entièrement dans des entrées Configuration::values (textes des boutons, couleurs, scripts à charger par catégorie). Le rendu se fait via le hook displayFooterBefore qui injecte le markup HTML/CSS de la bannière, et via actionFrontControllerSetMedia qui charge les scripts conditionnellement selon le consentement enregistré dans le cookie.

Le markup utilise les composants Tailwind du thème Veloland pour environ 5 Ko minifiés. Le code JavaScript, écrit en vanilla et limité à 80 lignes, se charge de lire le cookie de consentement, de gérer les bascules entre catégories, d’écrire le cookie en sortie et de déclencher un événement custom vlcookies-consent-updated que d’autres modules tiers peuvent intercepter pour charger leurs propres tags conditionnellement.

Les scripts à activer sont déclarés au BO sous forme de balises <script> libres, attachées à une catégorie (essentielle, analytique ou marketing). Pour empêcher leur exécution avant le consentement, le module utilise l’astuce de l’attribut type="text/plain" qui désactive le moteur JavaScript du navigateur. Une fois le consentement obtenu, le JS bascule dynamiquement ce type en text/javascript pour activer le tag.

Pourquoi c’est pertinent

Pour un magasin de vélos qui veut tracker ses conversions (Google Ads sur « vélo gravel Lorient » par exemple), le consentement RGPD doit être propre et fiable. Une solution intégrée, sans dépendance tierce, garantit que la bannière reste fonctionnelle même si un service externe coupe. Et zéro coût récurrent annuel.

Retour en haut