Chti cadeau : detection temsp réel nouveaux visiteurs
58 messages
• Page 1 sur 4 • 1, 2, 3, 4
-

Zecat - WRInaute accro

- Messages: 11992
- Inscription: 1 Mar 2005
Chti cadeau : detection temsp réel nouveaux visiteurs
Dans un autre topic, on a eu une discussion sur les possibilités ou non possibilités d'une gestion des datas en fichiers sur le serveur plutot qu'en bdd ...
Et comme je viens de me coder un petit truc qui illustre bien la chose, je vous le livre ...
Objet : Identifier en temps réel si un visiteur est nouveau ou pas (plus besoin d'attendre analytics pour connaitre son % de nouvelles visites ...)
Mise en oeuvre : Juste un include a ajouter au debut de chaquepage de votre site
Impact sur votre base données : aucun, nada, nib, quedalle
Impact sur votre serveur : juste un dossier IP_OK avec quelques doc.txt dedans. Pensez à le creer (le code de la routine ne contient pas de is dir ni de mk dir ... ils ont sauté au gré de mes copier couper coller )
Le principe : On maintient a jour une liste des ip visiteuses du site avec pour chaque ip sa date de première visite. cette liste est stockée sous forme de petits blocs (sur les 4 premieres catactères de l'ip). Pour info (puisque vous n'avez pas à vous en préoccuper, le bloc nommé IP_24_1.txt aura un contenu de ce type :
La routine : il vous suffit de créer nv_routine.php sur votre serveur et de coller dedans le code ci-dessous :
puis d'ajouter en debut de chaquepage de votre site un simple appel par include :
En sortie :
1 - la "table" des ip est maintenue a jour
2 - deux variables vous indiquent si le visiteur est nouveau ainsi que sa date de premiere visite.
Note : On peut bien sur faire la meme chose en stockant en bdd mais le propos ici était juste de montrer que c'est tout aussi facile (sans besoin d'aspirine) et performant en fichier .txt (et donc pas besoin d'encombrer une bdd avec ce type d'infos).
Note 2 : comme j'ai fait des copier coller pour l extraire de mon code et des renommages pour rendre la chose plus lisible, il peut trainer quelques bug mineur ou faute de frappe, merci de signaler les erreurs ...
Note 3 : J'ai fait l'impasse sur les flock partant du principe que dans ce contexte ce n'est pas vital du tout et dans le cas (rare) de conflit, de toute façon le visiteur sera mémorisé à la page suivante ...
Note 4 : le choix $nv_deb_ip=$nv_addr[0].$nv_addr[1].$nv_addr[2].$nv_addr[3]; peut surprendre ... j'explique : une vieille habitude du travail dans les bdd ou chaque fois que je le peux je réduis l'utilisation des appels à des commandes et donc au moteur du langage (dans certains langages c'est important, je ne sais pas si cela a un impact en php par rapport a un substr). Idem pour les 3 tests qui suivent au lieu d'un simple str_replace.
A votre disposition si vous avez des questions sur les choix faits ...
Et comme je viens de me coder un petit truc qui illustre bien la chose, je vous le livre ...
Objet : Identifier en temps réel si un visiteur est nouveau ou pas (plus besoin d'attendre analytics pour connaitre son % de nouvelles visites ...)
Mise en oeuvre : Juste un include a ajouter au debut de chaquepage de votre site
Impact sur votre base données : aucun, nada, nib, quedalle
Impact sur votre serveur : juste un dossier IP_OK avec quelques doc.txt dedans. Pensez à le creer (le code de la routine ne contient pas de is dir ni de mk dir ... ils ont sauté au gré de mes copier couper coller )
Le principe : On maintient a jour une liste des ip visiteuses du site avec pour chaque ip sa date de première visite. cette liste est stockée sous forme de petits blocs (sur les 4 premieres catactères de l'ip). Pour info (puisque vous n'avez pas à vous en préoccuper, le bloc nommé IP_24_1.txt aura un contenu de ce type :
- Code: Tout sélectionner
2010_07_11/24.155.12.83/
2010_07_14/24.107.66.174/
2010_07_17/24.139.146.155/
2010_07_22/24.122.245.184/
2010_07_31/24.161.187.65/
2010_07_31/24.196.173.243/
2010_08_03/24.161.99.99/
2010_08_03/24.192.240.80/
2010_08_04/24.13.133.85/
2010_08_08/24.122.17.8/
2010_08_12/24.118.198.193/
2010_08_12/24.141.247.77/
2010_08_13/24.144.245.97/
2010_08_13/24.132.46.191/
2010_08_19/24.183.217.111/
La routine : il vous suffit de créer nv_routine.php sur votre serveur et de coller dedans le code ci-dessous :
- Code: Tout sélectionner
<?
// La routine nv_memo.php est a appeler par un include en tete de chaque page
// juste après avoir fait un start_session. Elle identifie le visiteur et maintient
// à jour la 'table' des IP datée (première apparition). En sortie, elle retourne
// deux infos :
// 1 - si le visiteur est un nouveau ou pas
// 2 - la date de premiere visite
//
// Toutes la variables du script sont préfixées $nv_ ou nv_ pour les variables session
//
// *** Note : pour ceux qui ne veulent pas gérer de sessions, il suffit de mettre $nv_session
// a false ci-dessous
//
// *** Note 2 : le format de date est AAAA_MM_JJ parce que j'en avait besoin par ailleurs sous
// cette forme mais libre a vous d'adopter un autre format. Par contre la position de la date
// devant l'ip dans les fichiers n'est pas innocente : elle permet un accès aisé à la date avec
// $nv_pos-10 quelle que soit la longueur de l'IP.
//
// *** Note 3 : J'ai retenu une longueur de 4 caractères pour le decoupage des fichiers d'IP car
// cela me semble un bon compromis en terme de ratio nb de fichiers / taille unitaire des fichiers.
// Si vous avez une très forte volumétrie de visiteurs, il pourra être opportun de gérer la chose
// avec les 5 premiers caractères (plus de fichiers mais pas de fichier trop gros).
//
// *** Note 4 : J'ai volontairement fait l'impasse sur les flock ... en effet, la nature meme du
// script fait que si sur une page, le hasard fait que ca passe pas, le visiteur a toutes les chances
// d'être correctement mémorisé à la page suivante (acceptable dans ce contexte).
$nv_session=true;
$nv_datejour=date ("Y_m_d");
// ---------- l'ip une premiere fois en debut de session
if ($nv_session)
{
if (isset($_SESSION['nv_addr']) === false)
{
$nv_addr=$_SERVER['REMOTE_ADDR'];
$_SESSION['nv_addr']=$nv_addr;
}
else
{
$nv_addr=$_SESSION['nv_addr'];
}
}
else
{
$nv_addr=$_SERVER['REMOTE_ADDR'];
}
//
// ---------- on ajoute au fichier des IP pour détection des new visitors
//
// on fabrique le nom du fichier (4 premiers car de l'ip)
$nv_deb_ip=$nv_addr[0].$nv_addr[1].$nv_addr[2].$nv_addr[3];
if ($nv_deb_ip[1] == ".")
{
$nv_deb_ip[1]="_";
}
if ($nv_deb_ip[2] == ".")
{
$nv_deb_ip[2]="_";
}
if ($nv_deb_ip[3] == ".")
{
$nv_deb_ip[3]="_";
}
$nv_chemindoc=$_SERVER["DOCUMENT_ROOT"]."/IP_OK/IP_".$nv_deb_ip.".txt";
$nv_chaine_ip="/".$nv_addr."/";
$nv_pos=false;
$nv_new=false;
if (file_exists($nv_chemindoc))
{
$nv_liste_ip=file_get_contents($nv_chemindoc);
$nv_pos=strpos($nv_liste_ip, $nv_chaine_ip);
}
if ($nv_pos === false) // c'est un new, on l'ajoute
{
$nv_fpagesreferer = fopen ($nv_chemindoc, "a+");
fputs ($nv_fpagesreferer, $nv_datejour.$nv_chaine_ip."\n");
fclose ($nv_fpagesreferer);
$nv_date_first=$nv_datejour;
$nv_new=true;
}
else // c'est un existant, on recupere date premiere visite
{
$nv_date_first=substr($nv_liste_ip, $nv_pos-10, 10);
if($nv_date_first == $nv_date_jour)
{
$nv_new=true;
}
}
// ----- En sortie
//
// $nv_new : false ou true
// $nv_date_first : date de premiere visite de l'ip
?>
puis d'ajouter en debut de chaquepage de votre site un simple appel par include :
- Code: Tout sélectionner
include("nv_routine.php");
En sortie :
1 - la "table" des ip est maintenue a jour
2 - deux variables vous indiquent si le visiteur est nouveau ainsi que sa date de premiere visite.
Note : On peut bien sur faire la meme chose en stockant en bdd mais le propos ici était juste de montrer que c'est tout aussi facile (sans besoin d'aspirine) et performant en fichier .txt (et donc pas besoin d'encombrer une bdd avec ce type d'infos).
Note 2 : comme j'ai fait des copier coller pour l extraire de mon code et des renommages pour rendre la chose plus lisible, il peut trainer quelques bug mineur ou faute de frappe, merci de signaler les erreurs ...
Note 3 : J'ai fait l'impasse sur les flock partant du principe que dans ce contexte ce n'est pas vital du tout et dans le cas (rare) de conflit, de toute façon le visiteur sera mémorisé à la page suivante ...
Note 4 : le choix $nv_deb_ip=$nv_addr[0].$nv_addr[1].$nv_addr[2].$nv_addr[3]; peut surprendre ... j'explique : une vieille habitude du travail dans les bdd ou chaque fois que je le peux je réduis l'utilisation des appels à des commandes et donc au moteur du langage (dans certains langages c'est important, je ne sais pas si cela a un impact en php par rapport a un substr). Idem pour les 3 tests qui suivent au lieu d'un simple str_replace.
A votre disposition si vous avez des questions sur les choix faits ...
-

Zecat - WRInaute accro

- Messages: 11992
- Inscription: 1 Mar 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Il me semble que cette thématique (datas sans bdd) pourait faire l'objet de multiples petits outils mis à dispo de la communauté ... j'ai donc proposé cela a Olivier :
Salut olivier,
Je pense qua ca serait sympa d'initaliser un nouveau forum dédié aux développements alternatif "sans base de données".
Illustration avec un premier topic :
http://forum.webrankinfo.com/chti-cadeau-detection-temsp-reel-nouveaux ... 32396.html
Et du coup si ce type de petits scripts se multiplient, ca serait pratique de les avoir aisément sous la main :
- Dans un topic unique : peu pratique ... ou alors faut gérer un index en debut de topic ... mais au bout d'un certain temps on peut plus editer ... et puis ca va vite devenir un topic enorme inexploitable.
Solution : Un nouveau forum "Gestion de datas hors base de données" (placés sous le forum "Developpement d'un site web").
Si tu le crée, merci de deplacer le topic chti cadeau dedans ...
- Robinson
- WRInaute passionné

- Messages: 2233
- Inscription: 25 Oct 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Bonjour,
Tout est basé sur l'IP... suffit qu'elle change comme c'est le cas quotidiennement pour au moins 60% des internautes pour l'identifier comme nouveau...
Où est la pertinence ?
Analytics ne se base également que sur l'IP ? Je n'en ai pourtant pas l'impression...
Tout est basé sur l'IP... suffit qu'elle change comme c'est le cas quotidiennement pour au moins 60% des internautes pour l'identifier comme nouveau...
Où est la pertinence ?
Analytics ne se base également que sur l'IP ? Je n'en ai pourtant pas l'impression...
-

finstreet - WRInaute accro

- Messages: 16999
- Inscription: 10 Juil 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Personnellement je n'ai jamais trouvé cette information comme fiable. Intéressante oui, mais fiable. La tendance peut être intéressante mais la valeur absolue... je ne sais pas. Il faudrait établir un comparatif en fonction des autres sites du meme secteur.
-

Zecat - WRInaute accro

- Messages: 11992
- Inscription: 1 Mar 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Bien sur que l exercice a ses limites, celles de la fiabilité de l'information IP ... perso à l'usage cela permet quand même d'etre moins dans le brouillard ... et apres analyse plus poussée, le résultat reste tres tres proche de ce que fournit google Analytics.
Mais bon là le propos était surtout le stockage de datas hors bases de données ...
Mais bon là le propos était surtout le stockage de datas hors bases de données ...
-

Zecat - WRInaute accro

- Messages: 11992
- Inscription: 1 Mar 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Robinson a écrit:Bonjour,
Tout est basé sur l'IP... suffit qu'elle change comme c'est le cas quotidiennement pour au moins 60% des internautes pour l'identifier comme nouveau...
Où est la pertinence ?
Analytics ne se base également que sur l'IP ? Je n'en ai pourtant pas l'impression...
GA se base aussi très probablement sur le js pour filtrer en amont ... c'est aussi ce que je fais sur mon site en réel avec 2 filtrage en amont :
- la détéction du js non activé (un refresh en noscript vers une page chargeant une var)
- l'identification préalable d'une liste de bots connus
et donc je n'applique mon suivi que sur ce qui reste (du vrai visiteur donc pour l'essentiel). Alors c'est vrai reste le probleme des IP qui changent ... mais bon les synthèses me paraissent néanmoins assez probantes.
-

Leonick - WRInaute accro

- Messages: 19592
- Inscription: 8 Aoû 2004
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
non, sur les cookies. En plus, sur l'ip, avec les utilisateurs qui passent via des proxy (grandes entreprises, université, ...) et ceux qui passent par des plateformes (genre téléphone mobile), cela fait pas mal de cas où une même ip peut correspondre à plusieurs utilisateursRobinson a écrit:Analytics ne se base également que sur l'IP ? Je n'en ai pourtant pas l'impression...
-

Zecat - WRInaute accro

- Messages: 11992
- Inscription: 1 Mar 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Leonick a écrit:cela fait pas mal de cas où une même ip peut correspondre à plusieurs utilisateurs
Oui mais la probabilité que deux utilisateurs récupérant la meme IP viennet ensuite sur ton site sur une courte période avec cette même IP doit statistiquement réduire les cas à pas grand chose (en tout cas sur des sites a petit ou moyen traffic).
-

finstreet - WRInaute accro

- Messages: 16999
- Inscription: 10 Juil 2005
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Zecat a écrit:Leonick a écrit:cela fait pas mal de cas où une même ip peut correspondre à plusieurs utilisateurs
Oui mais la probabilité que deux utilisateurs récupérant la meme IP viennet ensuite sur ton site sur une courte période avec cette même IP doit statistiquement réduire les cas à pas grand chose (en tout cas sur des sites a petit ou moyen traffic).
les IP d'université et de grosses boites, surtout quand tu écris un article sur la boite en question
-

Marie-Aude - Modérateur

- Messages: 11878
- Inscription: 5 Juin 2006
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Merci, reco aussi 
-

detectimmobilier - WRInaute passionné

- Messages: 2182
- Inscription: 21 Fév 2009
Re: Chti cadeau : detection temsp réel nouveaux visiteurs
Merci, reco tout pareil
58 messages
• Page 1 sur 4 • 1, 2, 3, 4
Lectures recommandées sur ce thème :
- Google lance une fonction pour afficher en temps réel les nouveaux articles
- Reel problemes visiteurs Blogs
- blog reel visiteurs bots et referencement
- Taux de nouveaux visiteurs
- Le taux de nouveaux visiteurs : OK mais...
- trop de peu de nouveaux visiteurs
- [cadeau, cadeau personnalisé] Echange de liens.
- Après le cadeau Google, le cadeau NFrance :)
- Chute de mes nouveaux visiteurs depuis la mise en ligne d'une nouvelle version !
- Les nouveaux visiteurs passent de moins en moins de temps sur le site
- Analyse de similarité textuelle
Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



