Le session storage enregistre des données dans le navigateur uniquement tant qu’un onglet est ouvert. Découvrez comment il fonctionne, en quoi il diffère du local storage et à quoi les sites l’utilisent.
Et si un site pouvait retenir juste assez pour rendre votre visite fluide, sans rien garder après votre départ ? Pas de données qui traînent, pas de préférences stockées, rien qui reste. Juste la bonne information au bon moment, puis elle disparaît. C’est l’idée du session storage, et il est plus utile qu’il n’y paraît.
Si vous avez déjà lu le chapitre sur le local storage, vous savez qu’il garde les données même après la fermeture du navigateur. Le session storage prend l’approche inverse. Il est conçu pour être temporaire, et ce n’est pas une limite : c’est une fonction voulue.
Qu’est-ce que le session storage ?
Le session storage est un type de stockage du navigateur qui enregistre des données pendant la durée de la session d’un onglet. Tant que l’onglet reste ouvert, les données sont disponibles. Dès que le visiteur ferme cet onglet, le session storage est automatiquement effacé. Ouvrez le même site dans un nouvel onglet et le session storage repart de zéro, vide.
Comme le local storage, le session storage fonctionne comme un stockage clé-valeur. Les sites écrivent des données avec une étiquette et une valeur, et les récupèrent en cherchant l’étiquette. La différence tient uniquement à la durée de vie des données. Le local storage persiste indéfiniment. Le session storage vit et meurt avec l’onglet.
En quoi le session storage diffère-t-il du local storage ?
La différence clé est la persistance. Les données du local storage restent dans le navigateur jusqu’à leur suppression manuelle. Les données du session storage disparaissent dès la fermeture de l’onglet. Ils conviennent donc à des situations différentes.
Le session storage est aussi propre à chaque onglet. Si un visiteur a le même site ouvert dans deux onglets, chaque onglet a son propre session storage, séparé. Ils ne partagent pas de données. Le local storage, lui, est partagé entre tous les onglets du même site dans le même navigateur.
À quoi les sites utilisent-ils le session storage ?
Suivre la progression pendant une session
Les formulaires en plusieurs étapes et les parcours de commande utilisent souvent le session storage pour garder la progression quand un visiteur passe d’une étape à l’autre. S’il revient à une étape précédente, ses réponses sont toujours là. Une fois la session terminée, ces données temporaires disparaissent, ce qui est exactement ce qu’on veut pour un processus de commande par exemple.
L’état temporaire de l’interface
Savoir si un menu latéral est ouvert, quel onglet est sélectionné ou jusqu’où un visiteur a fait défiler une longue liste : ce sont des états temporaires qu’il est logique de garder pendant une visite mais qui n’ont plus de valeur quand le visiteur est parti. Le session storage s’en charge proprement.
Garder un contexte sensible de courte durée
Pour tout ce qui concerne le contexte actuel d’un visiteur pendant sa visite, le session storage est un choix plus sûr que le local storage, car les données se nettoient d’elles-mêmes. Il n’y a aucun risque qu’un contexte sensible s’attarde dans le navigateur après la fin de la visite.
Quand utiliser le session storage plutôt que le local storage
Le choix revient à une question : ces données doivent-elles survivre à la session d’onglet en cours ? Si oui, le local storage est le bon outil. Si les données ne servent que pendant la visite en cours et ne doivent pas se reporter, le session storage convient mieux.
Pour les données sensibles, aucun des deux ne convient. Les mots de passe, les moyens de paiement et les informations personnelles doivent toujours être gérés côté serveur avec un chiffrement SSL approprié, et jamais stockés dans le navigateur. Pour une vue complète de toutes les options de stockage du navigateur et de leurs différences, lisez les types de stockage du navigateur.
Questions fréquentes
Le session storage s’efface-t-il à la fermeture du navigateur, ou seulement de l’onglet ?
Le session storage s’efface à la fermeture de l’onglet concerné. Si un visiteur a plusieurs onglets ouverts et en ferme un, seul le session storage de cet onglet est effacé. Les autres onglets gardent le leur. Si le navigateur entier est fermé, tout le session storage de tous les onglets est supprimé, car toutes les sessions actives prennent fin à ce moment-là.
Deux onglets du même site peuvent-ils partager le session storage ?
Non. Le session storage est isolé par onglet. Si le même site est ouvert dans deux onglets séparés, chaque onglet a son propre session storage, que l’autre onglet ne peut ni lire ni modifier. C’est différent du local storage, qui est partagé entre tous les onglets du même site dans le même navigateur.
Le session storage est-il plus sécurisé que le local storage ?
Il est un peu meilleur pour un contexte sensible, car les données s’effacent automatiquement à la fermeture de l’onglet. Mais il reste accessible à tout script qui s’exécute sur la page, ce qui signifie qu’il ne convient pas aux mots de passe, aux informations personnelles ni aux moyens de paiement. Le nettoyage automatique réduit la durée d’exposition, mais les mêmes règles de sécurité de base s’appliquent. Les données sensibles doivent rester sur le serveur, pas dans le navigateur.
Que devient le session storage quand un visiteur actualise la page ?
Actualiser la page n’efface pas le session storage. Les données persistent à travers les rechargements de page tant que l’onglet reste ouvert. Le session storage est donc utile pour garder un état d’une actualisation à l’autre pendant la même visite, par exemple un formulaire à moitié rempli, sans que ces données se reportent après le départ du visiteur.
Quelle quantité de données le session storage peut-il contenir ?
Le session storage a à peu près la même capacité que le local storage, environ 5 à 10 mégaoctets par onglet selon le navigateur. C’est largement suffisant pour des états d’interface temporaires et des données de formulaire en cours. Pour des jeux de données ou des fichiers plus volumineux, IndexedDB est mieux adapté.
Dois-je configurer le session storage sur mon site ?
Pas si vous utilisez un créateur de site web. Le session storage est utilisé en interne par la plateforme, par exemple pour gérer l’état des formulaires et les préférences de la session. Il fonctionne en arrière-plan sans aucune configuration de votre part. Avec le créateur de site web de WEMASY, la plateforme gère automatiquement toutes les décisions de stockage du navigateur : vos visiteurs profitent d’une expérience fluide sans configuration.