Comment utiliser les websocket pour avoir des statistiques en temps réel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment utiliser les websocket pour avoir des statistiques en temps réel

Re: Comment utiliser les websocket pour avoir des statistiques en temps réel

par two3d » 21 sept. 2023, 09:16

Merci pour tes réponses, je regarderai dans la journée ;)

Re: Comment utiliser les websocket pour avoir des statistiques en temps réel

par @rthur » 21 sept. 2023, 09:11

Du coup, si tu veux le faire en Node.JS, pas sûr que PHPfrance soit le forum le + adapté pour t'aider dans ce TP :D

En PHP+websocket, voici une piste : https://c-mh.fr/posts/websockets-en-php ... n-y-parait

Re: Comment utiliser les websocket pour avoir des statistiques en temps réel

par two3d » 20 sept. 2023, 18:10

Je souhaite vraiment utiliser websocket pour ce TP et me faire la main car je souhaite faire autre chose avec les websocket plus tard.

Mon site est une application "one page" où l'utilisateur ne charge qu'une fois l'application puis des appels AJAX se font déjà toutes les X secondes, je souhaite oublié cette méthode et passer aux websockets pour envoyer des infos aux utilisateurs en temps réel.

Re: Comment utiliser les websocket pour avoir des statistiques en temps réel

par @rthur » 20 sept. 2023, 17:12

A noter que pour alléger ton serveur si tu n'as pas besoin d'avoir une précision importante sur le nombre d'utilisateurs actifs en simultanés, l'autre approche est de ne pas faire de l'ajax mais uniquement au chargement de chaque page mettre à jour la table id de session/timestamp
Et considérer que les utilisateurs actifs sont ceux qui ont chargé au moins une page dans la dernière demi-heure.

30 minutes d'inactivité, c'est le standard, c'est par exemple ce que considère Google Analytics pour considérer une session comme inactive.

Re: Comment utiliser les websocket pour avoir des statistiques en temps réel

par @rthur » 20 sept. 2023, 17:03

Sans node.js ni websocket, tu mets simplement un appel ajax toutes les 30 secondes sur toutes tes pages avec un cookie de session pour identifier chaque visites.
Cet appel ajax se fait sur un script PHP, qui va ajouter/mettre à jour une table SQL qui contient une ligne par ID de session et le timestamp de dernière activité (càd la date et heure courante)

Ensuite quand tu veux connaitre le nombre d'utilisateurs connectés sur ton site, tu as juste à faire un SELECT sur cette table des timestamp < timestamp+30s.

Et bien sûr pour ne pas que ta table SQL explose en taille, tu fais un DELETE des sessions expirées

Comment utiliser les websocket pour avoir des statistiques en temps réel

par two3d » 20 sept. 2023, 16:25

Je souhaite afficher le nombre de connectés sur mon site internet, j'ai un hébergement OVH avec Node.js 8, 10, 11 inclus.

J'ai aucune connaissance avec Node.js, d'après quelques tutos, les websocket s'utilisent avec Node.js.

Merci pour votre aide.