Gestion des cookies et RGPD

Les cookies sont utiles pour des dizaines de fonctionnalités comme garder une session ouverte ou conserver les produits mis dans un panier par exemple.

La loi s’était déjà renforcée en 2011 puis en 2014 mais la nouvelle loi du RGPD de 2018 est venue ajouter une nouvelle couche, tel que la gestion des cookies liés à la publicité, les cookies de mesures d’audience et de statistiques et les cookies liés aux réseaux sociaux.

La loi dit que nous devons obtenir le consentement de nos visiteurs avant de déposer des traceurs au sein de leur navigateur. Parmi tous les scripts et autres plugins proposés pour WordPress, Tarteaucitron.js est un bon choix car c’est fortement recommandée par la CNIL.

Tarteaucitron.js est un script open-source léger qui s’implémente sur un site afin de donner au visiteur le choix d’accepter ou de refuser certains cookies de manière individuelle. Ce script est recommandé par la CNIL car il respecte toutes les exigences comme :

  • ne pas installer de traceurs (cookies) “non nécessaires” avant acceptation de l’internaute
  • donner le choix à l’internaute d’en accepter certains et d’en refuser d’autres
  • la possibilité de révoquer les cookies
  • la durée maximale de 13 mois

1 – Installation du script et des services

1.1 –Installer le code source

Je commence par télécharger la dernière version depuis le Github du projet (choisir Source code.zip de la dernière version).

J’extrais l’archive et je renomme le dossier en retirant le numéro de version pour avoir un nom plus accessible.

J’envoie ensuite ce dossier via FTP sur son hébergement WordPress. Personnellement je mets ce script à la racine de mon site à côté des dossiers wp-admin, wp-content et wp-include.

1.2 –Modification de functions.php

Afin que le script soit chargé sur toutes les pages, je vais ajouter dans le head du WordPress grâce à une fonction.

Toujours dans le thème enfant, j’édite le fichier functions.php et y ajoute ces lignes :

/**
 * Initialize tarteaucitron
 */

function tarteaucitron_init() {
    ?>
    <script src="/tarteaucitron/tarteaucitron.js"></script>
    <script type="text/javascript">
        tarteaucitron.init({
          "privacyUrl": "", /* Privacy policy url */
          "hashtag": "#tarteaucitron", /* Open the panel with this */
          "cookieName": "tartaucitron", /* Cookie name */
          "orientation": "bottom", /* Banner position (top - bottom) */
          "showAlertSmall": false, /* Show the small banner */
          "cookieslist": false, /* Show the cookie list */
          "showIcon": true, /* Show cookie icon to manage cookies */
          "iconPosition": "BottomLeft", /* BottomRight, BottomLeft, TopRight and TopLeft */
          "adblocker": false, /* Warning if adblocker detected */
          "AcceptAllCta" : true, /* Show the accept all button */
          "highPrivacy": true, /* Disable auto consent */
          "removeCredit": false, /* Remove credit link */
          "moreInfoLink": false, /* Show more info link */
        });
    </script>
    <?php
}
add_action('wp_head', 'tarteaucitron_init');

1.3 – Services

Pour prendre en compte le service Google Analytics, j’ajoute de nouveau quelques lignes dans mon fichier functions.php mais cette fois dans le footer pour ne pas ralentir le chargement de la page.

Remplacez ‘G-xxxxxxxx-x’ par le code suivi Google Analytics.

/**
 * Add services using tarteaucitron
 */

function add_tarteaucitron_services()
{
?>
    <script type="text/javascript">
        tarteaucitron.user.gtagUa = 'G-xxxxxxxx-x';
        tarteaucitron.user.gtagMore = function () {};
        (tarteaucitron.job = tarteaucitron.job || []).push('gtag');
    </script>
<?php
}
add_action('wp_footer', 'add_tarteaucitron_services');

2 – Réglages de plugin d’optimisation

Il est important de régler les éventuels plugins d’optimisation (HTM, CSS, JS), sinon, le script de cookie ne pourra pas fonctionner. Pour cela, il faut créer un exception dans les réglages. Pour exemple, je vais prendre le plugin Autoptimize ou il faudra exclure le script « tarteaucitron.js » en rajoutant « tarteaucitron.js » dans les scripts à exclure d’Autoptimize: