Screenshot of the cookie management window in Firefox 3.0.
Web development

Cookie informatique : définition, fonctionnement et usage

Plongez dans l'univers des cookies : de leur fonctionnement technique aux enjeux de sécurité et de confidentialité. Découvrez les différences entre traceurs, l'impact du RGPD et les alternatives comme le LocalStorage.

As-tu aimé cet article ?

Vous ne pouvez pas naviguer sur le web sans tomber dessus. Cette petite bannière qui surgit en bas de l'écran, vous demandant poliment — ou fermement — d'accepter les « traceurs ». C'est le rituel moderne de l'internet, un peu comme le contrôle des billets à l'entrée d'un concert. Mais au fond, qu'est-ce qu'un cookie ? Pourquoi les sites web sont-ils aussi obsédés par ces petits fichiers textes ? En tant que développeur, je passe ma vie à jongler avec eux pour que les sites fonctionnent, mais aussi à essayer de protéger ma vie privée. Plongeons ensemble dans les coulisses du web pour comprendre ces technologies qui nous suivent à la trace.

Au risque de vous décevoir, un cookie informatique n'a rien de comestible. C'est un petit fichier texte, souvent minuscule, qui est stocké sur votre ordinateur, votre tablette ou votre smartphone. Il contient des informations que le site web que vous visitez a jugé utile de conserver pour plus tard.

Imaginez que le web est une immense salle remplie de gens (les serveurs) qui ont la mémoire très courte. Dès que vous tournez les talons, ils oublient qui vous êtes. Pour pallier ce problème technique inhérent au fonctionnement du protocole HTTP, on a inventé le cookie. C'est un petit mémo que le serveur glisse dans votre poche (votre navigateur) et que vous lui rendez à chaque nouvelle visite.

La définition technique pure

D'un point de vue purement technique, un cookie est une suite d'informations identifiée par un nom. Lorsque vous naviguez sur une page, le serveur envoie une réponse à votre navigateur qui inclut une instruction pour créer ce fichier. La prochaine fois que vous ferez une requête vers ce même serveur, votre navigateur lui renverra automatiquement le contenu du cookie. C'est une boucle sans fin d'échanges d'informations qui se fait en arrière-plan, sans que vous ayez à cliquer sur quoi que ce soit.

L'origine du terme est un grand classique de la culture geek. Elle vient de la programmation et du terme « magic cookie ». Un « magic cookie » est un ticket ou un jeton transmis entre deux programmes pour leur permettre de s'identifier ou de partager des informations. Le nom a été popularisé par les premiers développeurs de navigateurs web dans les années 90, probablement en référence à ces fameux biscuits fortunés chinois qui contiennent un message à l'intérieur. Le parallèle est plutôt réussi : l'emballage est le fichier, et le message à l'intérieur est la donnée technique.

Les différents types de cookies

Cookie manager settings displayed in the Opera 36 web browser.

Tous les cookies ne sont pas créés égaux. Il y a une différence fondamentale entre un cookie qui permet de rester connecté à votre messagerie et celui qui vous poursuit avec des publicités de chaussures de sport pendant trois semaines. Comprendre cette distinction est crucial pour maîtriser votre navigation.

Les cookies techniques ou nécessaires

Ce sont les « bons » cookies, ceux qu'il faut généralement accepter pour que le site marche. Sans eux, l'expérience utilisateur serait catastrophique. Ils sont essentiels au bon fonctionnement du site web.

Par exemple, sur un site de e-commerce, c'est grâce à un cookie technique que le site se souvient de ce que vous avez mis dans votre panier d'achat quand vous passez de la page « Chaussettes » à la page « Caisse ». Autre exemple vital : les cookies d'authentification. Ils permettent au site de reconnaître que c'est bien vous qui vous connectez, évitant ainsi de devoir retaper votre mot de passe à chaque clic sur un nouveau lien. Si vous bloquez ces cookies, beaucoup de sites deviennent simplement inutilisables.

Les cookies de mesure d’audience

Ici, on entre dans une zone plus grise, mais souvent jugée acceptable. Ces cookies sont utilisés par les propriétaires des sites pour comprendre comment les gens interagissent avec leurs pages.

