Page 1 sur 2

Le navigateur

Posté : 04 août 2012, 17:55
par rimie
Bonjour,

Je recupere les informations des utilisateurs, pour des raisons statistiques, je recois ca:

Code : Tout sélectionner

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) RockMelt/0.16.91.483 Chrome/16.0.912.77 Safari/535.7
Quel est l'editeur utilise ici: RockMelt, Chrome ou bien Safari

Merci a vous

Re: Le navigateur

Posté : 05 août 2012, 00:11
par Berzemus
Je penche pour RockMelt: c'est le seul inconnu du lot, et le seul qui aurait un intérêt à intégrer les autres. Je ne vois pas mozilla ou google intégrer RockMelt dans leur UA.

Re: Le navigateur

Posté : 05 août 2012, 15:58
par rimie
dans ce cas si j'ai 2 a 3 nom de navigateurs comme l'exemple ci-dessus, comment puis je assurer une bonne maitrise de mes statistiques avec preg_match + le nom du navigateur

Re: Le navigateur

Posté : 05 août 2012, 17:19
par Berzemus
Si tu veux prévoir tous les cas, des sites répertorient les UA:
http://www.useragentstring.com/pages/us ... string.php

Il n'y a plus qu'à prévoir une place pour chaque bot, navigateur (mobile, console, ...) , vérificateur de liens, client email, validateur, bibliothèque et autre outil naviguant sur internet.

Ou base-toi uniquement sur les navigateurs les plus répandus, ceux que tu désires suivre, et classe le reste sous "autre".

Re: Le navigateur

Posté : 06 août 2012, 03:26
par rimie
Voila j'ai presque 335 useragent dans ma table:
Showing rows 0 - 29 (335 total, Query took 0.0050 sec)
dans le cas precedent, il est mentionne 3 navigateurs, comment puis je savoir lequel etait utilise?

Re: Le navigateur

Posté : 06 août 2012, 11:30
par Berzemus
Il en mentionne 3 pour le UA précédent ? Lesquels ? Comment est-ce que ton script arrive à 3 solutions ? Il n'y a que rockmelt pour mentionner rockmelt dans son UA.

Il faut comparer l'entièreté du UA, pas des petits bouts (sinon, c'est clair que le cas spécifique ici va valider safari, rockmelt et chrome, puisqu'ils en font partie).

Re: Le navigateur

Posté : 07 août 2012, 10:03
par rimie
Voici mon petit bout de code:
<?php
//$browser = $_SERVER['HTTP_USER_AGENT'].'<br>';
if (preg_match('#MSIE#', $_SERVER['HTTP_USER_AGENT'])) 
{
	$browser = 'Internet Explorer';
}
elseif (preg_match('#Firefox#', $_SERVER['HTTP_USER_AGENT']))
{
	$browser = 'Firefox';
}
elseif (preg_match('#Opera#', $_SERVER['HTTP_USER_AGENT']))
{
	$browser = 'Opera';
}
elseif (preg_match('#Safari#', $_SERVER['HTTP_USER_AGENT']))
{
	$browser = 'Safari';
}
elseif (preg_match('#Netscape#', $_SERVER['HTTP_USER_AGENT']))
{
	$browser = 'Netscape';
}
else
{
	$browser = 'Unknown';
}

?>
pour l'exemple ci-dessus, il me retourne Safari, alors que c'est Rockmelt qui a ete utilise

Re: Le navigateur

Posté : 07 août 2012, 10:24
par Ryle
Actuellement ton code regarde si le user agent contient la chaine "MSIE". Si oui, il s'arrête et ne va pas plus loin. Sinon, il test alors la présence de la chaine "Firefox" et s'il la trouve, là encore il s'arrête. Dans ton cas il trouve Safari en premier, et il n'a aucune raison d'aller plus loin pour te dire qu'il ne connait pas Rockmelt puisqu'il a trouvé un résultat.

Si tu veux quelque chose de précis, comme te l'a dit Berzemus, il te faut comparer entièrement le User Agent envoyé par le navigateur/utilisateur et pas regarder si un bout de celui-ci correspond à quelque chose que tu connais...

A défaut, il faut ordonner tes test du plus fin au plus large, voire de celui que tu veux comptabiliser en priorité. Si Rockmelt se présente comme Rockmelt/Safari/Chrome et puisque les 2 autres ne mentionnent par Rockmelt, il faut d'abord tester s'il s'agit de ce dernier avant de l'exclure et de vérifier s'il s'agit de Safari ou Chrome.

A noter que si c'est pour effectuer des stats sur tes visiteurs, il y a des outils particulièrement adaptés tels qu'AWStats qui peuvent analyser le fichier de log apache pour te dire quels navigateurs, quels os, l'origine des visites, ... Tu as également la solution adwords de google qui permet un suivi du trafic (je ne sais plus s'il y a les navigateurs, mais il me semble)

Re: Le navigateur

Posté : 07 août 2012, 11:45
par rimie
A noter que si c'est pour effectuer des stats sur tes visiteurs, il y a des outils particulièrement adaptés tels qu'AWStats qui peuvent analyser le fichier de log apache pour te dire quels navigateurs, quels os, l'origine des visites, ... Tu as également la solution adwords de google qui permet un suivi du trafic (je ne sais plus s'il y a les navigateurs, mais il me semble)
C'est quoi le nom du log: access.log? sachant que j'ai la main sur le serveur

Re: Le navigateur

Posté : 07 août 2012, 11:49
par Mazarini
Les fichiers de log sont définis dans le paramétrage d'apache ainsi que le format.

Re: Le navigateur

Posté : 07 août 2012, 11:54
par rimie
celui-ci avec chromium:

Code : Tout sélectionner

127.0.0.1 - - [07/Aug/2012:10:52:58 +0100] "GET /favicon.ico HTTP/1.1" 404 430 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/12.04 Chromium/18.0.1025.168 Chrome/18.0.1025.168 Safari/535.19"

Re: Le navigateur

Posté : 07 août 2012, 13:54
par Mazarini
Tout simplement : http://php.net/manual/fr/function.get-browser.php ?

Ca donne ce genre de chose :

Code : Tout sélectionner

Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [cssversion] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => )
Edit : Il y a un fichier à télécharger qui semble mis à jour (cf lien dans la doc : http://browsers.garykeith.com/downloads.asp)

Re: Le navigateur

Posté : 08 août 2012, 03:30
par rimie
et cette fonction est elle sure des resultats, je vois qu'on doit toujours utiliser un preg_match

Re: Le navigateur

Posté : 08 août 2012, 06:57
par xTG
Il existe des librairies ou des webservices si tu veux un truc à jour.
C'est pas ce qui manque les scrips de stats.

Re: Le navigateur

Posté : 08 août 2012, 09:00
par Mazarini
et cette fonction est elle sure des resultats, je vois qu'on doit toujours utiliser un preg_match
A priori, cette fonction est mieux que ce que peut faire quelqu'un seul dans son coin. Le fichier de paramétrage semble maintenu, la version disponible est récente. La mise à jour est certainement le problème crucial puisqu'il faut régulièrement se tenir au courant des évolutions et de leur implication.
Vu la charge de travail pour cette mise à jour, je préfère me reposer sur un travail collectif, surtout que je ne pense pas qu'il y ait un grand intérêt à suivre les navigateurs utilisés par les visiteurs à par de la curiosité. De manière général, je préfère utilisé une application de statistique.