Mise à jour d'une page web, en fonction de la présence d'un nouveau fichier CSV

Petit nouveau ! | 2 Messages

22 sept. 2020, 22:02

Bonjour à tous.
Je développe (en amateur) un soft qui permet d'afficher des classements en direct de courses de simracing (courses de voiture virtuelles sur PC)

Un petit soft, posé en résidant sur le PC du joueur envoie les données des classements (noms des pilotes, chronos, écarts etc) générées par le jeu, vers un espace web, sous forme de fichiers CSV.
Mon code php permet ensuite d'afficher ce classement sur une page web. Cela marche très bien, le résultat est conforme à mes attentes.

Sauf que pour mettre à jour le classement de façon assez "rapide", je recharge ma page toutes les 3 secondes. Très souvent pour rien, puisque le fichier csv n'est mis à jour que quand le joueur entame un nouveau tour, ou toutes les 30 secondes.

Je cherche une méthode qui me permettrait de ne mettre ma page web "à jour" que si un nouveau fichier csv a été reçu.

J'ai trouvé avec "filemtime" le moyen de savoir que le fichier csv a changé, mais je ne parviens pas à déclencher un nouvel affichage de page web ou bien conserver le classement affiché, en fonction de cet évènement.

Pouvez vous m'aider ?

Mammouth du PHP | 2703 Messages

22 sept. 2020, 22:13

du javascript pour appeler toutes les x secondes un fichier sur le serveur, avec par exemple :
https://api.jquery.com/jQuery.get/
le fichier sur le serveur, grâce à filemtime, retourne si une mise à jour est nécessaire ou non. le javascript récupère l'info et si nécessaire, soit rafraichit la page, soit déclenche la mise à jour de la page sans tout recharger (appel en ajax d'un fichier sur le serveur qui retourne du json, parcours du contenu du json pour mettre à jour le contenu d'un div de la page).

Petit nouveau ! | 2 Messages

23 sept. 2020, 13:06

Merci. Pas tout simple, donc !
La partie rechargement partiel de la page (ajax), pour l'instant, je ne vais pas m'y atteler.
Par contre, tout le début est une bonne base pour moi...
Je vais essayer . Grand merci

Mammouth du PHP | 2703 Messages

23 sept. 2020, 13:17

"J'ai trouvé avec "filemtime" le moyen de savoir que le fichier csv a changé"

...
if(){
echo "oui";
}
else{
echo "non";
}