Ils collectent des données anonymes pour réaliser des statistiques de fréquentation. Ils permettent de savoir quelles pages sont les plus populaires, combien de temps un visiteur reste sur le site, ou quel est le taux de rebond (ceux qui partent immédiatement). Pour un développeur ou un éditeur de site, c'est de l'or pur pour améliorer le contenu et l'ergonomie. En tant qu'utilisateur, ces données ne vous identifient pas personnellement, mais elles servent à optimiser la structure globale du site.

Les cookies de marketing et publicitaires

C'est la catégorie qui énerve tout le monde. Ces cookies ont pour but unique de vous suivre à travers le web pour vous servir de la publicité ciblée.

Le principe est simple : vous regardez une paire de lunettes sur un site A. Plus tard, en lisant un article sur un site B totalement différent, une publicité pour ces mêmes lunettes apparaît. C'est le travail des cookies publicitaires. Ils permettent aux régies publicitaires de cartographier vos centres d'intérêt et de créer un profil marketing très détaillé de vous. C'est souvent grâce à cela que les services gratuits comme les réseaux sociaux ou les moteurs de recherche existent, mais le prix à payer est votre vie privée.

Cookies propriétaires contre cookies tiers

Pour comprendre vraiment qui vous espionne, il faut distinguer qui a déposé le cookie. C'est une nuance technique qui change tout en matière de confidentialité.

Un cookie propriétaire (ou « first-party cookie ») est posé par le domaine du site web que vous visitez activement. Si vous allez sur monsitefavori.com, le cookie posé vient de monsitefavori.com.

C'est généralement inoffensif et utile. Ce cookie permet au site de se souvenir de vos préférences linguistiques, de votre thème sombre ou clair, ou de votre taille de vêtement favorite. C'est une relation directe entre vous et l'éditeur du contenu. Vous donnez ces données au site pour qu'il fonctionne mieux. En tant que dev, j'adore ces cookies : ils simplifient la vie de tout le monde sans empiéter sur la vie privée de façon agressive.

Le cookie tiers (ou « third-party cookie ») est le véritable espion du web. Il est posé par un domaine autre que celui que vous visitez.

Prenons un exemple concret. Vous visitez un site d'actualité sportive. Sur cette page, il y a un bouton « J'aime » d'un réseau social, une publicité d'une grande marque, et une vidéo hébergée par une plateforme de streaming. Chacun de ces éléments provient d'un serveur différent (le réseau social, l'agence de pub, la plateforme vidéo). Quand la page se charge, ces serveurs tiers peuvent déposer leurs propres cookies sur votre navigateur. Résultat ? Le réseau social sait que vous lisez cet article sportif, même si vous n'êtes pas connecté sur votre compte chez eux à ce moment précis. Ces traceurs permettent de recréer le parcours de l'internaute en détail, traversant les différents sites pour vous suivre partout.

Le fonctionnement technique en profondeur

Pour ceux qui aiment regarder sous le capot, voici comment la mécanique s'huile. C'est une danse permanente entre votre navigateur (le client) et le serveur distant.

Le dépôt du fichier

Tout commence lors de votre première requête HTTP. Votre navigateur demande une page web au serveur. Le serveur prépare la page HTML et, dans les en-têtes de la réponse (la partie technique invisible de la réponse), il inclut une instruction Set-Cookie.

Cette instruction contient plusieurs informations : le nom du cookie, sa valeur (les données), le domaine pour lequel il est valide, le chemin d'accès, et surtout la date d'expiration. Votre navigateur reçoit la page, voit l'instruction, et crée le fichier sur votre disque dur ou en mémoire vive, selon les paramètres.

La lecture et le renvoi

Maintenant que le cookie est installé, la magie opère. À chaque nouvelle requête vers ce même domaine, votre navigateur va vérifier s'il possède un cookie correspondant.

Si c'est le cas, il l'ajoute dans les en-têtes de sa requête HTTP, précisément sous la forme Cookie: nom=valeur. Le serveur reçoit alors ces informations, peut vérifier que vous êtes bien connecté, adapter le contenu de la page en fonction de vos préférences (langue, devise), et renvoie la réponse. C'est un aller-retour constant, totalement transparent pour l'utilisateur.

Cependant, il y a une contrainte physique importante que nous, développeurs, devons constamment surveiller : la taille. Un cookie est limité à environ 4 Ko. C'est suffisant pour un identifiant de session ou un token, mais si vous essayez d'y stocker tout votre panier d'achat avec les descriptions des produits, vous allez planter le transfert. C'est pour ça qu'on stocke souvent juste un ID (une référence) dans le cookie, et toutes les données lourdes restent sur la base de données du serveur. C'est le principe de la session serveur : le cookie est juste la clé de la chambre à l'hôtel, les bagages restent dans la chambre.

