[PHP] Voir ses amis connectés ?

Petit nouveau ! | 2 Messages

21 févr. 2010, 23:36

Bonjour à tous,

Dans le cadre d'un projet, je dois permettre aux utilisateurs de voir leurs amis connectés, comme sur le SDZ ou Facebook par exemple. Ma base de donnée est opérationnelle, les utilisateurs peuvent se connecter et faire ce qui leur est autorisé, tout est OK de ce côté là.

Le problème est que je ne vois absolument pas comment faire pour qu'il voient leur amis connectés ...
Pour commencer, puis-je coder cette fonction en PHP, ou sinon quel langage dois-je utiliser ?

La seule piste que j'aie est celle d'une variable booléenne qui vaudrait 0, et qui serait incrémentée quand l'utilisateur se connecterait puis remise à zéro quand il se déconnecterait. Le problème est que la plupart des sessions sont fermées par le navigateur ou par le temps donc je suis perdu =) Suis-je sur la bonne voie ou la méthode est-elle mauvaise ?

Merci d'avance et bonne fin de journée ;)

ViPHP
ViPHP | 1136 Messages

22 févr. 2010, 09:04

Slt ,

Si tu regardes bien , sur FB , il y a une requête périodique toutes les X secondes ...

Dans ton cas , imaginons le même principe , la requete HTTP renverrait la liste des id ( amis connectés ) de la personne courantes , ce qui te permet donc de savoir qui est là.

Ensuite , à toi de faire un système le plus fiable possible pour indiquer quand un utilisateur est connecté , et quand il ne l'ai plus .
Se baser sur l'activité de la personne pour maintenir son flag à "connecté" avec un temps de validité de ce flag me parait être une première bonne solution .

Good luck ,
Ch.

Petit nouveau ! | 2 Messages

22 févr. 2010, 21:58

Bonsoir,

J'ai trouvé via un autre forum une solution que je vais poster ici, je pense que cela peut intéresser quelques personnes.

Il suffit de créer un nouveau champ dans la table des utilisateurs qui contient la date de la dernière action. A chaque fois que cet utilisateur effectue une action ou un changement de page sur le site, ce champ est modifié en conséquence.

Il suffit dès lors dans la barre des amis connectés de ne sélectionner que les amis dont la date de la dernière action remonte au maximum à 5 minutes par exemple.

Voila, bonne continuation !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 févr. 2010, 18:48

c'est la solution présenté par stopher et son champ "connecté" ;)

Mais content que tu ais eu la solution à ton soucis.
Un petit flag résolu ? le petit drapeau vert ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer