Blog / Comment Créer des Cookies JavaScript en 2025 : Guide Pas à Pas

Comment Créer des Cookies JavaScript en 2025 : Guide Pas à Pas

Jacky West / March 20, 2025

Blog Image

Comment Créer des Cookies JavaScript en 2025 : Guide Pas à Pas

Les cookies JavaScript restent un élément fondamental du développement web moderne en 2025, permettant aux sites de stocker des données essentielles côté client. Que vous soyez développeur débutant ou expérimenté, maîtriser la création et la gestion des cookies est une compétence incontournable. Ce guide complet vous présente les meilleures pratiques actuelles pour implémenter des cookies JavaScript de manière efficace et sécurisée.

Qu'est-ce qu'un Cookie JavaScript et pourquoi l'utiliser ?

Un cookie JavaScript est un petit fichier texte stocké par le navigateur sur l'appareil de l'utilisateur. Il permet de conserver des informations entre les sessions de navigation et offre plusieurs avantages :

  • Mémorisation des préférences utilisateur
  • Maintien des sessions de connexion
  • Suivi des comportements pour l'analyse
  • Personnalisation de l'expérience utilisateur
  • Stockage temporaire de données non sensibles

Avec l'évolution des réglementations comme le RGPD et l'ePrivacy en Europe, la gestion des cookies est devenue plus encadrée, nécessitant une approche plus réfléchie en 2025.

Les fondamentaux de la création de cookies en JavaScript

La syntaxe de base pour créer un cookie en JavaScript reste relativement simple, même si les meilleures pratiques ont évolué. Voici la structure fondamentale :

document.cookie = "nom=valeur; expires=date; path=chemin; domain=domaine; secure; samesite=strict";

Examinons chaque composant essentiel pour créer des cookies efficaces et sécurisés :

Création d'un cookie simple

Pour créer un cookie basique, vous n'avez besoin que du nom et de la valeur :

document.cookie = "username=JohnDoe";

Cependant, ce cookie simple disparaîtra dès que l'utilisateur fermera son navigateur. Pour un cookie plus persistant, vous devez définir une date d'expiration.

Définir une date d'expiration

Pour que votre cookie persiste au-delà d'une session de navigation, ajoutez un paramètre d'expiration :

// Cookie expirant dans 7 jours
let date = new Date();
date.setTime(date.getTime() + (7 * 24 * 60 * 60 * 1000));
let expires = "expires=" + date.toUTCString();
document.cookie = "username=JohnDoe; " + expires + "; path=/";

En 2025, la gestion des dates d'expiration est cruciale pour respecter les réglementations sur la protection des données qui exigent que les cookies ne persistent pas plus longtemps que nécessaire.

Fonctions utilitaires pour gérer les cookies

Pour simplifier la gestion des cookies, créez des fonctions réutilisables. Voici trois fonctions essentielles que tout développeur devrait avoir dans sa boîte à outils :

Fonction pour définir un cookie

function setCookie(nom, valeur, jours) {
  let date = new Date();
  date.setTime(date.getTime() + (jours * 24 * 60 * 60 * 1000));
  let expires = "expires=" + date.toUTCString();
  document.cookie = nom + "=" + valeur + "; " + expires + "; path=/; SameSite=Strict; Secure";
}

Fonction pour récupérer un cookie

function getCookie(nom) {
  let nomCookie = nom + "=";
  let decodedCookie = decodeURIComponent(document.cookie);
  let cookies = decodedCookie.split(';');
  
  for(let i = 0; i < cookies.length; i++) {
    let cookie = cookies[i].trim();
    if (cookie.indexOf(nomCookie) === 0) {
      return cookie.substring(nomCookie.length, cookie.length);
    }
  }
  return "";
}

Fonction pour supprimer un cookie

function deleteCookie(nom) {
  document.cookie = nom + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}

Ces fonctions constituent la base d'une gestion efficace des cookies en JavaScript. Vous pouvez les adapter selon vos besoins spécifiques.

Sécurité des cookies en 2025 : les meilleures pratiques

En 2025, la sécurité des cookies est plus importante que jamais. Voici les pratiques essentielles à adopter :

Attribut Description Recommandation
Secure Limite l'envoi des cookies aux connexions HTTPS Toujours activer pour les sites utilisant HTTPS
HttpOnly Empêche l'accès aux cookies via JavaScript Activer pour les cookies sensibles (authentification)
SameSite Contrôle quand les cookies sont envoyés avec les requêtes cross-site Utiliser "Strict" ou "Lax" selon les besoins
Path Limite le cookie à un chemin spécifique Définir le chemin le plus restrictif possible
Domain Spécifie le domaine auquel le cookie appartient Limiter au domaine exact si possible

L'ajout de ces attributs de sécurité est devenu standard en 2025, notamment avec les vulnérabilités informatiques qui ne cessent d'évoluer :

document.cookie = "username=JohnDoe; expires=Sun, 15 Mar 2025 12:00:00 UTC; path=/; domain=example.com; secure; samesite=strict";

Gestion du consentement aux cookies

Avec le renforcement des réglementations sur la protection des données, la gestion du consentement est devenue incontournable. Voici comment implémenter un système de consentement basique :

// Vérifier si l'utilisateur a déjà donné son consentement
function checkConsent() {
  return getCookie("cookieConsent") === "accepted";
}

// Enregistrer le consentement de l'utilisateur
function saveConsent() {
  setCookie("cookieConsent", "accepted", 365); // Consentement valable 1 an
  document.getElementById("cookieBanner").style.display = "none";
  // Activer les cookies non essentiels ici
}

