Une classe php complète pour la détection du navigateur
Posté par jbj le 22 mar 2008 dans PHP • 3 commentairesEn développement web, détecter le navigateur et le système d’exploitation utilisé par le client est une opération courante, à tel point que l’on trouve sur le net un nombre impressionnant de fonctions écrites en divers langages pour faciliter cette opération. Seulement, le problème de ces fonctions est qu’elles se contentent la plupart du temps de ne détecter les deux navigateurs les plus répandus, Internet explorer et Mozilla.
Grâce à browser.php, une classe écrite par Gary White, il est possible de détecter la quasi totalité des navigateurs disponibles à l’heure actuelle.
Fonctionnalités
Browser.php est capable de détecter:
Systèmes d’exploitation:
- Windows
- Mac
- Linux
Navigateurs:
- Amaya
- Firefox
- Galeon
- iCab
- Internet Explorer
- Konqueror
- Lynx
- Mozilla
- Netscape Navigator/Communicator
- OmniWeb
- Opera
- Pocket Internet Explorer for handhelds
- Safari
- WebTV
Utilisation
L’utilisation de browser.php ne pose aucune difficulté particulière. Voici un exemple d’utilisation:
require_once('browser.php'); //Inclus le fichier source de la classe
$browser = new Browser; //Création d'une instance de la classe
$platform = $browser->Platform; //Récupération des informations
$name = $browser->Name;
$version = $browser->Version;
echo "OS: ".$platform; //Affichage des variables contenant les informations à l'écran
echo "Navigateur: ".$name;
echo "Version: ".$version;
Ce qui donnera à l’écran, par exemple:
OS: MacIntosh Navigateur: Firefox Version: 2.0.0.12
Visualisation et téléchargement
Vous pouvez voir le code source de browser.php sur cette page, qui comporte également le lien pour télécharger le fichier.







Pas mal ! Mais pour ca, PhpMyVisites est plus complet : il détaille la version (XP, Vista, Mac OS X 10.4/10.5, mais pas pour Linux….) ainsi que les navigateurs (liste plus complète que celle ci, mais je déplore toujours l’absence de Flock!). Par contre il ne détaille pas la version exacte (sauf pour Safari), il dit juste 2.0 ou 3.0 pour Firefox (par exemple… Même si je ne sais pas pour la V3!)
L’avantage, c’est que c’est moins gourmand en ressources serveurs, et ne demande pas de BDD…
Ah, c’est pour les stats, je me demandais qu’elle pouvait être l’utilité!
Moi je cherchais un truc de ce genre pour pouvoir utiliser du svg dans ma page xhtml, en lieu et place d’horribles tableaux, des spacer, des shape, des map et des area que je vais laisser à MSIE lol