Connaitre temps de visites?

Connaitre temps de visites? - PHP - Programmation

Marsh Posté le 26-12-2005 à 20:01:34    

Salut
 
Quelle est la méthode pour connaitre le temps de visites des visiteurs  , pour faire des statistiques?
Y a t-il une variable systeme ou une méthode avec les variables de sessions? peut-on connaitre le moment de la fermeture du site tout comme le mmoment de l'accès au site?
 
Pour l'accès au site a l'ouverture d'une page je peu facilement renregistré l'info dans une base de donné ; mais comment savoir quand l'utilisateur a quitté le site?
 
En gros comment faites vous pour connaitre le temps de visites?
 
Merci  :)  

Reply

Marsh Posté le 26-12-2005 à 20:01:34   

Reply

Marsh Posté le 26-12-2005 à 21:48:00    

On ne peux pas le savoir.  
Aucunes informations n'est envoyé au serveur à la fermeture du navigateur.  
 
Une solution parmis d'autre pour connaître la durée approximative du temps de visite d'un internaute serait via une solution AJAX couplé à une base de donnée, d'incrémenter un compteur toute les x secondes. Evidement, cette solution ne fonctionne que lorsque le client à javascript d'activé et ce système pompe beaucoups de ressources serveurs.

Reply

Marsh Posté le 26-12-2005 à 22:26:05    

2xyo a écrit :

On ne peux pas le savoir.  
Aucunes informations n'est envoyé au serveur à la fermeture du navigateur.  
 
Une solution parmis d'autre pour connaître la durée approximative du temps de visite d'un internaute serait via une solution AJAX couplé à une base de donnée, d'incrémenter un compteur toute les x secondes. Evidement, cette solution ne fonctionne que lorsque le client à javascript d'activé et ce système pompe beaucoups de ressources serveurs.


 
 
mais comment font toutes les applications web de statistiques pour nous donner le temps de visites ; ils utilisent des solutions AJAX?
 
Genre les Cpanel ou les phpmyvisite etc..
 

Reply

Marsh Posté le 26-12-2005 à 22:29:41    

Je sais pas comment ils font.  
En en tout cas, je sais qu'ils ne font pas comment je t'ai dis !

Reply

Marsh Posté le 27-12-2005 à 09:16:23    

Euh...
 
En ASP, on a deux évènements, "Session_OnStart" et "Session_OnEnd".
Une session a un Timeout de 300 secondes (paramètre par défaut, et au pire c'est consultable via une proprio)
 
Ainsi, dans "Session_OnStart" on crée une ligne dans la BDD avec l'heure et un ID (le SessionID qui est un GUID c'est pas mal).
Et dans le "Session_OnEnd", on n'a plus qu'à faire un update de "heureActuelle - heureDuDébut - 300 secondes" sur l'ID qu'on avait mis en mémoire
Et voilà :)
 
Ensuite, il y a toujours le risque du "Session.Abandon" (destruction immédiate et volontaire des sessions) qui peut venir foutre la merde.
 
Du coup, perso je n'utilise pas le -300. En effet, c'est pas parcequ'une personne a fini de charger la dernière page sur le site qu'elle l'a lue. Du coup je compte que 5 minutes est une durée tout à fait acceptable pour lire une page, et je compte donc ces 300 secondes dans mon compteur.
 
PS: A noter que la plupart des autres compteurs de stats comptent aussi les 300 secondes.
 
PS²: Evidement, c'est la solution en ASP. Elle marche en .NET et très certainement en Java, qui ont/doivent avoir un objet Session.
 
Par contre, en PHP je ne sais pas ce que ça donne. Mais je serais très fortement étonné qu'il n'aie pas un truc qui se lance à la fermeture d'une session.

Reply

Marsh Posté le 27-12-2005 à 09:40:16    

Arjuna a écrit :

Euh...
 