// Afficher la bannière si le consentement n'a pas été donné
if (!checkConsent()) {
  document.getElementById("cookieBanner").style.display = "block";
}

En intégrant un système de gestion des cookies efficace, vous respectez les normes tout en offrant une expérience utilisateur transparente.

Alternatives aux cookies traditionnels

En 2025, plusieurs alternatives aux cookies traditionnels sont disponibles, chacune avec ses avantages :

localStorage et sessionStorage

Ces API de stockage Web offrent une alternative plus simple pour stocker des données côté client :

// localStorage (persiste même après fermeture du navigateur)
localStorage.setItem("username", "JohnDoe");
let username = localStorage.getItem("username");

// sessionStorage (persiste uniquement pendant la session)
sessionStorage.setItem("temporaryData", "someValue");
let tempData = sessionStorage.getItem("temporaryData");

Ces méthodes sont particulièrement utiles pour stocker des données non sensibles et offrent une capacité de stockage plus importante que les cookies.

Illustration complémentaire sur cookies JavaScript

IndexedDB

Pour des besoins de stockage plus complexes, IndexedDB permet de stocker des quantités importantes de données structurées :

// Exemple simplifié d'utilisation d'IndexedDB
let request = indexedDB.open("myDatabase", 1);

request.onupgradeneeded = function(event) {
  let db = event.target.result;
  let objectStore = db.createObjectStore("users", { keyPath: "id" });
};

request.onsuccess = function(event) {
  // Utiliser la base de données
};

IndexedDB est particulièrement adapté aux applications web progressives (PWA) qui nécessitent un fonctionnement hors ligne.

Cas pratiques d'utilisation des cookies

Voyons quelques cas d'utilisation concrets des cookies en 2025 :

Mémorisation des préférences utilisateur

// Enregistrer le thème choisi par l'utilisateur
function saveThemePreference(theme) {
  setCookie("userTheme", theme, 365);
  applyTheme(theme);
}

// Appliquer le thème au chargement de la page
window.onload = function() {
  let savedTheme = getCookie("userTheme");
  if (savedTheme) {
    applyTheme(savedTheme);
  }
};

Suivi de session simplifié

// Générer un ID de session unique
function generateSessionId() {
  return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
}

// Vérifier si une session existe ou en créer une nouvelle
let sessionId = getCookie("sessionId");
if (!sessionId) {
  sessionId = generateSessionId();
  setCookie("sessionId", sessionId, 1); // Expire après 1 jour
}

Ces exemples peuvent être adaptés à différents contextes d'application web, du e-commerce aux plateformes de contenu.

Débogage des cookies

Le débogage des cookies est essentiel pour résoudre les problèmes. Voici quelques techniques efficaces :

Utilisation des outils de développement du navigateur

Les navigateurs modernes offrent des outils puissants pour inspecter et modifier les cookies :

  1. Ouvrez les outils de développement (F12 ou Ctrl+Shift+I)
  2. Naviguez vers l'onglet "Application" (Chrome) ou "Stockage" (Firefox)
  3. Sélectionnez "Cookies" puis votre domaine

Fonction de débogage pour afficher tous les cookies

function displayAllCookies() {
  let decodedCookie = decodeURIComponent(document.cookie);
  let cookieArray = decodedCookie.split(';');
  let cookieTable = {};
  
  for(let i = 0; i < cookieArray.length; i++) {
    let parts = cookieArray[i].trim().split('=');
    if (parts.length === 2) {
      cookieTable[parts[0]] = parts[1];
    }
  }
  
  console.table(cookieTable);
}

Cette fonction affiche tous les cookies dans une table facilement lisible dans la console du navigateur.

Intégration avec les frameworks modernes

L'utilisation des cookies avec les frameworks modernes nécessite souvent des approches spécifiques :

React

Pour React, des bibliothèques comme react-cookie simplifient la gestion des cookies :

import { useCookies } from 'react-cookie';

function MonComposant() {
  const [cookies, setCookie, removeCookie] = useCookies(['userTheme']);
  
  const changeTheme = (newTheme) => {
    setCookie('userTheme', newTheme, { path: '/', maxAge: 2592000 }); // 30 jours
  };
  
  return (
    
Thème actuel : {cookies.userTheme || 'défaut'}
); }

Cette approche s'intègre parfaitement avec le modèle de composants de React.

Vue.js

Pour Vue.js, vue-cookies offre une solution élégante :

// Dans le composant Vue
export default {
  methods: {
    savePreference(value) {
      this.$cookies.set('preference', value, '30d');
    },
    getPreference() {
      return this.$cookies.get('preference');
    }
  },
  mounted() {
    const savedPref = this.getPreference();
    if (savedPref) {
      this.applyPreference(savedPref);
    }
  }
}

Ces intégrations facilitent considérablement la gestion des cookies dans les applications modernes.

Conclusion

La création et la gestion des cookies JavaScript restent des compétences fondamentales pour tout développeur web en 2025. En suivant les meilleures pratiques de sécurité et en respectant les réglementations en vigueur, vous pouvez utiliser efficacement les cookies pour améliorer l'expérience utilisateur tout en protégeant la vie privée.

Pour aller plus loin dans votre maîtrise du développement web, vous pourriez vous intéresser aux outils IA pour rédacteurs web qui peuvent automatiser certaines tâches de codage, ou explorer comment l'IA peut optimiser vos stratégies SEO.

Vous souhaitez expérimenter par vous-même? Inscrivez-vous gratuitement à Roboto pour générer du code JavaScript optimisé et sécurisé pour vos projets web.