Maintenant que l'on sait comment ça marche, parlons un peu de sécurité. C'est le genre de cauchemar qui garde les développeurs réveillés la nuit. Un cookie mal configuré, c'est une porte ouverte pour les pirates.

Le flag Secure : le transport blindé

Imaginez que vous envoyez une lettre confidentielle, mais que vous l'envoyiez dans une enveloppe en papier transparent. C'est ce qui se passe si vous utilisez un cookie sur un site non sécurisé (HTTP). N'importe qui sur le réseau Wi-Fi (au café ou dans le métro) peut « sniffer » le trafic et lire votre cookie. S'il vole votre cookie de session, il peut se connecter à votre compte sans même connaître votre mot de passe. C'est ce qu'on appelle le détournement de session (Session Hijacking).

Pour contrer ça, il existe un attribut vital : le flag Secure. Lorsqu'un cookie est marqué comme « Secure », le navigateur refuse de l'envoyer si la connexion n'est pas chiffrée en HTTPS (le petit cadenas dans la barre d'adresse). C'est une règle d'or pour moi : jamais de cookies sensibles sans HTTPS. C'est comme utiliser un sac à dos avec code au lieu d'un simple sac en papier.

Le flag HttpOnly : la protection contre le XSS

Le XSS (Cross-Site Scripting) est une attaque courante où un pirate injecte un script malveillant dans une page web que vous visitez. Ce script s'exécute dans votre navigateur et, grâce à JavaScript, peut lire tout ce qui se passe sur la page, y compris vos cookies. S'il attrape votre cookie d'authentification, il peut l'envoyer à son propre serveur.

C'est là qu'intervient le super-héros : l'attribut HttpOnly. Lorsqu'un cookie est marqué ainsi, le navigateur dit : « Désolé JavaScript, tu as le droit de lire le DOM, de modifier la page, mais tu n'as absolument pas le droit de toucher à ce cookie. » Même si un script malicieux s'exécute, il ne pourra pas lire le cookie d'authentification. C'est une barrière de sécurité essentielle qui a sauvé des millions de comptes.

Le flag SameSite : arrêter le CSRF

Le CSRF (Cross-Site Request Forgery) est une attaque plus vicieuse. Vous êtes connecté à votre banque (onglet A) et, sans fermer l'onglet, vous visitez un site malveillant (onglet B). Le site B contient une image cachée qui, au chargement, envoie une requête vers votre banque pour effectuer un virement. Comme votre navigateur envoie automatiquement les cookies de la banque avec la requête, la banque croit que c'est vous qui avez donné l'ordre.

Pour contrer cela, on utilise l'attribut SameSite. Il indique au navigateur de ne pas envoyer le cookie si la requête provient d'un site tiers.
* Strict : Le cookie n'est envoyé que si vous êtes sur le site lui-même. Très sécurisé, mais ça peut casser certaines fonctionnalités (comme arriver sur le site via un lien externe et être déconnecté).
* Lax : C'est le compromis moderne. Le cookie est bloqué pour les requêtes « dangereuses » (comme un POST qui envoie des données), mais autorisé pour les navigation de base (comme cliquer sur un lien). C'est devenu le standard par défaut sur la plupart des navigateurs modernes.

La législation : le fléau des bannières et le RGPD

Screenshot of the cookie management window in Firefox 3.0.
Mozilla Foundation / CC BY-SA 4.0 / (source)

On ne peut pas parler de cookies sans évoquer le cadre légal, surtout si vous êtes en Europe. Depuis 2018 et l'entrée en vigueur du RGPD (Règlement Général sur la Protection des Données), suivi par la directive « ePrivacy », la donne a changé.

Le consentement explicite

Avant, les sites posaient les cookies en silence, comme des pickpockets. Aujourd'hui, la loi impose le principe du consentement explicite pour les cookies non techniques. Vous savez, cette fenêtre pop-up qui bloque la moitié de l'écran sur votre mobile ? C'est la conséquence directe de la loi.

Si vous visitez un site d'information, celui-ci a le droit de poser un cookie technique pour que le site marche, mais il ne peut pas poser un cookie publicitaire Google ou Facebook sans que vous ayez dit explicitement « OUI ». Et le « non » doit être aussi facile que le « oui ». Fini la case à cocher pré-cochée, c'est illégal.

