IBDInfosNavigateur

Cette classe PHP permet d’analyser une chaîne user-agent pour en extraire la famille du navigateur, sa version, l’OS utilisé, etc… Elle se base sur le fichier php_browscap.ini.

Elle offre également une fonction compatible avec la fonction get_browser(), qui pourra être utilisée sur les hébergeurs ne maintenant pas à jour la base php_browscap ou ayant désactivé cette fonction.

Licence : GNU GPL version 2

Documentation

Installation

  • décompressez l’archive,
  • copiez le contenu du répertoire src sur votre serveur web à l’emplacement de votre choix.

Configuration

Editez le fichier src/config.inc.php pour modifier les paramètres suivants :

  • $cfgIBDIN[« useCache »] : active ou désactive la mise en cache des structures  de données internes,
  • $cfgIBDIN[« useCacheAgents »] : active ou désactive la mise en cache des  résultats de traitements.

Ces deux paramètres de configuration peuvent également être surchargés depuis le code appelant.

Analyser un user-agent

Pour analyser un user-agent, incluez le fichier src/navigateur.cls.php dans votre code PHP puis appellez le constructeur de la classe IBDInfosNavigateur avec la chaîne user-agent en paramètre (ou true pour récupérer le user-agent courant dans $_SERVER[], ou false pour simplement initialiser une instance de la classe sans réaliser d’analyse).

Pour analyser plusieurs agents successivement, vous pouvez rappeler le constructeur sur la même instance de classe, pour économiser sur les temps d’initialisation.

Vous pouvez également passer un second paramètre pour choisir la base browscap à utiliser (base complète si true, base lite si false).

Le résultat de l’analyse est stocké dans le membre navigateur. Elle contient les mêmes champs que le tableau renvoyé par la fonction PHP get_browser(), à la casse près. La fonction get_browser() de la classe IBDInfosNavigateur permet d’obtenir une réponse identique à celle renvoyée par la fonction PHP get_browser().

L’analyse peut également être faite en incluant le fichier src/navigateur.cls.php et en utilisant la fonction get_browser2() qui se comporte comme la fonction PHP get_browser().

Historique

  • 30/03/2010 :
    • [NEW] purge automatique du cache quand le fichier php_browscap.ini est mis à jour,
    • [NEW] ajout de get_browser2
    • [NEW] le user-agent n’est plus forcé à $_SERVER[« HTTP_USER_AGENT »] si la chaîne passée est vide,
    • [FIX] limitation de la taille de baseCache.dat (cache des agents),
    • [IMPR] le cache des agents n’est plus activé par défaut,
    • [IMPR] amélioration des performances de get_browser,
    • [IMPR] passage en UTF-8,
    • [IMPR] les espaces sont désormais ignorés dans les expressions régulières,
    • [IMPR] mise à jour de php_browscap.ini (v4531).
  • 16/08/2009, première version publique.

À faire

Rien pour l’instant, mais n’hésitez pas à faire des suggestions 🙂

Laisser un commentaire