begin process at 2012 05 30 23:01:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

Qui est en ligne ?!?!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Qui est en ligne ?!?!

samedi 19 novembre 2005 à 00:34:01 | Qui est en ligne ?!?!

josh666

Bonjours à tous,

Je me questionne sur la méthode pour savoir les personnes en ligne sur un site internet. J'ai penser à la méthode suivante:

Lors de laffichage d'une page stoker le ip, la date et l'heure de visionnement du visiteur dans une BD ou autre support comme un fichier texte.

Et ensuite faire un script PHP pour qui supprime les entrée IP ayant la date inférieure à la date actuel - X minutes . Ou X est un nombre de minute, ensuite compter le nombre d'entrée IP restante et lafficher.

** On peu aussi ajouter une donnée (type d'utilisateur) qui serait égal à visiteur si la personne n'est pas loguer, MEMBRE si elle l'est. **

Bon la j'ai lair de données la réponse à ma propre question, mais ce que je veux savoir c'est est-ce que c'est la meilleure solution. ? Il y a t'il moyen d'etre plus précis ? Parce qu'un utilisateur qui affiche la page et qui la quitte immédiatement fausera les résultat, puisque pendant le X minute il sera considérer comme en ligne ...

Merci A+
samedi 19 novembre 2005 à 00:45:56 | Re : Qui est en ligne ?!?!

coockiesch

Salut!
C'est le meilleur moyen, à ma connaissance puisqu'il n'y a aucun moyen de "déloger" un visiteur dès qu'il ferme son navigateur...

C'est pour ca que, dans bcp de script, tu vois: x utilisateurs actifs dans les 5 dernières minutes

@++ et bonne nuit, ^^

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
samedi 19 novembre 2005 à 13:13:22 | Re : Qui est en ligne ?!?!

FhX

Oui, il n'y a aucune connection persistante entre le serveur et le client.

A la limite, tu peux faire sur un peu d'AJAX sur :
<body onunload="" >
qui va te permettre d'appeler un script PHP juste le temps de supprimer son entrée dans la base de donnée.

Y'a pas mieux.
dimanche 20 novembre 2005 à 05:19:31 | Re : Qui est en ligne ?!?!

josh666

humm j'ai repenser a sa... et jai trouvé une autre solution... enfin une amélioration de la solution ...

Bon premierement diminuer le X à 20 sec ... et ensuite au lieu de mettre le script pour entrer le IP a chaque chargement de page... créer une function javascript avec XMLHttpRequest ... pour ceux qui ne connaisse pas c'est une focntion qui permet d'executer un fichier sur le serveur sans reloader la page client.... donc si on suit le principe la vérification pour savoir si l'utilisateur est en ligne serait réduit de 5min à 20 sec... je crois que c'est une nette amélioration...

La question a ce poser maintenant... est-ce que sa va ralentir la page actuel... je ne crois pas puisque que la page appeler est executer sans que l'utilisateur ne sen appercoive... dabitude cette fucntion peu retourné des données et c'est à ce moment qu'il y a une attende (minime) mais puisque ns attendon aucune donnée cela devrait rouler du tonnerre...

Bon je vais travailler la dessus et poster ma source ....
++
dimanche 20 novembre 2005 à 08:46:34 | Re : Qui est en ligne ?!?!

superbaloo78

c'est pas tellement que ca va ralentir la page actuelle mais bon cela pose deux problèmes:
le debit de ta page va exploser car pour un seul client, au lieu de transeferer une seule page, tu devra en transferer une toutes les 20 secondes.... imagine qu'un utilisateur laisse allumer son navigateur toute la journée, je te laisse calculer la bande passante necessaire pour afficher UNE SEULE PAGE .....
sinon si ton site recoit beaucoup de visiteurs, il va rapidement être surchargé par ces demandes supplementaire  pour aller ecrire dans un fichier ou dans une base de donnée ......

moi je pense que cette technique est tres lourde pour finalement une utilitée reduite (afficher qui est en ligne c'est plus de l'agrement qu'autre chose)

dimanche 20 novembre 2005 à 10:31:55 | Re : Qui est en ligne ?!?!

FhX

"le debit de ta page va exploser car pour un seul client, au lieu de transeferer une seule page, tu devra en transferer une toutes les 20 secondes...."
Ouh la non, si y'a aucune réponse en sortie, ca sort rien du tout :)
Y'a juste qu'au lieu de faire une requete/page, il va faire une requete/20sec.
Donc si le gars est en train de poster un message, et qu'il fait un roman et que ca dure 5 minutes :
Ca va faire 15 requetes au total !


Voila comment faire pour perdre inutilement de la bande passante et du temps CPU tiens ! =)
dimanche 20 novembre 2005 à 20:28:03 | Re : Qui est en ligne ?!?!

superbaloo78

mais le debit est compté aussi bien en SORTANT qu'en ENTRANT, et c'est ainsi avec tout les hebegeurs .....

Si ma reponse vous convient, merci de l'accepter pour fermer le sujet
dimanche 20 novembre 2005 à 20:58:48 | Re : Qui est en ligne ?!?!

FhX

Sauf que parler à une base de donnée n'a jamais fait parti d'un débit entrant/sortant :)
dimanche 20 novembre 2005 à 22:03:53 | Re : Qui est en ligne ?!?!