En ASP, on a deux évènements, "Session_OnStart" et "Session_OnEnd".
Une session a un Timeout de 300 secondes (paramètre par défaut, et au pire c'est consultable via une proprio)
 
Ainsi, dans "Session_OnStart" on crée une ligne dans la BDD avec l'heure et un ID (le SessionID qui est un GUID c'est pas mal).
Et dans le "Session_OnEnd", on n'a plus qu'à faire un update de "heureActuelle - heureDuDébut - 300 secondes" sur l'ID qu'on avait mis en mémoire
Et voilà :)
 
Ensuite, il y a toujours le risque du "Session.Abandon" (destruction immédiate et volontaire des sessions) qui peut venir foutre la merde.
 
Du coup, perso je n'utilise pas le -300. En effet, c'est pas parcequ'une personne a fini de charger la dernière page sur le site qu'elle l'a lue. Du coup je compte que 5 minutes est une durée tout à fait acceptable pour lire une page, et je compte donc ces 300 secondes dans mon compteur.
 
PS: A noter que la plupart des autres compteurs de stats comptent aussi les 300 secondes.
 
PS²: Evidement, c'est la solution en ASP. Elle marche en .NET et très certainement en Java, qui ont/doivent avoir un objet Session.
 
Par contre, en PHP je ne sais pas ce que ça donne. Mais je serais très fortement étonné qu'il n'aie pas un truc qui se lance à la fermeture d'une session.


 
tant pis 2xyo merci qaund même
 
C'est vrai qu'un petit equivalent d'un session_onend en php me serait fort utile mais je ne trouve null part d'équivalent  :(  
si quelqu'un connais en PHP le moyen de connaitre une fin de session?
il doit forcement exister un truc assez simple a mettre en place en php pour connaitre le temps de visites (même si c'est approximatif  :)  

Reply

Marsh Posté le 29-12-2005 à 14:56:31    

Si t'utilises les sessions, alors tu sais à quelle session est rataché chaque visiteur et tu sais donc à quel moment il a demandé sa premiére page et à quel moment il a demandé une page pour la derniére fois.
 
Pas difficile de savoir combien de temps il a mis entre les deux. Aprés, il reste le probléme des personnes visitant plusieurs sites à la fois, ceux qui lisent lentement, ceux qui sont dérangé entre deux pages ... Et là, il y a aucune solution.

Reply

Marsh Posté le 29-12-2005 à 15:31:05    

omega2 a écrit :

Si t'utilises les sessions, alors tu sais à quelle session est rataché chaque visiteur et tu sais donc à quel moment il a demandé sa premiére page et à quel moment il a demandé une page pour la derniére fois.
 
Pas difficile de savoir combien de temps il a mis entre les deux. Aprés, il reste le probléme des personnes visitant plusieurs sites à la fois, ceux qui lisent lentement, ceux qui sont dérangé entre deux pages ... Et là, il y a aucune solution.


 
oauis c'est ce que je pensais aussi , mais c'est vrai que dans ce cas la vaut mieux ne rien mettre plutot que de mettre des stats qui voudront rien dire  ;)  
 
Sinon merci pour ta réponse ca a répondu a ce que j'avais dans la tete  :)  

Reply

Marsh Posté le 29-12-2005 à 15:36:27    

saxgard a écrit :

oauis c'est ce que je pensais aussi , mais c'est vrai que dans ce cas la vaut mieux ne rien mettre plutot que de mettre des stats qui voudront rien dire  ;)  
 
Sinon merci pour ta réponse ca a répondu a ce que j'avais dans la tete  :)


logiquement, ça va s'annuler.
 
car il y a aussi les gens qui lisent lentement et dont la session entre en timeout à chaque page, qui vont pourrir tes stats dans le sens inverse.
du coup, les "cas à part" s'annulent tout bonnement à mon avis.
il faut juste ne tenir compte que de la moyenne, ou au moins un ecart type, pour que les bornes n'entrent pas en jeu.

Reply

Marsh Posté le 29-12-2005 à 16:05:23    

Bonne remarque , c'est vrai qu'en prennant uniqument une moyenne on devrait obtenir un résultat assez proche de la réalité.
 
Je vais voir peut etre de ce côté la si il me reste assez de temps  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed