Publié le 02/10/2015
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Afficher l'avertissement sur l'utilisation des cookies

L'application de nouvelles règles quant à l'obtention du consentement des utilisateurs finaux de l'Union européenne impose une application qui affiche sur les sites internet un avertissement semblable à: "En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de Cookies utilisés ...."
N'ayant pas envie d'utiliser les librairies que l'on trouve sur cookiechoices.org, je vous propose une solution en Javascript qui stocke l'autorisation de l'internaute sous forme d'un cookie.

Comment mettre mon site web en conformité ?

D'après la CNIL, "La loi impose désormais aux responsables de sites et aux fournisseurs de solutions d'informer les internautes et de recueillir leur consentement avant l'insertion de cookies ou autres traceurs."
Certains scripts demandent une autorisation pour chaque service présent sur le site internet ayant besoin de déposer un cookie dans le cache du navigateur internet.
Sur les gros sites web français, une simple banderole apparait à la première visite pour nous informer de l'utilisation de cookie.

Afficher le bandeau des cookies en Javascript

Toutes les fonctions permettant de gérer l'acceptation et le contrôle du cookie ont été rassemblées dans l’objet Javascript Cookie_Eu. Pour informer et recueillir l'autorisation des internautes, l'objet Cookie_Eu comprend les fonctions suivantes:
1. isSet(): recherche si un cookie signalant l'autorisation de l'internaute a déjà été déposé dans le cache du navigateur,
2. write(): écrire un nouveau cookie dans le cache du navigateur,
3. askForAgree(): afficher le bandeau d'information et de demande d'autorisation concernant le dépôt de cookie.

/**
 * Afficher l'avertissement sur l'utilisation des cookies
 * http://www.fobec.com/tuto/1172/afficher-avertissement-sur-utilisation-cookies.html
 * @author Fobec septembre 2015
 */
var Cookie_Eu = {
    //Ecrire un cookie contenant la date d'acceptation
    write: function(d) {
        var buf = '';
        if (d) {
            var date = new Date();
            date.setTime(date.getTime() + (d * 24 * 60 * 60 * 1000));
            buf = "cookie_policy_validation=agree; expires=" + date.toGMTString() + "; domain=" + document.domain + ";";
            document.cookie = buf;
 
            var div = document.getElementById('cookie_policy_msg');
            if (div) {
                div.parentNode.removeChild(div);
            }
        }
    },
    //Cherche le cookie contenant la date d'acceptation
    isSet: function()
    {
        var nameEQ = "cookie_policy_validation=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ')
                c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) {
                var val = c.substring(nameEQ.length, c.length);
                if (val.trim() === 'agree') {
                    return true;
                }
            }
        }
        return false;
    },
    //Afficher le bandeau d'avertissement
    askForAgree: function() {
        if (this.isSet() == false) {
            var docbody = document.body || document.getElementsByTagName('body')[0];
 
            var div_cookie = document.createElement('div');
            div_cookie.id = 'cookie_policy_msg';
            div_cookie.className = 'cookie_policy_msg';
            var t = "<div>En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de Cookies utilisés pour les publicités et pour les statistiques de visites,";
            t += '<a href="http://monsite.com/politique-cookie.html">en savoir plus</a><a href="javascript:Cookie_Eu.write(365);">OK</a></div>';
 
            div_cookie.innerHTML = t;
            docbody.insertBefore(div_cookie, docbody.childNodes[0]);
        }
    }
};
//Lancer le test d'existance du cookie
Cookie_Eu.askForAgree();

Intégrer le script sur son site web

Le code Javascript est prêt à l'emploi, seuls quelques modifications sont nécessaires pour l'adapter à votre site internet:

1. personnaliser la page "en savoir plus"
A ce que j'ai compris, l'internaute doit avoir accès à une page sur son site internet dans laquelle le webmaster explique pourquoi son site utilise des cookies, quels services nécessitent des traceurs et comment l'internaute peut s'en protéger.
Dans le script, vous avez à remplacer l'url http://monsite.com/politique-cookie.html par l'url de votre site web ou il est question de la politique de confidentialité des cookies.

2. style du bandeau
Pour personnaliser l’aspect du bandeau d’avertissement, veuillez modifier les styles ci-dessous:
/* cookie eu */
div.cookie_policy_msg{width:100%;background:#111;}
div.cookie_policy_msg>div{max-width:1200px;margin:0 auto;color:#999;padding:10px}
div.cookie_policy_msg>div>a:first-child{color:#fff;display:inline-block;margin-left:10px}
div.cookie_policy_msg>div>a:last-child{display:inline-block;margin-left:20px;height:28px;width:32px;color:#fff}

Pour déployer le script Cookie_Eu sur un site internet, je vous conseille de placer les ressources dans une librairie JS ou de copier/coller le script et la feuille de style dans chaque page du site.

Est-ce suffisant pour être en conformité avec les recommandations de la CNIL ?
En analysant les solutions mises en place sur les sites internet depuis un mois, les fonctions rendues par Cookie_Eu semblent bonnes pour l'obligation de recueillir leur consentement avant l'insertion de cookies.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
tuto - webmaster
Mise a jour
02/10/2015
Visualisation
vu 3922 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Daxentuut dans java

Avec les imports c'est mieux :

import java.awt.AWTException
import java.awt.Robot
import java.awt.event.KeyEvent
import java.io.IOException
import java.util.logging.Level
import...

Publié par Sophie dans tuto

Merci pour cette explication claire qui m'aide grandement... JS et moi, on est pas encore copain !

Publié par Fobec dans java

As-tu essaye sans le parametre de la cle ?
(supprimer la ligne url += "&key=" + this.ApiKey;)
A priori, cela fonctionne sans aucune authentification sur l'api ;)

Publié par Franzi dans java

Bonjour,
Le code est simple et compile, après être entré dans public void connect, il n'effectue pas this.session.get.transport et s'arrête. Sous eclipse avec Tomcat, j'ob...

Publié par habib dans CMS

je veu cree des applications base de donnee comme gestion park reforme du materielle les unites materielle entree sortie inventaire aidez moi email bettaharhabib1966@yahoo.fr <br>tel 0557187557...