L'exception technique

Il est important de noter que tous les cookies ne nécessitent pas votre accord. Les cookies techniques (panier, identifiant de session, préférences de langue) et les cookies de mesure d'audience anonymisés (souvent utilisés pour améliorer le site et non pour de la pub) sont exemptés de consentement car ils sont indispensables au service. C'est pour ça que même si vous cliquez sur « Tout refuser », le site continuera de fonctionner.

Cependant, comme développeur, je constate que beaucoup de sites abusent de la notion « d'intérêt légitime » pour forcer la main aux utilisateurs. C'est un terrain miné juridiquement, et les autorités comme la CNIL en France commencent à distribuer de lourdes amendes aux contrevenants.

Si vous pensiez que les cookies allaient rester éternels, détrompez-vous. Le web est en pleine mutation. La plus grande menace pour le cookie tiers vient du géant de la recherche lui-même : Google.

La mort programmée par Chrome et Safari

Apple a ouvert le bal avec sa fonctionnalité « Intelligent Tracking Prevention » (ITP) sur Safari, qui bloque par défaut les cookies tiers après 24 heures. C'est un bouclier pour la vie privée, mais un cauchemar pour les publicitaires.

Google, avec Chrome (le navigateur le plus utilisé au monde), a annoncé la suppression progressive des cookies tiers. Ils appellent ça « Privacy Sandbox ». L'idée est de faire passer le web d'un modèle basé sur le suivi individif à un modèle basé sur des « Cohortes » (FLoC, puis Topics API). Au lieu de savoir que « Lucas aime les chaussures Nike », le navigateur dira aux publicitaires : « Cet utilisateur appartient au groupe 'Sneakers' ».

