Administrateur PHPfrance |
8356 Messages
06 mai 2018, 14:44
Tout dépend de la réactivité attendu entre le moment où tu pousses l'info et le moment où elle s'affiche sur la page.
- Si tu dois faire du temps réel (ie quelques millisecondes), alors tu peux utiliser des websocket, mais c'est complexe à mettre en œuvre.
- Si tu peux attendre quelques secondes, alors le plus simple c'est de faire du pull en ajax/javascript toutes X secondes qui va demander à ton serveur si il y a des nouveautés à afficher.
Voici comment je ferrai pour afficher le contenu d'un fichier texte sur une page HTML avec un rafraichissement automatique toutes les secondes.
Code : Tout sélectionner
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script>
$(document).ready(function(){
call_verif_nouveau_contenu();
function call_verif_nouveau_contenu() {
$.ajax({
url: "contenu_a_afficher.txt",
success:
function(data){
$('#contenu').html(data); // insère le contenu du fichier texte dans ta page (dans la div contenu)
},
complete: function() {
setInterval(call_verif_nouveau_contenu, 1000); // Relancer la requete toutes les secondes (1000ms)
}
});
};
});</script>
<div id='contenu'></div>
Important : Quand un utilisateur va charger cette page HTML, cela va alors générer 1 appel au serveur toutes les secondes et cela pour tous les utilisateurs en même temps, donc il faut vérifier que tu ne prévois pas d'avoir trop d'utilisateurs simultanés, ou à défaut il te faudra un bon serveur qui tiendra le coup.
Si tu n'as pas besoin d'avoir une réactivité à la seconde près, tu peux dans mon script modifier la fréquence de rafraichissement pour mettre 5 ou 10 secondes (ou 1 minute selon ton besoin) et ainsi être sûr de ne prendre aucun risque.

Maintenant tu as la solution pour mettre à jour automatiquement du contenu sur une page déjà chargée.
Je te laisse faire le + facile à savoir le script PHP qui va mettre à jour le contenu du fichier texte

Quand tout le reste a échoué, lisez le mode d'emploi...