Les cookies
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; ...