Un cookie est un petit fichier, contenant généralement une seule donnée, qui va être stocké sur votre ordinateur.
Les cookies sont très pratiques car ils permettent de conserver des informations et donc de pouvoir s’en resservir.
En effet, normalement, une fois la page web envoyée, il n’y a aucun moyen de se souvenir « simplement » des données envoyées par l’utilisateur.
Grâce aux cookies, on va pouvoir se rappeler de son nom par exemple, ou des préférences qu’il a indiquées.
Les cookies ne sont donc pas « dangereux » en soi comme certains le disent. Ce qui peut être dangereux, c’est si un programme malveillant arrive à intercepter les informations qu’ils contiennent.
Notez que les cookies ne durent jamais éternellement. Lorsque l’on va créer un cookie, on va lui attribuer une durée de vie.
L’utilisateur peut également à tout moment supprimer les cookies de son ordinateur ; vous devez en tenir compte si vous les utilisez sur votre site.
Pour créer un cookie, on va utiliser la propriété cookie
de l’objet Document
.
Le minimum pour créer un cookie est de lui donner un nom et une valeur comme ceci :
Si on ne précise pas explicitement de date d’expiration, le cookie sera supprimé par défaut lorsque le navigateur sera fermé.
On va pouvoir préciser une date d’expiration avec le mot clef expires
. Vous devez évidemment fournir une date avec un format valide afin que cela fonctionne.
Notre cookie expirera donc le 31 décembre 2015 sauf si l’utilisateur le supprime manuellement de son ordinateur avant.
Notez que l’on sépare les différents binômes « information=valeur » par des points virgules.
Finalement, on peut encore préciser un chemin ou un répertoire dans lequel le cookie pourra être lu et utilisé avec le mot clef path
. Par défaut, le cookie appartient à la page dans laquelle il a été créé.
En indiquant la valeur /
, on indique que le cookie est valide sur tout le domaine, c’est-à-dire sur tout notre site.
Pour lire nos cookies, nous allons utiliser document.cookie
.
Attention cependant, cette façon de faire va retourner tous les cookies d’un coup dans une chaine de caractères comme vous pouvez le voir ci-dessous.
Si vous essayez le code ci-dessus, il est possible que d’autres cookies s’affichent. Cela peut être soit des cookies d’environnement, soit des cookies que vous aviez déjà créés précédemment sur votre page de code.
Pour modifier un cookie, il suffit de le réécrire avec le même nom et en changeant les autres informations.
Notez qu’on ne va pas pouvoir changer le nom d’un cookie : si l’on change de nom, cela sera considéré comme un autre cookie et ça n’effacera pas le premier.
Pour supprimer un cookie, la méthode la plus simple est de le réécrire à l’identique mais en précisant cette fois-ci une date d’expiration passée.
Si vous êtes amenés à beaucoup manipuler des cookies, il peut être intéressant de créer des fonctions pour automatiser la création, la lecture ou la suppression de cookies.
Voici le script que je vous propose. Celui-ci est commenté un maximum afin que vous compreniez bien tout ce qui est fait.