Lorsqu'un membre se connecte à son compte, aussitôt on le met "en ligne" et on ajoute "+ 1" au nombre de membres en ligne.
Lorsqu'un membre se déconnecte, aussitôt on le met "hors ligne" et on ajoute "- 1" au nombre de membres en ligne.
Ici, la mise à jour des membres "en ligne" et "hors ligne" est instantanée.
Cependant, certains membres ne se déconnectent pas quand ils quittent le site internet, pour utiliser la connection automatique à leur compte (quand ils reviendront sur le site).
Le moyen que je connais, pour savoir que ceux-là sont "hors ligne", est d'enregistrer la date et l'heure de la dernière page affichée sur le site. On choisit une durée de X minutes et quand un membre affiche une page du site, on regarde les membres qui sont "en ligne" mais dont l'heure de la denrière page affichée est supperieure aux X minutes, et ont les met "hors ligne".
Mais cela posse des problèmes :
- Si on choisis un temps trop court, de 1 à 2 minutes par exemple, des personnes toujours "en ligne" qui lisent les informations d'un membre ou qui écrivent un message à un membre, par exemple, se retrouvent rapidement "hors ligne" alors qu'ils ne le sont pas. Ceci peut aussi fausser le nombre de membres en lignes. Si 1000 personnes sont entrain d'écrire un message, le nombre de membres va brusquement passer à moins 1000 membres en ligne puis un peu plus tard brusquement re-passer à plus 1000 membres en ligne.
- Si on prend un temps trop long, de 5 minutes par exemple, les personnes ayant quittées le site sans se déconnecter ne seront considérés "hors ligne" qu'au bout de 5 minutes. Entre temps, un membre peut voir un ami à lui "en ligne" alors qu'il a quitté le site il y a une minute, et ce membre lui enverra un invitation de chat, par exemple, croyant qu'il est toujours en ligne. Le membre va donc attendre pour rien que son ami accepte l'invitation de chat !
Quand vous avez beaucoup de membres "en ligne", en sachant que beaucoup d'entres-eux ne se déconnectent pas (pour utiliser la connection automatique à leur compte), les membres "en ligne" et le nombre de membres en ligne n'est alors pas exacte.
Je sais qu'il est possible d'utiliser une autre méthode : avec la balise <iframe></iframe> qui permet d'afficher une page internet à l'interieure d'une page internet. Dans le menu du site, on utlise cette balise pour afficher une page internet qui contient le code indiquant que le membre en ligne. Toutes les X secondes, on ré-affiche cette page (avec du code javascript). Ainsi, tous les membres ayant une heure supperieur à ces X secondes sont mis "hors ligne". La durée, ici beaucoup plus courte, permet de rendre les membres "en ligne" et le nombre de membres en ligne beaucoup plus réaliste. Et puis, un membre n'a pas besoin d'afficher une nouvelle page pour dire qu'il est "en ligne", il suffit qu'une page du site soit ouverte.
Cette méthode est t'elle beaucoup utilisée ??
Sinon, connaissez-vous d'autres méthodes ?
Je pense qu'on ne pas utiliser les sessions pour cela ?
Je cherche juste la méthode qui permettent de mettre "hors ligne", pas forcément instantanément mais dans une durée courte, les membres qui quittent le site sans se déconnecter.
Pour info : il s'aggit d'un - futur - site de rencontre.
Partager