Cela permettrait de faire encore de la publicité ciblée (pour maintenir l'économie du web gratuit) sans révéler votre identité ni votre historique de navigation complet. En tant que gamer, je fais souvent le parallèle avec le matchmaking : on vous met dans une « pool » de joueurs, mais on ne donne pas votre adresse personnelle à tout le monde.

Les alternatives : First-Party Data

Avec le déclin des cookies tiers, les développeurs et les marketeurs se tournent vers la « First-Party Data ». Si le site ne peut plus vous suivre sur d'autres sites, il doit maximiser ce qu'il apprend sur vous quand vous êtes chez lui.

Cela encourage les marques à créer des comptes utilisateurs, des programmes de fidélité et des expériences personnalisées pour que vous ayez envie de leur donner vos données volontairement. C'est une évolution intéressante : on passe de la traque furtive à la relation de confiance (forcée).

Comment gérer les cookies au quotidien ?

Vous n'êtes pas obligé de subir passivement. Vous avez le contrôle, et en tant qu'utilisateur averti, vous devriez l'exercer.

La navigation privée (Incognito)

C'est l'outil le plus basique mais le plus efficace. En mode navigation privée, votre navigateur ne stocke aucun cookie persistant. Tout est en mémoire vive (RAM). Dès que vous fermez la fenêtre, pffft, les cookies disparaissent. C'est idéal pour faire des achats surprises à Noël ou consulter des sites sans laisser de trace sur votre ordinateur partagé.

Gérer via les paramètres du navigateur

Allez fouiller dans les paramètres de votre navigateur (souvent sous « Confidentialité et sécurité »). Vous pouvez bloquer tous les cookies tiers. Oui, certains sites vont râler ou casser un peu, mais la majorité fonctionnera encore très bien. Vous pouvez aussi voir la liste des cookies stockés et les supprimer manuellement. C'est parfois une véritable archéologie numérique de voir la liste de sites qui vous ont traçés pendant des années.

Les extensions anti-traceurs

Pour les paranoïaques (comme moi), il existe des extensions comme uBlock Origin, Privacy Badger ou Ghostery. Elles fonctionnent comme des garde-du-corps qui analysent chaque script sur une page et bloquent ceux qui essaient de planter des indésirables. Attention tout de même, bloquer trop de scripts peut rendre la page toute blanche si elle dépend trop de scripts tiers pour s'afficher. C'est le jeu du chat et de la souris entre bloqueurs et sites web.

View of multiple cookies in the Iceweasel browser interface.
Klaus Knopper, mozilla.org, mozilla.com, Wikipedia / CC BY-SA 4.0 / (source)

En tant que développeur, je ne mise pas tout sur les cookies. Ils sont indispensables, oui, mais ils ont des limites techniques que nous devons contourner au quotidien. Vous imaginez si vous deviez envoyer votre dossier complet de jeux vidéo à chaque fois que vous vouliez juste regarder la liste des serveurs ? C'est exactement le problème avec les cookies : ils sont envoyés automatiquement au serveur à chaque requête, ce qui alourdit le trafic réseau. Pour contourner cela, nous disposons d'autres armes dans notre arsenal, souvent invisibles pour l'utilisateur, mais puissantes.

Le LocalStorage est l'alternative la plus courante pour stocker des données directement chez vous, sans les envoyer inutilement au serveur. Contrairement au cookie et ses 4 Ko ridicules, le LocalStorage offre une capacité de stockage bien plus généreuse (généralement autour de 5 Mo). Concrètement, cela permet à un site web de sauvegarder vos préférences d'affichage, le contenu d'un formulaire que vous n'avez pas fini de remplir, ou même la progression dans un jeu HTML5, sans ralentir votre connexion. C'est comme avoir un grand tiroir personnel dans le bureau du site, où vous pouvez laisser vos affaires sans que le patron (le serveur) ait besoin de les voir tout le temps.

Il existe aussi le SessionStorage, qui fonctionne sur le même principe que le LocalStorage, mais avec une durée de vie beaucoup plus courte : tout ce qui est stocké dedans disparaît automatiquement dès que vous fermez l'onglet ou le navigateur. C'est parfait pour des données temporaires, comme les étapes d'un achat en cours ou une étape d'un questionnaire, qui n'ont plus aucune utilité une fois la session terminée. Enfin, pour les applications vraiment lourdes, comme des clients mail en ligne ou des outils de bureautique, nous utilisons l'IndexedDB. C'est une véritable base de données intégrée à votre navigateur, capable de stocker des volumes massifs de données structurées, permettant aux applications web modernes de fonctionner presque comme des logiciels installés sur votre ordinateur.

Conclusion

Voilà, nous avons fait le tour de la question. Les cookies, ces petits fichiers textes si banals, sont en réalité les piliers invisibles de notre expérience sur le web moderne. Sans eux, Internet serait un lieu chaotique où il faudrait se reconnecter à chaque page, où les paniers d'achat se videraient spontanément et où chaque visite serait une première rencontre froide et impersonnelle. Ils sont le ciment qui permet au web d'être interactif et, dans une certaine mesure, intelligent.

Cependant, comme tout outil puissant, ils s'accompagnent d'une responsabilité éthique et de risques pour la vie privée. La frontière entre le « service utile » et le « flicage numérique » est mince, et c'est là que la législation comme le RGPD et la vigilance des utilisateurs deviennent cruciales. Nous sommes actuellement à un tournant : l'ère du cookie tiers sauvage touche à sa fin, poussée par les géants de la Tech et les exigences de confidentialité. L'avenir s'annonce vers un web plus respectueux, basé sur la confiance et le consentement, plutôt que sur la traque à l'insu de l'utilisateur.

En tant qu'internaute, vous avez désormais les clés en main. Vous savez comment ils fonctionnent, comment vous protéger et pourquoi cette bannière « Tout accepter » ne doit pas être un réflexe automatique. La prochaine fois qu'elle apparaîtra, prenez une seconde pour réfléchir. Le web est un terrain de jeu immense, et c'est à vous de décider si vous voulez y laisser des empreintes ou juste passer incognito. Et maintenant, si vous voulez bien m'excuser, j'ai une session de jeu qui m'attend, mais rassurez-vous, mes cookies sont bien gardés.

As-tu aimé cet article ?
code-master
Lucas Thibot @code-master

Je code depuis mes 12 ans, quand j'ai découvert Python en voulant tricher sur Minecraft. Aujourd'hui développeur full-stack à Lille dans une boîte de e-commerce, je garde mon âme de bidouilleur. Le soir, j'alterne entre mes side-projects GitHub et des sessions gaming avec mes potes de Discord. Mon bureau est un bordel organisé : trois écrans, un clavier mécanique bruyant, et des figurines de jeux vidéo qui servent de rubber ducks pour le debugging.

3 articles 0 abonnés

Commentaires (0)

Connexion pour laisser un commentaire.

Chargement des commentaires...