Lorsque vous naviguez sur Internet, chaque site que vous visitez reçoit des informations sur votre navigateur et votre appareil. Ces informations sont contenues dans ce que l’on appelle l’User Agent. En PHP, il est possible de récupérer cette information et de l’analyser pour adapter votre site web, améliorer l’expérience utilisateur ou collecter des statistiques.
Dans ce tutoriel, nous allons voir en détail ce qu’est un User Agent, à quoi il sert, comment l’extraire en PHP, et surtout comment le rendre lisible et compréhensible. Nous allons avancer pas à pas, avec des exemples clairs et concrets, afin que même un débutant puisse comprendre et utiliser l’User Agent dans ses projets web.
- Qu’est-ce que l’User Agent ?
- À quoi sert l’User Agent ?
- Les avantages de récupérer l’User Agent en PHP
- Comment extraire l’User Agent en PHP ?
- Comment lire et comprendre un User Agent ?
- Les valeurs fréquentes d’un User Agent
- Transformer l’User Agent en version lisible
- Conseils pratiques pour utiliser l’User Agent
- Tableau des User Agents courants
- Détection avancée : tablettes et smartphones
Qu’est-ce que l’User Agent ?
L’User Agent, souvent abrégé UA, est une chaîne de texte transmise par le navigateur ou l’application qui se connecte à un serveur web. Cette chaîne contient des informations sur le logiciel utilisé pour accéder au site (comme Chrome, Firefox ou Safari), le système d’exploitation (Windows, macOS, Linux, Android, iOS) et parfois l’appareil (ordinateur, tablette, smartphone).
En résumé, l’User Agent est une sorte de carte d’identité de votre navigateur. Chaque fois qu’un visiteur ouvre une page de votre site, cette carte est envoyée automatiquement au serveur.
Par exemple, un User Agent peut ressembler à ceci :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
Si vous lisez cette chaîne, vous pouvez déjà identifier plusieurs éléments : le navigateur utilisé, sa version, le moteur de rendu (AppleWebKit), le système d’exploitation (Windows 10), et si l’ordinateur est 32 ou 64 bits.
À quoi sert l’User Agent ?
L’User Agent est extrêmement utile pour plusieurs raisons.
Premièrement, il permet de détecter le navigateur et le système utilisé par le visiteur. Cela peut vous aider à adapter votre site en fonction des capacités du navigateur ou à afficher des messages spécifiques pour les navigateurs obsolètes.
Deuxièmement, il sert à adapter l’affichage à l’appareil. Un smartphone ou une tablette aura des besoins différents d’un ordinateur de bureau. En détectant l’User Agent, vous pouvez servir une version mobile de votre site ou ajuster des éléments CSS pour une meilleure lisibilité.
Troisièmement, l’User Agent est précieux pour la collecte de statistiques. Les informations sur les navigateurs et les systèmes utilisés permettent d’optimiser le développement et de comprendre le comportement des utilisateurs.
Enfin, il peut être utilisé pour sécuriser un site web, par exemple pour détecter des robots, des crawlers ou des tentatives d’accès automatisées. Bien que l’User Agent puisse être falsifié, il reste un premier niveau d’information utile.
Les avantages de récupérer l’User Agent en PHP
En PHP, récupérer l’User Agent offre plusieurs avantages :
- Vous pouvez personnaliser le contenu en fonction du navigateur ou du système. Par exemple, certaines fonctionnalités avancées peuvent être désactivées pour un navigateur ancien.
- Vous pouvez analyser le trafic de votre site pour connaître la répartition des navigateurs et systèmes d’exploitation de vos visiteurs.
- Vous pouvez détecter les robots et crawler pour gérer le référencement ou limiter certains accès.
- Vous pouvez améliorer l’expérience utilisateur, en proposant des interfaces adaptées aux écrans ou navigateurs détectés.
Ces avantages montrent qu’il est important de savoir comment manipuler l’User Agent correctement et de manière sécurisée.
Comment extraire l’User Agent en PHP ?
En PHP, récupérer l’User Agent est très simple grâce à la variable superglobale $_SERVER
. Plus précisément, la clé HTTP_USER_AGENT
contient la chaîne envoyée par le navigateur du visiteur.
Voici un exemple simple :
<?php
$userAgent = $_SERVER['HTTP_USER_AGENT'];
echo "L'User Agent de votre visiteur est : " . $userAgent;
?>
En exécutant ce code sur votre serveur, vous verrez s’afficher la chaîne complète du User Agent de votre navigateur.
Explication :
$_SERVER
est une superglobale en PHP qui contient des informations sur le serveur et la requête.'HTTP_USER_AGENT'
est la clé qui contient exactement ce que le navigateur envoie comme User Agent.
C’est tout ce qu’il faut pour récupérer l’User Agent.
Comment lire et comprendre un User Agent ?
Lire un User Agent peut sembler compliqué, car il s’agit d’une chaîne longue avec beaucoup de détails. Pourtant, elle suit une structure assez logique.
Prenons un exemple :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
Voici comment la lire :

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Mozilla/5.0
: Historiquement, presque tous les navigateurs se déclarent comme Mozilla pour compatibilité.(Windows NT 10.0; Win64; x64)
: Indique le système d’exploitation et l’architecture (64 bits ici).AppleWebKit/537.36
: C’est le moteur de rendu utilisé pour afficher les pages.(KHTML, like Gecko)
: Indique la compatibilité avec Gecko, le moteur de Firefox.Chrome/117.0.0.0
: C’est le navigateur et sa version.Safari/537.36
: Certains navigateurs affichent aussi cette information pour compatibilité.
Ainsi, en analysant chaque partie, vous pouvez identifier l’appareil, le système et le navigateur de l’utilisateur.
Les valeurs fréquentes d’un User Agent
Pour comprendre un User Agent, il est utile de connaître les valeurs que l’on rencontre le plus souvent. Elles se divisent principalement en trois catégories : navigateurs, moteurs de rendu et systèmes d’exploitation.
Navigateurs
Voici quelques navigateurs très répandus et la manière dont ils apparaissent souvent dans un User Agent :
- Chrome :
Chrome/117.0.0.0
- Firefox :
Firefox/116.0
- Edge :
Edg/117.0.2045.43
- Safari :
Safari/605.1.15
- Opera :
OPR/88.0.4412.40
La version suit généralement le nom du navigateur, séparée par un slash.
Moteurs de rendu
Les moteurs de rendu sont les logiciels qui interprètent le HTML, CSS et JS pour afficher la page. Les plus courants sont :
- Blink : utilisé par Chrome et Opera
- Gecko : utilisé par Firefox
- WebKit : utilisé par Safari
- EdgeHTML : utilisé par certaines versions anciennes de Edge
Dans l’User Agent, ils apparaissent souvent sous la forme AppleWebKit/537.36
ou (KHTML, like Gecko)
.
Systèmes d’exploitation
Les systèmes d’exploitation peuvent aussi être identifiés facilement :
- Windows :
Windows NT 10.0
,Windows NT 6.1
- macOS :
Macintosh; Intel Mac OS X 13_5_1
- Linux :
X11; Linux x86_64
- Android :
Android 13
- iOS :
iPhone; CPU iPhone OS 17_0 like Mac OS X
La chaîne du système d’exploitation est généralement contenue dans la parenthèse après le Mozilla/5.0
.
Transformer l’User Agent en version lisible
Lire un User Agent brut peut être fastidieux. Pour simplifier, nous pouvons écrire un script PHP qui transforme cette chaîne en informations claires pour un humain.
Voici un exemple complet :
<?php
function parseUserAgent($userAgent) {
$browser = "Inconnu";
$version = "";
$os = "Inconnu";
// Détecter le navigateur
if (preg_match('/Chrome\/([0-9\.]+)/i', $userAgent, $matches)) {
$browser = "Chrome";
$version = $matches[1];
} elseif (preg_match('/Firefox\/([0-9\.]+)/i', $userAgent, $matches)) {
$browser = "Firefox";
$version = $matches[1];
} elseif (preg_match('/Edg\/([0-9\.]+)/i', $userAgent, $matches)) {
$browser = "Edge";
$version = $matches[1];
} elseif (preg_match('/OPR\/([0-9\.]+)/i', $userAgent, $matches)) {
$browser = "Opera";
$version = $matches[1];
} elseif (preg_match('/Safari\/([0-9\.]+)/i', $userAgent, $matches)) {
$browser = "Safari";
$version = $matches[1];
}
// Détecter le système d'exploitation
if (preg_match('/Windows NT 10.0/i', $userAgent)) {
$os = "Windows 10";
} elseif (preg_match('/Windows NT 6.1/i', $userAgent)) {
$os = "Windows 7";
} elseif (preg_match('/Mac OS X ([0-9_]+)/i', $userAgent, $matches)) {
$os = "macOS " . str_replace('_', '.', $matches[1]);
} elseif (preg_match('/Android ([0-9\.]+)/i', $userAgent, $matches)) {
$os = "Android " . $matches[1];
} elseif (preg_match('/iPhone OS ([0-9_]+)/i', $userAgent, $matches)) {
$os = "iOS " . str_replace('_', '.', $matches[1]);
} elseif (preg_match('/Linux/i', $userAgent)) {
$os = "Linux";
}
return [
"Navigateur" => $browser,
"Version" => $version,
"Système" => $os
];
}
// Exemple d'utilisation
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$info = parseUserAgent($userAgent);
echo "Navigateur : " . $info['Navigateur'] . "<br>";
echo "Version : " . $info['Version'] . "<br>";
echo "Système : " . $info['Système'] . "<br>";
?>
Explications détaillées :
- La fonction
parseUserAgent
prend la chaîne brute en paramètre. - Des expressions régulières (
preg_match
) détectent les navigateurs les plus courants et extraient leur version. - D’autres expressions régulières détectent le système d’exploitation et le formatent pour qu’il soit lisible.
- La fonction retourne un tableau associatif avec le navigateur, la version et le système d’exploitation.
- Enfin, nous affichons ces informations de manière claire pour l’utilisateur ou pour le développeur.
Conseils pratiques pour utiliser l’User Agent
- Toujours vérifier que la clé
$_SERVER['HTTP_USER_AGENT']
existe avant de l’utiliser, car certains robots ou scripts peuvent ne rien envoyer. - Ne vous fiez pas uniquement à l’User Agent pour la sécurité, car il peut être modifié par un utilisateur malveillant.
- Utilisez cette information pour améliorer l’expérience utilisateur, comme proposer des styles spécifiques ou avertir si le navigateur est trop ancien.
- Pour le SEO, connaître l’User Agent peut aider à comprendre comment Googlebot et d’autres crawlers parcourent votre site.
Tableau des User Agents courants
Pour vous aider à identifier rapidement les navigateurs et systèmes, voici un tableau récapitulatif des User Agents les plus fréquents :
Voici un tableau actualisé des user agents les plus fréquents en septembre 2025, basé sur les parts de marché des navigateurs et les versions les plus courantes observées :
Navigateur | Exemple de User Agent | Système |
---|---|---|
Chrome | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 | Windows 10 |
Chrome | Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36 | Android 13 |
Safari | Mozilla/5.0 (Macintosh; Intel Mac OS X 15_7) AppleWebKit/537.36 (KHTML, like Gecko) Version/18.6 Safari/537.36 | macOS 15.7 |
Edge | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Edg/140.0.3485.81 Safari/537.36 | Windows 10 |
Firefox | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0 | Windows 10 |
Opera | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) OPR/122.0.0.0 Safari/537.36 | Windows 10 |
Samsung Internet | Mozilla/5.0 (Linux; Android 13; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/20.0 Chrome/139.0.0.0 Mobile Safari/537.36 | Android 13 |
UC Browser | Mozilla/5.0 (Linux; Android 13; SM-A715F) AppleWebKit/537.36 (KHTML, like Gecko) UCBrowser/18.0.0.0 Mobile Safari/537.36 | Android 13 |
Observations :
- Chrome domine toujours le marché avec plus de 70,5 % de parts de marché globales en septembre 2025 Backlinko.
- Safari reste le navigateur le plus utilisé sur les appareils iOS, avec environ 19,19 % de parts de marché sur mobile Backlinko.
- Edge continue de croître, atteignant environ 4,85 % de parts de marché globales Backlinko.
- Firefox conserve une part de marché stable, bien que plus faible, à environ 2,25 % globalement Backlinko.
Ces user agents reflètent les versions les plus courantes observées en septembre 2025, en accord avec les tendances actuelles du marché.
Détection avancée : tablettes et smartphones
L’User Agent ne sert pas seulement à détecter les navigateurs, il permet aussi d’identifier les types d’appareils. Voici un exemple de code pour détecter si l’utilisateur est sur mobile, tablette ou desktop :
<?php
function detectDevice($userAgent) {
$device = "Ordinateur";
if (preg_match('/iPhone|Android.*Mobile|Windows Phone/i', $userAgent)) {
$device = "Smartphone";
} elseif (preg_match('/iPad|Android(?!.*Mobile)/i', $userAgent)) {
$device = "Tablette";
}
return $device;
}
// Exemple d'utilisation
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$device = detectDevice($userAgent);
echo "Type d'appareil : " . $device;
?>
Ce code permet d’adapter le contenu ou le style de votre site en fonction de l’écran utilisé. Par exemple, vous pourriez afficher un menu simplifié sur smartphone ou un carrousel d’images plus grand sur ordinateur.
Astuces pour rendre la détection dynamique
- Mettre en cache les résultats : Si votre site reçoit beaucoup de visites, détecter l’User Agent à chaque page peut être coûteux. Vous pouvez stocker l’information dans la session ou dans la base de données.
- Mettre à jour régulièrement : Les navigateurs évoluent rapidement. Assurez-vous que votre script prend en compte les nouvelles versions.
- Utiliser des librairies : Pour des besoins avancés, il existe des librairies PHP comme Mobile Detect qui simplifient la détection.
- Ne pas baser toute la logique sur l’User Agent : Il peut être falsifié. Il vaut mieux l’utiliser pour améliorer l’expérience, pas pour sécuriser votre site.
L’User Agent est une information précieuse que tout développeur PHP devrait savoir exploiter. Il vous permet de comprendre qui visite votre site, avec quel navigateur, quel système d’exploitation et sur quel type d’appareil. En le récupérant grâce à $_SERVER['HTTP_USER_AGENT']
, vous pouvez adapter votre site, améliorer l’expérience utilisateur et collecter des statistiques fiables.
Grâce aux techniques que nous avons vues dans ce tutoriel, vous pouvez maintenant transformer un User Agent brut en informations claires et lisibles, détecter les appareils mobiles ou tablettes et préparer votre site pour qu’il soit plus performant et accessible.
N’oubliez pas que l’User Agent ne doit pas être utilisé pour sécuriser des données sensibles, mais plutôt comme un outil d’analyse et d’optimisation. Avec les bonnes pratiques et les scripts que vous avez appris, vous êtes maintenant capable de maîtriser cette information et d’offrir une expérience adaptée à tous vos visiteurs.
L’User Agent est donc bien plus qu’une simple chaîne de texte : c’est une fenêtre sur le monde des navigateurs et des appareils, et savoir l’exploiter vous donnera un avantage certain dans le développement web.