gérer des cookies

Qu’est ce qu’un cookie?
Un cookie est un fichier texte text, stocké dans un répertoire connu et accessible par le navigateur et qui permet de stocker des informations personnelles.
Ces cookies ont une certaine durée de vie : le temps de votre session pour par exemple se rappeler la langue utilisée (fr ou en) par votre navigateur, ou beaucoup plus longtemps (des mois, des années) pour que vous n’ayez pas � refournir des informations déj� fournies.
Ils peuvent servir à :
  • mémoriser votre mot de passe pour éviter de vous le redemander
  • se rappeler votre identité et d’autre informations commercialement utiles (le type de produit déj� cherchés, les thèmes qui vous intéresse, etc.)
  • faire des statistiques sur les internautes
  • se rappeler la date de votre dernière venue
  • et plein d’autres choses encore…

Un cookie a au minimum 2 caractéristique : son nom et sa valeur
et des caractéristiques optionnelles : sa date d’expiration, le domaine du serveur du document qui le contenait, le chemin d(accès au dit document.

Le plus petit cookie du monde

Un cookie est accessible en javascript, en lecture et en écriture avec la propriété… ‘cookie’ de l’objet…’document’ …tout simplement !

Fort de cela tentons donc d’écrire le plus petit cookie du monde (il fait une ligne) :

<html>
<script>
document.cookie = « nom_de_mon_cookie=valeur_de_mon_cookie »
</script>
</html>

remarque : il est possible avec un navigateur comme FireFox de vérifier � tout moment quels sont les cookies stockés sur notre poste. Il nous suffit d’aller voir dans le menu ‘outils / options/ vie privée’ et ‘afficher les cookies’ et l’on vérifie aisément l’efficacité du code précédent :

cookie liste

remarque : le nom de domaine de l’hote (du serveur) n’apparait pas ici car le document était sur le PC local de l’auteur et non pas sur un serveur web distant. On le vérifie aisément en constatant que le chemin de ce document est ‘C:\TEMP’

Afin de rendre ce code un peu plus universel nous allons écrire une fonction, qui prend en paramètre le nom, et la valeur du cookie, ainsi que sa durée de vie en jours. Ainsi ce code sera réutilisable quelle que soit l’application.

fonction générale de création d’un cookie

html>
<head>
<script>
function ecrit_cookie(nom,valeur,jours)
{
var expire_date=new Date()
expire_date.setDate(expire_date.getDate()+jours)
document.cookie=nom + « = » +escape(valeur)+
((jours==null) ? «  » : « ; expires= »+expire_date.toGMTString())
}
</script>
</head>
<body>
<script>
nom=prompt(‘entrez nom:’, » »)
valeur=prompt(‘entrez valeur:’, » »)
// on met une date d’expiration dans un an…
// et on ‘appelle’ la fonction pour l’executer (tout de même)
x = ecrit_cookie(nom,valeur,365)
</script>
</body>
</html>

cook_list2.jpg

on vérifie grace au navigateur, que le cookie a bien été suavegardé. La nom de la variable est ‘utilisateur’ et sa valeur ‘DD4. La date d’expiration est le 14 oct 2008 soit un an après la date de création du cookie par l’auteur…

lecture d’un cookie

comme dit précédemment il suffit d’utiliser la propriété ‘document.cookie’

<html>
<body>
Voici le cookie :
<script>
// on utilise ‘unescape’ pour décoder les caractèrs spéciaux éventuels
document.write(unescape(document.cookie))
</script>
</body>
</html>

Pour une description plus complètes et des exemples également voir la page sur les cookies du W3schools : http://w3schools.com/js/js_cookies.asp

et pour terminer dans la bonne humeur, si vous souhaitez apprendre comment gagner beaucoup d’argent avec des cookies ;-))
voir l’excellent ‘small time crooks’ de Woody Allen