Moi je ferai tout par PHP.
Création d'une session lors de l'arrivée du visiteur, on y enregistre l'heure et la page demandée. Sur chaque nouvelle requête on enregistre l'heure et on déduit le temps passé sur la page précédente en vérifiant avec la variable globale $_SERVER['HTTP_REFERER'] que la nouvelle requête reçue provient bien de la page précédente.
On élimine les requêtes Ajax en les identifiant.
Les données du temps passé sur la dernière page seront faussées puisqu'elles ne seront pas enregistrées. Mais de toute manière elles seront toujours faussées, tu ne peux jamais vérifier si la personne n'a pas juste laissé son onglet ouvert.
La méthode uniquement par PHP permet de soulager le serveur et donnera un résultat approximatif mais quelque soit la méthode utilisée, le résultat restera approximatif.
Message édité par MaybeEijOrNot le 19-05-2019 à 18:21:35
---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.