Satisfaire aux nouvelles règles de la CNIL en matière de protection des internautes

Partagez si vous aimez ->

Si vous utilisez un outil de statistiques pour suivre vos visiteurs et mesurer l’activité de votre site, vous allez devoir faire quelques modifications.

La CNIL a récemment durci ses règles en matière de protection des internautes. C’est vrai que ça rajoute encore un peu de travail au webmaster, mais c’est pour le bien commun : celui d’un relatif anonymat lors de la navigation.

Concrètement, qu’est-ce que ça change ?

La loi a changé

Il n’est à présent plus autorisé de déposer un cookie sur le navigateur de l’internaute à des fins de mesure d’audience. Ou du moins, pas sans l’avoir préalablement informé.

Pour être tout à fait précise, il faut carrément lui donner un moyen de s’opposer à ce suivi automatisé.

C’est assez logique : quel intérêt à informer l’internaute s’il n’a pas le choix ?

2 cas de figures existent :

  • Soit vous êtes dispensé de recueillir le consentement de vos utilisateurs : par défaut, ils acceptent l’utilisation des cookies, mais s’ils le souhaitent, ils peuvent s’y opposer.
  • Soit vous devez explicitement recueillir le consentement de vos internautes.

Comment être dispensé du recueil du consentement ?

Pour être dispensé du recueil de consentement, vous devez respecter les conditions suivantes :

  • L’éditeur du site doit délivrer une information claire et complète
  • Un moyen d’opposition doit être accessible facilement et doit être utilisable sur tout périphérique (smartphone, pc…)
  • Les données ne doivent pas être recoupées avec d’autres traitements
  • Le cookie déposé doit respecter l’anonymat de l’internaute
  • Le cookie ne doit pas permettre de suivre la navigation de l’internaute sur d’autres sites
  • L’adresse IP permettant de géolocaliser l’internaute ne doit pas être plus précise que l’échelle de la ville
  • Les cookies permettant la traçabilité des internautes et les adresses IP ne doivent pas être conservés au-delà de 13 mois à compter de la première visite

Source : CNIL

Comment mettre en place un « moyen d’opposition facilement accessible » ?

Le site de la CNIL ne fait pas les choses à moitié, puisqu’il nous donne carrément un code à copier-coller dans votre page.

L’intention est louable, mais le code ne fonctionne pas très bien. Je vous donne ici la version que j’utilise, et vous explique comment le personnaliser. Par contre, j’ai constaté que le code ne fonctionnait que sur Firefox et Internet Explorer. Sur Chrome et Safari (iphone), il n’affiche qu’un espace vide, et je n’ai pas testé les autres configurations.

Le but de cet article est donc double : vous informer sur la nouvelle règlementation et solliciter l’intelligence collective pour obtenir un code fonctionnel partout, en recoupant les expériences.

J’en profite pour signaler que cette manipulation demande tout de même de savoir lire du code, et d’être capable de modifier un fichier de son thème. Les utilisateurs les moins avertis préfèreront sans doute attendre la sortie d’un plugin qui le fera pour eux (surtout si vous utilisez déjà un plugin pour Google Analytics).

Comment personnaliser le code donné par la CNIL ?

Il n’y a presque rien à faire ! Copiez-collez simplement votre code de suivi Analytics à la toute première ligne du script, à la place de « UA-XXXXXX-Y » :

// Remplacez la valeur UA-XXXXXX-Y par l'identifiant analytics de votre site.
gaProperty = 'UA-XXXXXX-Y';

Tout le script devient alors fonctionnel ! Il ne reste plus qu’à le placer au bon endroit.

Où coller le code donné par la CNIL ?

Ce code doit être copié dans votre fichier header.php, juste avant le code de Google Analytics (ou Universal Analytics si vous utilisez ce service). Lui même placé juste avant la fermeture de la balise « head ».

Placer le code dans le fichier header.php

Placez le code dans le fichier header.php

Un bandeau jaune apparait alors tout en haut de votre site.

L’utilisateur qui souhaite s’opposer au suivi peut cliquer sur le lien pour signifier son refus. Celui qui l’accepte peut continuer sa visite sans rien faire.

Le code à copier-coller

J’ai un peu modifié le code donné par la CNIL afin d’améliorer son affichage car le code fourni ne fonctionnait pas avec mon thème. Je pense que ce code devrait fonctionner partout, dîtes-moi si rien ne s’affiche chez vous.

