Les cookies

Les cookies

21 janvier 2022

Aujourd'hui, tout le monde sait ce qu'est un cookie HTTP. Alors, je vous éviterai la blague sur le fait que c'est un gâteau... Un cookie est un petit fichier contenant, généralement, qu'une seule donnée stockée directement dans le navigateur client.

Ils peuvent utiliser pour de la gestion de session, du suivi publicitaire, statistiques ou garder en "mémoire" des préférences utilisateurs.

Cookie et RGPD

Les cookies sont soumis à réglementation. Vous ne pouvez pas déposer un cookie quand bon vous semble sur le navigateur de vos visiteurs. Ils doivent être consentis par celui-ci.

Voir la réglementation : https://www.cnil.fr/fr/cookies-et-traceurs-que-dit-la-loi

Créer un cookie

La création d'un cookie est prise en charge par la propriété document.cookie recevant une chaîne de caractère.

document.cookie = "lastname=Doe";

Cette chaîne de caractère prend la variable et sa valeur tout comme l'on fera pour déclarer une variable.

D'autres paramètres peuvent être gérés :

Date d'expiration

Par défaut, le cookie expirera à la clôture du navigateur, mais nous pouvons choisir sa date d'expiration en y passant une date UTC (Universal Time Coordinated).

document.cookie = "lastname=Doe; expires=Sun, 30 Jan 2022 14:23:00 UTC";

Pour le format de la date, il est tout à fait possible d'utiliser la classe Date :

document.cookie = "lastname=Doe; expires="+ new Date('2022-01-30').toUTCString();

Chemin

Par défaut, le cookie est lié à la page de création de celui-ci, mais nous pouvons lui donner une plus grande amplitude et l'autorisé sur toutes les pages de notre site Web.

document.cookie = "lastname=Doe; path=/";

Cumuler les paramètres

Le paramètre d'expiration et de chemin peuvent, bien évidemment, être cumulé ensemble lors de la création d'un cookie :

document.cookie = "lastname=Doe; expires="+ new Date('2022-01-30').toUTCString() + "; path=/";

Pensez à bien mettre un espace après chaque point-virugle séparant les paramètres.

Mettre à jour un cookie

Pour modifier un cookie existant, il suffira de le recréer avec la même variable, mais en changeant sa valeur. L'ancien cookie sera écrasé au profit du nouveau.

document.cookie = "lastname=Jane; expires="+ new Date('2022-01-30').toUTCString() + "; path=/";

Ici, j'ai juste remplacé la valeur de username.

Supprimer un cookie

La suppression est tout aussi simple que de modifier un cookie. Nous recréons un cookie avec la même variable, en revanche on ne précise aucune valeur et nous modifierons aussi la date d'expiration à une date antérieure à celle du jour.

document.cookie = "lastname=; expires="+ new Date('1970-01-01').toUTCString() + "; path=/";

Lire tous les cookies

Afin de lire la totalité des cookies, seulement ceux créés sur votre domaine, nous les réceptionnerons dans une simple variable.

let cookies = document.cookie;

document.cookie retournera tous les cookies dans une chaîne de caractère sous cette forme ci :

cookie1=value1; cookie2=value2; ...