0Pricing
HTML Academy · Leçon

`localStorage` ou `sessionStorage`

Comprenez la durée de vie et la portée de chaque type de stockage.

`localStorage` ou `sessionStorage` est une leçon HTML Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage HTML Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours HTML Academy comprend 4 leçons au total.

Vue d’ensemble de l’API de stockage Web

L’API de stockage Web fournit deux espaces de stockage clé-valeur côté client : localStorage (persistant entre les sessions) et sessionStorage (effacé à la fermeture de l’onglet). Tous deux stockent des valeurs textuelles et sont accessibles de manière synchrone via JavaScript sur la même origine.

Persistance de localStorage

Les données de localStorage persistent jusqu’à leur effacement explicite par le code, l’utilisateur ou la suppression des données du navigateur. Elles survivent aux redémarrages du navigateur, aux actualisations de la page et aux fermetures d’onglets. La capacité est généralement de 5 à 10 MB par origine, selon le navigateur.

Portée de sessionStorage

sessionStorage est associé à l’onglet et à la session actuels du navigateur. Les données survivent aux actualisations de la page dans le même onglet, mais sont effacées à la fermeture de celui-ci. Deux onglets ouverts sur le même site disposent de sessionStorage distincts et isolés : ils ne partagent pas leurs données.

Similarité des interfaces de programmation

Les deux espaces de stockage partagent la même interface de programmation : setItem(key, value), getItem(key), removeItem(key), clear() et la propriété length. Le même code fonctionne pour les deux : il suffit de remplacer localStorage par sessionStorage, et inversement.

Choisir entre les deux

Utilisez localStorage pour les préférences de l’utilisateur (thème, langue), les réponses d’interface de programmation mises en cache et la fonctionnalité de mémorisation de la connexion. Utilisez sessionStorage pour l’état des étapes d’un assistant ou d’un formulaire, un panier temporaire avant le paiement et les données qui ne doivent pas persister entre les visites pour des raisons de confidentialité.

Restriction de même origine

Les deux espaces de stockage sont strictement associés à une origine (protocole + hôte + port). https://example.com ne peut pas lire le localStorage défini par http://example.com. Il s’agit d’une limite de sécurité : les sous-domaines correspondent également à des origines distinctes, sauf si document.domain est modifié (fonctionnalité obsolète).

Capacité de stockage

Dans la plupart des navigateurs, les deux espaces disposent d’une limite d’environ 5 MB par origine. Le dépassement de cette limite déclenche une erreur QuotaExceededError. Les besoins de stockage de grandes quantités de données nécessitent IndexedDB, qui prend en charge des gigaoctets de données structurées. Le stockage Web est destiné aux petites paires clé-valeur, et non aux données binaires ni aux grands ensembles de données.

Nature synchrone

Les lectures et écritures du stockage Web sont synchrones et bloquent le thread principal. Pour les lectures ou écritures volumineuses, cela peut provoquer des saccades. Préférez IndexedDB pour les opérations fréquentes sur de grandes quantités de données. Gardez les valeurs du stockage Web petites et peu fréquentes afin d’éviter les problèmes de performances.

Schéma de sérialisation

Le stockage Web ne conserve que des chaînes de caractères. Sérialisez les objets avec JSON.stringify() et désérialisez-les avec JSON.parse(). Gérez les échecs d’analyse : try { return JSON.parse(stored) } catch { return defaultValue }. Les valeurs endommagées ou qui ne sont pas au format JSON dans le stockage déclenchent des erreurs d’analyse.

Stockage en mode privé ou navigation privée

localStorage en mode privé ou en navigation privée est effacé lorsque toutes les fenêtres privées sont fermées : il se comporte alors comme sessionStorage. Le code qui dépend de localStorage pour l’état d’authentification doit gérer le cas où localStorage est effacé de manière inattendue.

Restrictions concernant les tiers

Les navigateurs restreignent de plus en plus l’accès au stockage tiers. Une iframe provenant de third-party.com et intégrée à first-party.com ne peut pas accéder au localStorage de third-party.com. L’ITP de Safari et la protection renforcée contre le pistage de Firefox cloisonnent le stockage : l’utilisation par le site d’origine n’est pas affectée.

Vérification des connaissances

Quand sessionStorage est-il effacé ?

Résumé

localStorage persiste indéfiniment jusqu’à son effacement programmé ou effectué par l’utilisateur ; sessionStorage est effacé à la fermeture de l’onglet. Tous deux sont des espaces de stockage synchrones de chaînes clé-valeur, associés à une origine, avec une capacité d’environ 5 MB. Utilisez localStorage pour les préférences et l’état persistant ; utilisez sessionStorage pour l’état temporaire lié à la session, qui ne doit pas survivre à la fermeture de l’onglet.

Questions Fréquemment Posées

La leçon « `localStorage` ou `sessionStorage` » est-elle gratuite ?

Oui — le texte complet de « `localStorage` ou `sessionStorage` » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours HTML Academy, passe à CoddyKit PRO. Le cours HTML Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « `localStorage` ou `sessionStorage` » ?

Comprenez la durée de vie et la portée de chaque type de stockage. Tu pratiques HTML Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer HTML Academy ?

Aucune expérience préalable n'est requise. HTML Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « `localStorage` ou `sessionStorage` » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon HTML Academy ?

Oui. Chaque leçon HTML Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. `localStorage` ou `sessionStorage`
  2. Lire, définir et supprimer des éléments
  3. Écouter les événements de stockage
  4. Sécurité : ce qu’il ne faut jamais stocker
← Retour à HTML Academy