Aujourd’hui on va installer le script tarteaucitron sur une boutique Prestashop 1.7. Pour mémoire, il s’agit du moyen le plus rapide et fiable d’être conforme aux nouvelles directives Européennes, le fameux (ou fumeux ?) RGPD.

Installation

Récupérer le script sur le dépôt Github : tarteaucitron. Dans le thème de Prestashop, créer l’arborescence suivante :

├─ ... 
└─ themes
    ├─ classic
    └─ myawesometheme
        └─ assets
            └─ css
            │   └─ tarteaucitron.css
            └─ js
            │   └─ tarteaucitron
            │       ├─ tarteaucitron.js
            │       └─ tarteaucitron.services
            └─ ...

Bien sûr remplacez myawesometheme par le nom de votre thème. Ensuite on modifie le fichier /themes/myawesometheme/templates/_partials/head.tpl :

{extends file='parent:_partials/head.tpl'}

{block name='hook_extra'}
    <link rel="stylesheet" href="{$urls.theme_assets}/css/tarteaucitron.css" type="text/css" media="all">
{/block}

{block name='javascript_head' append}
    <script src="{$urls.theme_assets}/js/tarteaucitron/tarteaucitron.js"></script>
    {literal}
    <script>
        tarteaucitron.init({
            "hashtag": "#tarteaucitron", /* Ouverture automatique du panel avec le hashtag */
            "highPrivacy": false, /* désactiver le consentement implicite (en naviguant) ? */
            "orientation": "top", /* le bandeau doit être en haut (top) ou en bas (bottom) ? */
            "adblocker": false, /* Afficher un message si un adblocker est détecté */
            "showAlertSmall": false, /* afficher le petit bandeau en bas à droite ? */
            "cookieslist": true, /* Afficher la liste des cookies installés ? */
            "removeCredit": true /* supprimer le lien vers la source ? */
        });
        tarteaucitron.user.analyticsUa = 'UA-XXXXXXXXX-X';
        tarteaucitron.user.analyticsMore = function () { ga('set', 'anonymizeIp', true); };
        (tarteaucitron.job = tarteaucitron.job || []).push('analytics');
    </script>
    {/literal}
{/block}

Le fonctionnement est simple, il suffit d’ajout des services en ajoutant une ligne comme celle-ci :

(tarteaucitron.job = tarteaucitron.job || []).push('service');

Et remplacez service par le nom du service à ajouter. Pour trouver les services disponibles, il suffit de se rendre sur la documentation du script (voir Références externes en fin d’article).

Google Analytics

Pour le moment le script ne fait rien. Ajoutons le support Google Analytics :

{extends file='parent:_partials/head.tpl'}

...

{block name='javascript_head' append}
    ...
    {literal}
    <script>
        ...
        tarteaucitron.user.analyticsUa = 'UA-XXXXXXXXX-X';
        tarteaucitron.user.analyticsMore = function () { ga('set', 'anonymizeIp', true); };
        (tarteaucitron.job = tarteaucitron.job || []).push('analytics');
    </script>
    {/literal}
{/block}

Ne pas oublier de remplacer UA-XXXXXXXXX-X par votre identifiant google !

Personnalisation

Le script vient avec une feuille de style toute prête qui peut convenir si on n’est pas très exigeant. Pour coller au mieux à l’identité visuelle du thème, il n’est pas interdit de surcharger quelques classes. Un exemple de personnalisation : VanEscape.

Références externes