je me suis fait un petit forum, et j'aimerais avoir, comme dans les forums phpBB par exemple, une liste des utilisateurs en ligne.

j'ai donc eu l'idee d'ajouter un attribut "en_ligne" à la relation "utilisateur" dans ma bdd.
quand un utilisateur se logge, son attribut "en_ligne" est passé à 1. lorsqu'il se delogge, son attribut "en_ligne" est repassé à 0.

mais comment effectuer cette operation quand l'utilisateur quitte mon site (ferme son navigateur, ou va vers un autre site) sans se deconnecter ??

j'ai pensé allier ça avec le mecanisme des sessions (que bien sur j'utilise pour mon forum), car une session est detruite lorsque l'utilisateur ferme son navigateur. mais comment detecter que la session est detruite, et ainsi agir dans la bdd ?

peut-etre stocker l'id de session dans la bdd, et faire un script periodique qui ne laisse dans la bdd que les sessions dont le fichier existe encore ?

si vous avez une methode plus simple et moins lourde, d'avance ;-)