Lire une chaîne user-agent
Un user-agent juxtapose des jetons « nom/version » et des commentaires entre parenthèses. Celui de Chrome sous Windows ressemble à ceci :
Mozilla/5.0(Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/129.0.0.0 Safari/537.36Chaque navigateur reprend les jetons de ceux qui l'ont précédé pour ne pas être écarté par un site : Chrome se dit aussi « Safari », Edge et Opera se disent « Chrome », puis ajoutent leur propre jeton à la fin (Edg/, OPR/). L'ordre de lecture compte donc : l'outil cherche d'abord les jetons les plus précis, puis remonte vers les plus génériques. Brave, lui, envoie exactement la chaîne de Chrome et ne peut pas en être distingué.
Trois exemples
Chrome 129 sous Windows 10 ou 11, moteur Blink, sur un ordinateur. Les trois zéros de la version ne sont pas les vrais numéros : Chrome ne les envoie plus.
Safari 18 sur un Mac, moteur WebKit. Le numéro de version est dans Version/, pas dans Safari/. Le 10_15_7 est figé : le Mac tourne sans doute sur une version bien plus récente de macOS.
Chrome sur un téléphone Android. « Android 10 » et le modèle « K » sont des valeurs de remplacement : ni la version d'Android ni le téléphone ne sont connus.
Repérer les robots
Les robots des moteurs de recherche, des réseaux sociaux et des services d'intelligence artificielle s'annoncent par un jeton qui leur est propre : Googlebot, bingbot, Applebot, facebookexternalhit pour les aperçus de liens, GPTBot ou ClaudeBot pour les robots d'IA. L'outil en reconnaît une trentaine, ainsi que les clients en ligne de commande (curl, Wget) et les bibliothèques HTTP courantes. Un nom qui finit par « bot », « crawler » ou « spider » est signalé comme robot non identifié.
Googlebot pour smartphone se présente comme un Chrome sous Android, avec un modèle de téléphone, puis ajoute (compatible; Googlebot/2.1; …) : l'outil le classe comme robot, pas comme mobile.
Les user-agents réduits et les Client Hints
Pour limiter le pistage, Chrome et les navigateurs construits sur Chromium (Edge, Opera, Samsung Internet) ont réduit leur user-agent. Plusieurs informations y sont désormais figées :
- la version du navigateur, réduite au numéro principal suivi de 0.0.0 ;
- Windows NT 10.0 pour Windows 10 comme pour Windows 11 ;
- Mac OS X 10_15_7, quelle que soit la version de macOS, chez Safari comme chez Chrome ;
- Android 10 et le modèle K sur téléphone et tablette.
Les vraies valeurs passent par les Client Hints : le site les demande explicitement, et le navigateur les fournit dans des en-têtes séparés ou à un script de la page. Tous les navigateurs ne les proposent pas : quand le vôtre les fournit, l'outil les affiche sous les résultats. Ils sont lus sur place et ne quittent pas votre appareil.
Autre cas : depuis iPadOS 13, Safari sur iPad demande par défaut la version ordinateur des sites et envoie un user-agent de Mac. Rien dans la chaîne ne distingue alors l'iPad d'un Mac.
Une chaîne déclarative, pas une preuve
N'importe quel programme peut envoyer n'importe quel user-agent, y compris celui de Googlebot pour contourner un blocage. Pour s'assurer qu'une visite vient vraiment d'un moteur de recherche, Google et Microsoft indiquent de vérifier l'adresse IP par une recherche DNS inverse, puis directe. Le user-agent sert aux statistiques et à l'affichage, jamais à la sécurité.
Questions fréquentes
Qu'est-ce qu'un user-agent ?
Une chaîne de texte que le navigateur envoie avec chaque requête, dans l'en-tête User-Agent, pour se présenter : nom et version du navigateur, moteur, système. Les sites s'en servent pour leurs statistiques ou pour adapter une page.
Pourquoi tous les navigateurs commencent-ils par Mozilla/5.0 ?
Par héritage : dans les années 1990, des sites réservaient certaines pages à Netscape, qui s'annonçait « Mozilla ». Les autres navigateurs ont repris le mot pour ne pas être écartés, et il est resté.
Mon user-agent est-il envoyé quand j'utilise cet outil ?
Votre navigateur l'envoie à chaque site que vous visitez, comme à chaque page de lycos.fr. Mais l'analyse elle-même se fait dans votre navigateur : la chaîne collée et le résultat ne sont envoyés nulle part.
Pourquoi l'outil affiche-t-il Windows 10 ou 11 ?
Parce que les deux envoient la même mention, Windows NT 10.0. Dans Chrome, Edge ou Opera, les Client Hints donnent la version du système : 13 ou plus signale Windows 11, selon la documentation de Microsoft. L'outil les affiche quand votre navigateur les fournit.
Peut-on changer son user-agent ?
Oui : les outils de développement des navigateurs et de nombreuses extensions permettent d'en envoyer un autre. C'est utile pour tester un site, et c'est aussi pourquoi un user-agent ne prouve rien.
Une erreur ? Signalez-la, nous la corrigeons.