Recueillir le consentement Cookies avec CMSMS 1.12

En application de la directive européenne dite Paquet Télécom, les internautes doivent être informés et donner leur consentement préalablement à l'insertion de traceurs. Ils doivent disposer d'une possibilité de choisir de ne pas être tracés lorsqu'ils visitent un site Web. Les éditeurs ont donc l'obligation de solliciter au préalable le consentement des utilisateurs. Ce consentement est valable 13 mois maximum. Certains traceurs sont cependant dispensés du recueil de ce consentement. Information sur Cookies & traceurs : que dit la loi ? (site de la CNIL)

Quels cookies nécessitent le consentement préalable des utilisateurs ?
Parmi les cookies nécessitant une information préalable et une demande de consentement, on peut notamment citer :
les cookies liés aux opérations relatives à la publicité ciblée,
certains cookies de mesure d'audience (Google Analytics,….),
les cookies des réseaux sociaux générés notamment par leurs boutons de partage lorsqu'ils collectent des données personnelles sans consentement des personnes concernées.

L’utilisateur doit être informé, par l'apparition d'un bandeau, des finalités précises des cookies utilisés ainsi que :
- de la possibilité de s'opposer à ces cookies,
- ou poursuite de sa navigation vaut accord au dépôt de cookies sur son terminal.

Il existe une possibilité avec CMSMS.
Les fichiers nécessaires :
- le fichier function.cookie_consent.php (http://dev.cmsmadesimple.org/projects/cookie_consent)
Il faut ajouter :
- le fichier jquery.cookie.js de la page https://github.com/carhartl/jquery-cookie/tree/master/src (Plus d'information sur http://cookiecuttr.com/)

Il suffit donc d’insérer le fichier function.cookie_consent.php dans le dossier plugins de CMSMS
De créer un dossier cookie_consent dans le dossier existant  lib de CMSMS et d'y insérer le fichier jquery.cookie.js

Suivre le mode d'emploi du plugin, donc simplement dans les gabarits des pages ajouter
- avant le </head>
{cms_jquery exclude='jquery-ui.min.js,jquery.ui.nestedSortable.js,jquery.json.min.js'} 
{cookie_consent action='head'} {* le tag qui affiche le css du bandeau *}

- dans  le <body>
 {cookie_consent action='body' lang='fr'}   {* le tag qui affiche les information du bandeau *}
       {if isset($smarty.cookies.cookie_consent) && $smarty.cookies.cookie_consent != ""}
         {if $smarty.cookies.cookie_consent == 'yes'} {* si oui affiche le code Analytics *}
        **le code Google Analytics  **
        {/if}
    {/if}

Il est bien sur possible de modifier le texte du bandeau en modifiant le texte de la « ligne fr » du plugin. Par défaut la page d'information possède le lien "cookies" pour l'alias de page.


Personnellement j'ai fait les modifications suivantes :

dans le plugin
sous la ligne elseif ( $lang == 'fr' )
J'ai remplacé
<div id="cookie_consent"><p>Afin d&prime;am&eacute;liorer votre exp&eacute;rience sur ce site, nous utilisons des cookies <a class="accept_cookies">Accepter les cookies</a><a href="cookies" class="more_info">Plus d&prime;informations</a><!--<a class="decline_cookies">Refuser les cookies</a>--></p></div>
par
<div id="cookie_consent"><p>Ce site utilise des cookies. <a class="accept_cookies">Accepter les cookies</a> | <a class="decline_cookies">Refuser les cookies</a> | <a href="page alias_informations" class="more_info">Plus d&prime;informations pour votre navigation</a></p</div>

Dans la feuille de style des gabarits j'ai ajouté le style de la partie CSS de « Head action » du  plugin

dans les gabarits des pages
- avant le </head>
{cms_jquery exclude='jquery-ui.min.js,jquery.ui.nestedSortable.js,jquery.json.min.js'} 
Uniquement, car le CSS est dans la feuille de style

- avant le <div id="header"> pour avoir le bandeau en haut de la page
{global_content name='onclic_cookie'}

J'ai un bloc de contenu global  onclic_cookie avec
 {cookie_consent action='body' lang='fr'}
      {if isset($smarty.cookies.cookie_consent) && $smarty.cookies.cookie_consent != ""}
         {if $smarty.cookies.cookie_consent == 'yes'}
       {global_content name='google_analytics'}
        {/if}
   {/if}

J'ai un bloc de contenu global google_analytics avec mon code Google Analytics

ce qui donne
cookies


Crédits
- CNIL 
- Rolf cmscanbesimple 
- What is CookieCuttr
- Korben : Cookies Comment vraiment respecter la loi ?

Autre possibilité non CMSMS  il existe le script tarteaucitron.js (non testé)


Document  http://jc.etiemble.free.fr/abc/ JCE - version 2015-08-03-1  CC_licence


Télécharger au format PDF 135 Ko. (194)


Corrections, compléments : Me contacter


Page précédente : Menu images
Page suivante : Pagesperso Free.fr