Ce qu'est la chaîne user agent
Chaque requête de votre navigateur porte un en-tête User-Agent : une ligne de texte qui indique au serveur quel logiciel fait la demande. Les sites s'en servent pour fournir la bonne version d'une page, décider si une fonctionnalité peut être utilisée sans risque, bloquer les vieux navigateurs aux failles de sécurité connues et savoir quels navigateurs utilisent leurs visiteurs. Les moteurs de recherche et les robots d'IA s'annoncent eux aussi par ce biais, et c'est pourquoi la notion de « user agent » revient quand on rédige un fichier robots.txt.
Plus haut, vous voyez le vôtre exactement tel qu'il est arrivé, puis la même chaîne découpée en navigateur, moteur de rendu, système d'exploitation et type d'appareil. Nous classons aussi le client : navigateur web ordinaire, robot de moteur de recherche comme Googlebot, robot d'IA comme GPTBot ou ClaudeBot, assistant d'IA qui récupère une page pour un utilisateur, robot d'aperçu de liens, outil en ligne de commande ou bibliothèque HTTP.
Mode d'emploi
- Ouvrez la page dans le navigateur, sur l'appareil ou dans la session automatisée à vérifier. La ligne du haut est l'en-tête
User-Agenttel que notre serveur l'a reçu avec cette requête. - Cliquez sur Copier le user agent pour copier la chaîne exacte, sans rien couper ni retaper.
- Lisez Analyse de l'en-tête : le navigateur, le moteur, le système d'exploitation, l'appareil, le processeur et le type de client extraits de cette chaîne.
- Comparez avec Ce que rapporte JavaScript. Quand
navigator.userAgentcorrespond à l'en-tête, la ligne l'indique ; quand il diffère, la valeur JavaScript est affichée en entier. Les lignes Client Hints ne se remplissent que dans les navigateurs Chromium en HTTPS. - Lisez Est-ce cohérent ? Ce cadre compare l'en-tête à JavaScript et le système d'exploitation à la plateforme des Client Hints, et vérifie si l'indicateur d'automatisation est activé.
Quand vous testez un remplacement dans les outils de développement, rechargez la page après la modification pour que l'en-tête soit renvoyé, puis regardez quelles lignes ont bougé et lesquelles décrivent encore votre vrai navigateur.
Cas d'usage
- Rédiger un rapport de bug. Collez la chaîne copiée pour que le développeur voie le navigateur, la version et la plateforme exacts, au lieu d'un vague dernier Chrome sous Windows.
- Tester une extension qui change le User-Agent. Activez l'extension et rechargez. Si Est-ce cohérent ? signale un désaccord entre l'en-tête et JavaScript ou les Client Hints, les sites peuvent eux aussi percer le déguisement.
- Contrôler un navigateur automatisé. Ouvrez la page depuis une session Selenium ou Playwright pour voir la chaîne qu'elle envoie réellement et si elle se trahit par
navigator.webdriver. - Comprendre pourquoi un iPad reçoit la version ordinateur. Safari sur iPadOS demande par défaut la version ordinateur des sites et envoie un User-Agent de Mac : le système d'exploitation analysé indique donc macOS. Désactiver Demander le site web pour ordinateur dans les réglages de Safari rétablit la chaîne de tablette.
- Écrire une règle côté serveur. Avant de cibler des navigateurs dans une redirection, une règle de pare-feu ou un filtre de statistiques, recueillez de vraies chaînes envoyées par les navigateurs qui vous intéressent et testez votre motif sur elles.
Lire une chaîne user agent
Voici à quoi ressemble une chaîne Chrome classique sur ordinateur :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Mozilla/5.0: un jeton de compatibilité que tous les navigateurs modernes envoient. Il n'a rien à voir avec Firefox.(Windows NT 10.0; Win64; x64): la plateforme, c'est-à-dire le système d'exploitation et l'architecture du processeur. Windows 11 annonce toujours10.0.AppleWebKit/537.36 (KHTML, like Gecko): encore de l'histoire de compatibilité ; le moteur Blink de Chrome est un fork de WebKit, lui-même issu de KHTML.Chrome/141.0.0.0: le vrai navigateur et sa version majeure. Les zéros sont voulus : Chrome masque la version mineure.Safari/537.36: un jeton de compatibilité de plus.
Firefox utilise Gecko/20100101 Firefox/141.0, Safari se termine par Version/18.0 Safari/605.1.15, et Edge ajoute Edg/141.0.0.0 à la chaîne de Chrome. Les navigateurs mobiles ajoutent Mobile, et sur iPhone, presque tous les navigateurs s'identifient en réalité comme Safari, car ils reposent sur WebKit, le moteur d'Apple (hors de l'UE, iOS l'impose).
Client Hints : le successeur du user agent
Les navigateurs Chromium (Chrome, Edge, Opera, Brave, Samsung Internet) ont figé l'essentiel de la chaîne classique et déplacé les détails vers les User-Agent Client Hints. Par défaut, ils envoient trois petits en-têtes, Sec-CH-UA avec les marques et les versions majeures, Sec-CH-UA-Mobile et Sec-CH-UA-Platform, et un site peut en demander davantage, comme la version complète, l'architecture du processeur ou le modèle du téléphone. Les pages peuvent lire les mêmes données via navigator.userAgentData. Firefox et Safari n'implémentent pas les Client Hints. Les Client Hints ne sont disponibles que sur les pages HTTPS.
Changer de user agent
Dans tous les navigateurs, les outils de développement peuvent remplacer le User-Agent pour des tests, et des extensions peuvent le faire en permanence. C'est pratique pour voir comment un site se comporte sur un autre appareil, mais c'est un piètre outil de protection de la vie privée. Changer l'en-tête ne change ni navigator.userAgentData, ni la négociation TLS, ni la liste des polices, ni la façon dont votre navigateur dessine un canvas : le déguisement contredit donc tout le reste. Le cadre Est-ce cohérent ? ci-dessus fait les mêmes comparaisons qu'un script de détection de bots : en-tête contre JavaScript, et User-Agent contre Client Hints.
Vérifier le user agent d'un script ou d'un outil
Les outils en ligne de commande et les bibliothèques envoient leur propre user agent (curl/8.x, python-requests/2.x, Go-http-client/1.1), et beaucoup de sites les bloquent par défaut. Pour voir exactement ce qu'envoie votre outil, faites-lui interroger notre point d'accès depuis la même machine :
curl "iseeu.cc/ua?format=text"
curl iseeu.cc/ua # analysé, en JSON
python -c "import requests; print(requests.get('https://iseeu.cc/ua').json())"
Les agents d'IA peuvent appeler l'outil parse_ua de notre serveur MCP pour analyser n'importe quelle chaîne user agent, y compris celles des robots qu'ils trouvent dans des journaux.
Questions fréquentes
Qu'est-ce qu'un user agent ?
Le user agent (agent utilisateur) est le programme qui envoie une requête web pour votre compte, en général votre navigateur. Son en-tête User-Agent est une ligne de texte qui indique le navigateur, sa version, le moteur de rendu et le système d'exploitation.
Pourquoi tous les user agents commencent-ils par Mozilla/5.0 ?
Par compatibilité historique. Dans les années 1990, les sites servaient de meilleures pages à Netscape, dont le nom de code était Mozilla ; les autres navigateurs ont donc copié ce préfixe pour les recevoir aussi. Tous les grands navigateurs le conservent encore.
Peut-on changer son user agent ?
Oui. Les outils de développement du navigateur et certaines extensions permettent de le remplacer. Mais les Client Hints, les propriétés JavaScript et la négociation TLS continuent de décrire votre vrai navigateur : un User-Agent modifié se repère donc facilement.
Que sont les User-Agent Client Hints ?
Un mécanisme plus récent des navigateurs Chromium, qui envoie par défaut une marque et une plateforme abrégées, et permet aux sites de demander des détails comme la version exacte, l'architecture ou le modèle de l'appareil.
Pourquoi mon user agent indique-t-il Windows 10 alors que j'ai Windows 11 ?
Les navigateurs figent une partie de la chaîne pour limiter l'empreinte. Chrome annonce Windows NT 10.0 même sous Windows 11, ainsi qu'une version de macOS figée, et remplace les numéros de version mineurs par des zéros.
Comment voir le user agent de curl ou d'un script ?
Lancez curl iseeu.cc/ua?format=text depuis la même machine ou le même outil. La commande affiche l'en-tête User-Agent exactement tel que notre serveur l'a reçu.
L'analyse du user agent repose sur des motifs et peut mal identifier des navigateurs nouveaux ou peu courants. La classification des robots reflète ce qu'un client prétend être ; n'importe qui peut envoyer n'importe quel User-Agent.