Les Cookies


NON, ses fameux cookies dont tout le monde parle tant n'ont rien à voir avec l'achat de friandises sur le Net.
NON, ce n'est pas non plus des espions à la solde de Big Brother destiné à tout connaître de votre personne.
NON, ils ne sont pas dangereux.

Pourtant lors de vos voyages sur le Web, vous avez constatez que certains sites vous accueillent chaleureusement par votre nom, vous annoncent le nombre de visites que vous leur avez crédité, se souviennent des achats que vous avez effectué dans leur espaces commerciale et tout cela sans avoir eu à vous identifier.
Vous vous êtes interrogé sur ce tour de magie, et vous êtes mis à penser que ce site pouvez tout aussi bien en connaître beaucoup plus sur vous qu'il ne le dit.
N'ayez pas d'inquiètude, pas d'affolement, pas de paranoïa excessive. Ce ne sont pas ces quelques octets qui en dévoileront plus sur vous que ce que sondages , questionnaire et formulaire ont pu vous soutirer.

D'ailleurs, les cookies peuvent s'avérer fort utiles pour ne plus avoir à taper son identifiant et son mot de passe, à condition toutefois de ne pas les détourner de leur usage premier.
Essayons de lever ensemble ce voile d'obcurantisme.

  1. A quoi sert-il ?
  2. Comment s'en debarrasser ?

Qu'est-ce qu'un cookie ?

Les cookies furent introduits à l'origine par Netscape avec la version 1.1 de Navigator, son navigateur Web.
Un cookie est constitué de quelques lignes de texte envoyées à la demande du site visité lors d'une transaction HTTP que le navigateur stockent dans un fichier de votre disque dur. Cookie.txt pour Microsoft Internet Explorer ou Magic cookie pour Netscape Navigator.
Lorsque vous cliquez sur le lien d'un site utilisant des cookies, le serveur transmet le cookie en même temps que le reste de la page HTML demandé. Quand vous reviendrez plus tard sur le site, le cookie est renvoyé au serveur qui l'avait expédié qui vous adressera éventuellement une version mise à jour.
Ce cookie peut recueillir diverses informations telles que votre nom, nombres de connexions, un numéro personnel. Grâce à JavaScript, il peut même découvrir des informations sans votre consentement formel.

A quoi sert-il ?

L'idée première du fichier Cookie est de pouvoir vous identifier lors de vos multiples connexions à un même site. De la même manière, que votre boulanger vous salue à chaque visite quotidienne, emballant votre baguette de campagne avant même que vous ayez passé commande. A la différence près, que vous connaissez l'intention mercantile de votre boulanger mais pas toujours celle de l'administrateur d'un site que vous visitez au cours d'une ballade sur le web.

Le fichier Cookie est un véritable moyen de communication, entre vous et le serveur que vous consultez. Le serveur Search.com en est une illustration probante. Dès que vous vous y connectez, ce dernier vous propose vos 20 moteurs de recherche préférés. Par extension ce fichier devient un merveilleux outil au main du marketing, qui peut désormais adapter le site à la demande du lecteur, mais aussi des annonceurs de publicité. Un constructeur de véhicules automobiles sera ravi d'apprendre que l'annonce publicitaire concernant son monospace aura été présenté à tous les lecteurs chef d'une famille d'au moins deux enfants, et que l'annonce vantant les mérites de son dernier cabriolet aura été soumise à de jeunes célibataires aux revenus appropriés.

Comment fonctionne un cookie ?

Fort simplement, le fichier cookie est généré à la demande du site que vous consultez. Ce fichier est créé le plus souvent de manière incidieuse, peu de sites vous avertissent de l'emploi d'un cookie. Ce fichier peut stocker alors de multiples informations. Initialement, seul votre nom, un numéro d'abonné créé par le serveur, votre adresse IP, l'heure et la date pouvaient faire l'objet d'un enregistrement. Désormais, au moyen de JavaScript, il est possible d'enregistrer des informations plus personnelles, notamment votre adresse e-mail, (si vous avez correctement configuré Netscape Navigator), mais aussi le cheminement que vous avez réalisé au sein du site. Rassurez vous, un fichier cookie ne peut être partagé que par le site l'ayant créé, bien qu'il soit retourné globalement à tout serveur d'un même domaine.

