Historique d’un combat perdu
Il convient déjà de préciser l’origine de ce message.
- Peu après les débuts d’internet, vers 1995, les cookies commencèrent à apparaître sur internet.
- Les internautes avisés se rendant compte que ce dispositif servira entre autres à surveiller l’activité en ligne, un débat apparaît...
- Avec une redoutable efficacité administrative, les fonctionnaires européens et français font appliquer 19 ans plus tard (sic), l’obligation d’informer les internautes de l’usage de ces cookies...
Une mesure :
- idiote, car de toute façon c’est ça, ou arrêter d’utiliser internet
- pénible, car les webmestres ont dû se plier à la loi pour infliger des nuisances visuelles aux internautes.
- Obsolète. En effet, en 19 ans, internet s’est changé d’un outil d’universitaires et de propagateurs de connaissances, en une vaste foire consumériste. Les firmes ont donc développé divers outils de surveillance et de pistage, où le cookie est anecdotique. Les boutons like, les outils « gratuits » de google pour faciliter la vie des usagers et webmestres, sont autant d’espions qui permettent à ces firmes de savoir tout ou presque de vous (les pages vues, votre profil d’âge religion orientation sexuelle, vos achats, etc.), même si vous n’avez pas de compte chez eux.
Voir par exemple le Canvas fingerprinting là et là ; l’IP tracking...
La vie privée sur internet est depuis longtemps illusoire, et cette mesure légale n’est que poudre aux yeux.
Enlever les messages, la voie facile
Installez le plugin I don’t care about cookies
C’est pas parfait, mais c’est déjà ça.
Il y a une procédure pour signaler à l’auteur les sites où ça ne marche pas...
Enlever les messages, la voie « hardcore geek »
(où, attention, ça marche, mais c’est une sorte de masochisme informatique)
- Pour les sites où le bandeau est très gênant, et sur lequel l’extension ne marchera jamais (sites non publics...).
- Déjà installez le plugin I don’t care about cookies, à moins de vouloir réinventer l’eau tiède.
- installez le plugin greasemonkey si on est sur firefox. Pour les autres navigateurs voir wikipedia. On pourra lire What Is Greasemonkey pour comprendre l’outil. Ça sert à insérer dynamiquement un javascript dans une page.
- indispensable, servira à faire tourner le script qui clique.
- installer firefox, firebug
- pour développer les variantes du script
Ex. sur developpez.com
- clic-droit sur le bandeau -> firebug
- on repère que le bandeau est dans un conteneur div dont le nom est
gabarit_cnilcookie
- On va créer un script greasemonkey qui simule un clic sur le bandeau.
- Aller dans addons (about:addons), puis éditer le script via user scripts -> options -> edit this user script
- et coller le script.
- Bien évidemment, il faudra refaire cette manip sur chacun des sites à régler, en substituant gabarit_cnilcookie dans le script, par l’id de l’élément à cliquer (je plains la vie de l’auteur de I don’t care about cookies qui a eu le courage de maintenir ça pour tous les sites d’europe...).
// ==UserScript==
// @name developpez
// @namespace developpez
// @include http://www.developpez.com/*
// @version 1
// @grant none
// ==/UserScript==
window.addEventListener('load', function () {
var cible = document.getElementById('gabarit_cnilcookie');
click(cible);
}, false);
// Click by JoeSimmons
// Syntax: click(element);
function click(e, type) {
if (!e) {
return;
}
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent((type || 'click'), true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
e.dispatchEvent(evObj);
}
Commentaires du script
- Je ne programme pas en javascript, mais c’est assez lisible, alors j’ai lu quelques scripts d’autres pour assembler ça.
- lignes importantes : @include http://www.developpez.com/* (url de base + *) signifie que ce script sera lancé sur toutes les pages du domaine www.developpez.com
- @name et @namespace On y met ce qu’on veut
- window.addEventListener(’load’, function () [...] sert à n’éxécuter le script QUE lorsque la page a fini de charger. Ce point est très important, car greasemonkey lance le javascript quelque part avant la fin du chargement de la page (détail non ou mal documenté...). Or, sur cette page, le bandeau apparaît dynamiquement vers la fin du chargement. Sans cette ligne, le script ne trouve jamais le bandeau (j’ai mis un moment à saisir le problème...)
- click() attend l’objet à cliquer (sic). Ici, on l’initialise avec getElementById(’gabarit_cnilcookie’) où gabarit_cnilcookie est le nom du bandeau récupéré par firebug.
Ex. sur Sourceforge
(Je peine à saisir pourquoi l’extension I don’t care y est sans effet)
// ==UserScript==
// @name sourceforge
// @namespace sourceforge
// @include https://sourceforge.net/*
// @include http://sourceforge.net/*
// @version 1
// @grant none
// ==/UserScript==
window.addEventListener('load', function () {
setFreedomCookie();
}, false);
Encore plus simple. Le bouton déclenche <a class="btn" onclick="setFreedomCookie()">[...]
, c’est à dire la fonction setFreedomCookie. On n’a qu’à la lancer directement.