Pensez à vider votre cache si vous en avez un, et à supprimer les cookies tout au long de vos tests. 😉
<script type='text/javascript'>
	// Remplacez la valeur UA-XXXXXX-Y par l'identifiant analytics de votre site.
	gaProperty = 'UA-XXXXXX-Y';

	// Désactive le tracking si le cookie d’Opt-out existe déjà.

	var disableStr = 'ga-disable-' + gaProperty;

	if (document.cookie.indexOf('hasConsent=false') > -1) {
	window[disableStr] = true;
	}
	//Cette fonction retourne la date d’expiration du cookie de consentement 

	function getCookieExpireDate() {
	 var cookieTimeout = 34214400000;// Le nombre de millisecondes que font 13 mois
	 var date = new Date();
	date.setTime(date.getTime()+cookieTimeout);
	var expires = "; expires="+date.toGMTString();
	return expires;
	}

	// Cette fonction est appelée pour afficher la demande de consentement
	function askConsent(){
		var bodytag = document.getElementsByTagName('body')[0];
		var div = document.createElement('div');
		div.setAttribute('id','cookie-banner');
		div.setAttribute('width','70%');
		// Le code HTML de la demande de consentement
		// Vous pouvez modifier le contenu ainsi que le style

	 div.innerHTML =  '</p>
<div style="background-color: #fffacd;color: #000;float: left;text-align: center;width: 100%;">Ce site utilise Google Analytics.\
		En continuant à naviguer, vous nous autorisez à déposer des cookies à des fins de \
		mesure d\'audience.  Pour vous y opposer, cliquer  \
		<a href="javascript:gaOptout()">ici</a>.</div>
<div style="clear:none;"></div>
<p>';
		bodytag.insertBefore(div,bodytag.firstChild); // Ajoute la bannière juste au début de la page
		document.getElementsByTagName('body')[0].className+=' cookiebanner';
	}

	// Retourne la chaine de caractère correspondant à nom=valeur
	function getCookie(NomDuCookie)  {
		if (document.cookie.length > 0) {
			begin = document.cookie.indexOf(NomDuCookie+"=");
			if (begin != -1)  {
				begin += NomDuCookie.length+1;
				end = document.cookie.indexOf(";", begin);
				if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end));
			}
		 }
		return null;
	}

	// Fonction d'effacement des cookies
	function delCookie(name )   {
		path = ";path=" + "/";
		domain = ";domain=" + "."+document.location.hostname;
		var expiration = "Thu, 01-Jan-1970 00:00:01 GMT";
		document.cookie = name + "=" + path + domain + ";expires=" + expiration;
	}

	// Efface tous les types de cookies utilisés par Google Analytics
	function deleteAnalyticsCookies() {
		var cookieNames = ["__utma","__utmb","__utmc","__utmz","_ga"]
		for (var i=0; i<cookieNames.length; i++)
			delCookie(cookieNames&#91;i&#93;)
	}

	// La fonction d'opt-out
	function gaOptout() {
		document.cookie = disableStr + '=true;'+ getCookieExpireDate() +' ; path=/';
		document.cookie = 'hasConsent=false;'+ getCookieExpireDate() +' ; path=/';
		var div = document.getElementById('cookie-banner');
		// Ci dessous le code de la bannière affichée une fois que l'utilisateur s'est opposé au dépôt
		// Vous pouvez modifier le contenu et le style
		if ( div!= null ) div.innerHTML = '</p>
<div style="background-color:#ffffff"> Vous vous êtes opposé \
		au dépôt de cookies de mesures d\'audience dans votre navigateur </div>
<p>'
		window[disableStr] = true;
		deleteAnalyticsCookies();
	}

	//Ce bout de code vérifie que le consentement n'a pas déjà été obtenu avant d'afficher
	// la bannière
	var consentCookie =  getCookie('hasConsent');
	if (!consentCookie) {//L'utilisateur n'a pas encore de cookie de consentement
	 var referrer_host = document.referrer.split('/')[2];
	   if ( referrer_host != document.location.hostname ) { //si il vient d'un autre site
	   //on désactive le tracking et on affiche la demande de consentement
		 window[disableStr] = true;
		 window[disableStr] = true;
		 window.onload = askConsent;
	   } else { //sinon on lui dépose un cookie
		  document.cookie = 'hasConsent=true; '+ getCookieExpireDate() +' ; path=/';
	   }
	}
</script>

Connaissiez-vous cette nouvelle règlementation ?

J’avoue que je n’étais pas au courant avant que Christian Maingret m’en parle. Mon article n’est d’ailleurs pas tout à fait complet, puisque de nouvelles règles concernant les boutons liés aux réseaux sociaux et la publicité en ligne, sont aussi d’actualités.

 

Partagez si vous aimez ->

Youcef

Concepteur de Sites Web et entrepreneur, l'écriture et la pédagogie font aussi partie de mes passions. Mon objectif est de vous aider à trouver la solution idéale pour créer votre propre Site Internet.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Simple Share Buttons