Comment suivre le statut en ligne des utilisateurs de mon site Web?

Je veux suivre les utilisateurs qui sont en ligne à l'instant.

La définition de l'être en ligne, c'est quand ils sont sur la page d'index du site
a la fonction de chat.

Jusqu'à présent, tout ce que je peux penser est la définition d'un cookie pour l'utilisateur et, lorsque le cookie est trouvé sur la prochaine visite, un appel ajax est fait pour mettre à jour une table avec leur nom d'utilisateur, leur statut en ligne et le temps.

Maintenant, ma question estcomment puis-je fiable de transformer leur statut de hors lorsqu'ils quittent
le site web? La seule chose que je peux penser à est de définir une quantité de temps prédéterminée d'aucune intervention de l'utilisateur, puis de définir le statut de hors.

Mais ce que je veux vraiment, c'est de conserver le statut sur tant qu'ils sont sur le site, avec ou sans interaction, et seulement aller à hors lorsqu'ils quittent le site.

source d'informationauteur