// ------------------------------------------------------------------------- //
// IBDInfosNavigateur - Script d'analyse du user-agent                       //
// ------------------------------------------------------------------------- //
// Copyright (C) 2009-2010  Matthieu SARTER    //
//                     http://matthieu.sarter.fr/php                         //
// ------------------------------------------------------------------------- //
//               Infobidouille                //
// ------------------------------------------------------------------------- //
//                                 LISEZ-MOI                                 //
// ------------------------------------------------------------------------- //


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 script appelant.


ANALYSER UN USER-AGENT
----------------------
Pour analyser un user-agent, incluez le fichier "src/navigateur.cls.php" dans
votre script PHP puis appellez le constructeur de la classe IBDInfosNavigateur
avec la chaîne user-agent en paramètre (ou true pour récuperer 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 réappeller 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).


REMARQUES DIVERSES
------------------
- Vous pouvez mettre à jour la base des navigateurs en récupérant les fichiers
  browscap pour PHP sur http://browsers.garykeith.com/downloads.asp
- Le cache des agents semble n'offrir un gain de performances que lorsque
  plusieurs traitements successifs sont effectués. Il est donc désactivé par
  défaut.


PERFORMANCES
------------
Voici les performances obtenues sur un serveur Core 2 Quad Q8300 2.5 GHz, 4 Go
de RAM, HDD 7200 RPM, Linux 2.6, Apache 2.2.12, PHP 5.2.10 :
 * 100*init base complète avec cache : 1.423
 * 100*init base lite avec cache : 0.848
 * 100*init base complète sans cache : 6.710
 * 100*init base lite sans cache : 3.574
 * 1000 agents à la suite, base complète, sans cache : 7.695
 * 1000 agents séparément, base complète, sans cache : 24.194
 * 1000 agents à la suite, base lite, sans cache : 4.881
 * 1000 agents séparément, base lite, sans cache : 14.684
 * 1000 agents à la suite, base complète, avec cache (passe 2) : 0.0226
 * 1000 agents séparément, base complète, avec cache (passe 2) : 28.975
 * 1000 agents à la suite, base lite, avec cache (passe 2) : 0.0245
 * 1000 agents séparément, base lite, avec cache (passe 2) : 19.635