josh666

Bon la manière la plus simple... c'est dessayer.. donc je fait des test et je vous tien au courant
dimanche 20 novembre 2005 à 23:30:07 | Re : Qui est en ligne ?!?!

FhX

Essaye, mais les transactions serveur/serveur ne doivent pas être pris en compte.
Autrement, autant faire payer la BP quand tu lis un fichier, quand tu questionnes une base de donnée. Ou alors, quand tu fais une requete POST de script à script aussi... Ou alors quand tu fais un header() !

Nonon, la BP est bien la transaction client/serveur.
Quoi que, en y reflechissant, le script se lance bien coté client, donc y'a quand même un flux qui circule. Disons que c'est pas bien grand, dans l'ordre de quelques octets je pense...

1 2

Cette discussion est classée dans : ligne, date, page, ip, méthode


Répondre à ce message

Sujets en rapport avec ce message

Retour à la ligne [ par photosweb ] Lors de la saisie d'un texte dans un champ de texte multiligne(textarea) je mets des retour à la ligne (ctrl+enter) pour des raison de mise en page.Vi Un fichier texte pour plusieurs compteurs [ par bluejim ] blue_jim Ma question est la suivante :Est-il possible en Php de lire une ligne prédéfinie d'un fichier texte.J'explique :En partant du fait que la val Le code PHP me crée des ligne vide [ par microdevweb ] Bonjour, Voila j'ai un petit problème je crée un page php qui en appelle telle ou telle autre page suivant le cas avec la fonction require. Il sembler Aidez moi s'il vous plait [ par khoum ] J'ai un probleme que je ne peut pas résoudre.Je demande comment je peux faire pour programmer une page que l'on remplit en ligne et qui se met à jour probleme pour livre d'or [ par amook ] bonjours,Voila je veus créer un livre d'or pour mon site (je suis debutant) mais j'ai quelque probleme avec (donc voila ma page pour le formulaire a r petit probleme SQL [ par Clonk ] bonjour,voilà, j'ai une première page où je liste des nom et où je crée un lien direct vers une autre page, genre:while($ligne=mysql_fetch_object($res Ip 2 page web [ par Noobcpp ] Salut tous !! J''voudrais savoir si vous pouvez m'aider a faire une page php qui : - quand un internaut va dessus son ip est stocké sur une autre pag recuperer l'url de la page a partir d'une autre page [ par db2p ] hellovoila j'ai une page php: index.phpen bas de cette page je mets un include genreinclude 'date_modif.php';le fichier 'date_modif.php' doit afficher Affichage des resultat d'une requete sur plusieur pages [ par zizou94 ] Bonjour a tous Voila je suis toujours sur la programmation de mon premier site et j ai un souci. Je souhaiterai limiter l'affichage de mes résultat su fermeture de fenetre onclick [ par Rankin ] Salut à tous. Je bosse actuellement sur la réalisation d'un site, qui contient une partie administration pour gérer des bases de données. Une partie c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales