realfp.com

Qu’est-ce que la langue du navigateur ?

À l’ère numérique, la protection de la vie privée est devenue une préoccupation majeure pour un nombre croissant de personnes. Lorsque nous parlons d’empreinte de navigateur, nous pensons généralement à des techniques telles que l’empreinte Canvas, l’empreinte WebGL ou l’empreinte audio. Pourtant, une dimension d’information apparemment anodine peut elle aussi être utilisée pour identifier un appareil : vos paramètres linguistiques.



Langues préférées : les préférences linguistiques dans le navigateur

Les paramètres linguistiques du navigateur ne sont pas qu’une simple option d’affichage. Lorsque vous ouvrez les préférences linguistiques de votre navigateur, vous voyez généralement une liste de langues classées par ordre de priorité. Par exemple, vous pouvez définir l’anglais (États-Unis) comme langue préférée, puis l’anglais, le français, le portugais, etc.



Cette liste de langues ne sert pas uniquement à déterminer la langue d’affichage de l’interface du navigateur. Lorsque vous visitez un site web, ces informations de préférence linguistique sont incluses dans la requête HTTP et envoyées au serveur. Un site peut obtenir la liste des langues préférées du navigateur de l’utilisateur à l’aide d’un simple script JavaScript. Cela signifie qu’à chaque fois que vous consultez une page web, vos préférences linguistiques « révèlent » au site certaines informations vous concernant.



Langue dans les en-têtes de requête : Accept-Language dans les requêtes HTTP

Dans les en-têtes de requête HTTP, un champ nommé Accept-Language contient les informations détaillées sur les langues préférées du navigateur de l’utilisateur. Le format de ce champ ressemble généralement à ceci :



Accept-Language: en-US, en;q=0.9, fr-FR;q=0.8, fr;q=0.7



Voyons ce que signifie ce code :



en-US : indique que la langue préférée est l’anglais américain, avec la priorité la plus élevée.



en;q=0.9 : si l’anglais américain n’est pas disponible, l’anglais (générique) est acceptable, mais avec une priorité légèrement inférieure, pondérée à 0,9.



fr-FR;q=0.8 : le français de France est acceptable, avec une pondération de 0,8.



fr;q=0.7 : toute variante du français est acceptable, avec la priorité la plus faible, soit 0,7.



La valeur de pondération varie de 0 à 1 : plus elle est élevée, plus la préférence de l’utilisateur pour cette langue est forte. En analysant ce champ, les sites web peuvent comprendre les préférences linguistiques de l’utilisateur et proposer de manière ciblée le contenu de la page dans la langue appropriée, afin de lui permettre de parcourir et de comprendre le site plus facilement.



Pour prendre une analogie : Accept-Language est comme un menu que vous remettez au serveur dans un restaurant : il indique clairement ce que vous voulez et dans quel ordre de priorité. Le serveur est alors comme un chef qui prépare, selon votre « menu », le « plat » le plus adapté pour vous (c’est-à-dire le contenu localisé).



Internationalization API : une prise en charge plus fine de la localisation

En plus du champ linguistique présent dans les en-têtes de requête HTTP, le navigateur fournit également un ensemble d’interfaces JavaScript appelé Internationalization API (API d’internationalisation). Cette API a pour objectif d’aider les développeurs à internationaliser les sites web, c’est-à-dire à afficher les dates, les heures, les nombres dans des formats adaptés aux paramètres linguistiques et régionaux de l’utilisateur, ainsi qu’à fournir des traductions de chaînes localisées, entre autres fonctionnalités.



Lorsqu’un utilisateur ouvre un site web, celui-ci peut utiliser l’Internationalization API pour obtenir les préférences linguistiques définies dans le navigateur. Par exemple, si la langue du navigateur de l’utilisateur est définie sur l’anglais, la chaîne renvoyée par l’API peut être "en" ou "en-US".



Un cas d’utilisation typique est celui des plateformes de réseaux sociaux. Lorsque des utilisateurs du monde entier accèdent au même site social, celui-ci utilise l’Internationalization API pour détecter leurs préférences linguistiques et afficher automatiquement une interface dans une langue qui leur est familière, plutôt que dans une langue qu’ils ne connaissent pas. Cette expérience localisée améliore considérablement l’utilisabilité du produit et la satisfaction des utilisateurs.



Comment les informations linguistiques participent-elles à l’empreinte numérique ?

Prises isolément, les informations linguistiques ne semblent pas avoir un fort pouvoir d’identification : après tout, des millions d’utilisateurs dans le monde définissent l’anglais comme langue préférée. Toutefois, lorsque ces informations sont combinées à d’autres données d’empreinte (comme l’empreinte Canvas, l’empreinte WebGL, l’empreinte audio, la résolution d’écran, le fuseau horaire, etc.), la situation devient tout à fait différente.



Les combinaisons de préférences linguistiques sont extrêmement variées : elles incluent non seulement le type de langue préférée, mais aussi l’ordre des langues alternatives, la valeur de pondération de chaque langue, ainsi que les paramètres régionaux précis obtenus via l’Internationalization API. Ensemble, ces paramètres constituent une « empreinte linguistique » relativement unique.



Plus important encore, les paramètres linguistiques présentent souvent une grande stabilité : les utilisateurs ordinaires modifient rarement fréquemment les préférences linguistiques de leur navigateur. Cela signifie qu’une fois qu’un site a enregistré votre combinaison d’empreinte linguistique, il peut utiliser cette information lors de visites ultérieures pour contribuer à identifier votre appareil, même si vous avez supprimé les cookies ou changé d’adresse IP.



Comment protéger votre empreinte linguistique ?

Si vous souhaitez réduire le risque que vos informations linguistiques soient utilisées pour le suivi par empreinte numérique, vous pouvez envisager les méthodes suivantes :



1. Utiliser un navigateur axé sur la confidentialité : les navigateurs privilégiant la confidentialité, comme Tor Browser, standardisent ou randomisent les en-têtes de requête liés à la langue, afin de réduire les différences entre les appareils.



2. Utiliser des extensions de navigateur : certaines extensions de protection de la vie privée (comme Privacy Badger, uBlock Origin, etc.) peuvent modifier ou limiter les informations linguistiques présentes dans les en-têtes de requête HTTP.



3. Utiliser un navigateur anti-fingerprint : les navigateurs anti-détection professionnels permettent aux utilisateurs de personnaliser et de falsifier les paramètres liés à la langue. En les « remplaçant » plutôt qu’en les « désactivant », ils amènent les sites web à vous considérer comme un utilisateur ordinaire ayant des préférences linguistiques différentes.



Conclusion

Les informations linguistiques — qu’il s’agisse du champ Accept-Language dans les en-têtes de requête HTTP ou des préférences linguistiques fournies par l’Internationalization API — n’ont pas été conçues à l’origine pour suivre les utilisateurs. Les sites web ont d’abord adopté ces technologies afin d’offrir une meilleure expérience utilisateur et de répondre aux besoins des utilisateurs de différentes régions du monde.



Cependant, dans le cadre plus large de l’empreinte de navigateur, ces données de préférences linguistiques apparemment anodines peuvent elles aussi être collectées et exploitées, puis combinées à d’autres techniques d’empreinte pour construire un identifiant utilisateur plus précis. Comprendre ce mécanisme est la première étape pour protéger sa vie privée.