Comment s'en debarrasser ?

La méthode la plus simple consiste à utiliser un logiciel de navigation ne supportant pas cette technologie.

La seconde possibilité consiste à effacer méthodiquement ce fichier, qui se situe dans le fichier préférence de votre navigateur à la fin de chaque surf. Nicolas Berloquin, un jeune développeur parisien, propose un freeware initialement baptisé Cookie Monster, (le nom devrait changer dans les prochains jours, en raison du refus des producteurs de Sesame Street de voir leur cookie Monster réduit à une simple application logicielle), qui se charge automatiquement d'éradiquer votre disque dur de cette malheureuse vermine.

Désormais Netscape Navigator version 3 vous avertit de la création d'un cookie, et vous demande si vous acceptez sa création ou non.

Aujourd'hui le bilan cout avantage penche en faveur du fichier cookie qui évite certaines saisie inutiles, notamment votre code d'accès à un site, à chaque changement de page. Néanmoins il convient de rester prudent quant à leur évolution. Je pense notamment à la combinaison Cookies et JavaScript, qui pourrait se révéler particulièrement efficace.


300 cookies maximum au total peuvent être enregistrés par le navigateur (au delà, les premiers sont effacés).
4ko maximum par cookie.
20 cookies maximum par serveur ou domaine.

Mise en place d'un cookie

Le développement des cookies a été rendu possible par le fait qu'une transaction HTTP implique une requète et une réponse. Le client WEB (le navigateur) expédie une requète au serveur, qui renvoie une réponse dans laquelle il retourne un document au client.
Les cookies sont échangés entre le serveur et le navigateur au travers des entêtes HTTP Set-Cookie depuis le serveur, et Cookie depuis le client.

Les mots-clés d'un ordre Set-Cookie envoyé à un navigateur HTTP.

Set-Cookie
mot-clè.
Name=Value
Le nom du cookie à sauver accompagné de sa valeur. C'est le seul attribut obligatoire, autrement cela n'aurai aucun sens. identite=Francis
Expires=DateTime
La date et l'heure d'expiration du cookie. Passé cette date, le navigateur effacera le cookie. Par défaut, c'est la fin de la session en cours. Expires=saturday, 12-31 32000 23:59:59 GMT;
Path=DirectoryPath
Chemin du sous-répertoitre que le navigateur doit réclamer si le serveur renvoie un cookie au serveur. Le serveur ne voit ce cookie que si l'on est dans ce répertoire et tous ses sous-répertoires. Par défaut on utilise Path=/. path=/clubinfo/internet
Domain=DomainName
Le nom du domaine soit de façon spécifique, soit de façon globale. Seules les machines dans ce domaine pourront s'enquérir de ce cookie. Le domaine doit comprendre au moins deux points pour les sept domaines originels d'Internet (.com, .edu, .gov, .int, .net et .org), et trois points pour les autres, afin d'éviter qu'un domaine soit trop général.
Secure
Si cet attribut est notifié;, la valeur du cookie est confidentielle. Elle est donc envoyé au serveur lors d'une connexion sécurisé SSL à travers HTTPS.
Max-Age
durée de vie du cookie en secondes.
version
Identifie la version HTTP 1.1.
comment
commentaire destiné à l'utilisateur pour l'aider à gérer ses différents cookies.

Format d'un cookies à la norme HTTP 1.0 Netscape

set-cookie : Name=Value; expires=DateTime path=DirectoryPath; domain=DomainName; secure

Format d'un cookies à la norme HTTP 1.1 Netscape / Lucent

set-cookie : Name=Value; Max-Age=3600; path=DirectoryPath; domain=DomainName; version=1; secure; comment=Comments;

Notons qu'un serveur peut trés bien créer un cookie sans attributs optionel, qui sera alors accessible à toutes les machines connaissant son nom.

On peut écrire le cookie dans le fichier HTML en le plaçant à l'intérieur de la section <HEAD> dans le tag <META> avec l'attribut http-equiv :
<META http-equiv=Set-Cookie content="Name=Value; expires=DateTime; path=DirectoryPath; domain=DomainName">

Exemple d'utilisation des cookies avec JavaScript

Documentation de référence


Christophe Merlet
redfox@redfoxcenter.org
©Tous droits réservés
05 mai 2000