Modérateur PHPfrance |
10684 Messages
29 sept. 2016, 18:10
Bonjour,
En fait, les pages html affichées par le navigateur sont statiques, elles ne bougent jamais. Donc si tu changes le contenu de ta page en modifiant la base de données, il faut impérativement que le navigateur fasse un nouvel appel au serveur pour constater que la page a changé et qu'il doit afficher un nouveau code html.
Si un utilisateur consulte ta page pendant que tu es en train de la modifier, s'il veut voir les changement il devra donc actualiser la page ou revenir plus tard. L'autre solution consiste à inclure un bout de code html ou javascript pour rafraîchir automatiquement ta page toutes les X secondes. Mais ça peut vite être très frustrant pour l'utilisateur de voir la page se recharger, surtout quand il n'y a rien de nouveau à afficher dessus.
Avec ajax, tu peux appeler le serveur sans avoir besoin de recharger toute la page. Tu peux ainsi l'actualiser que lorsque cela est nécessaire. A voir ensuite comment informer l'utilisateur que le contenu de la page qu'il consulte a évolué.
Enfin, comme indiqué par moogli, les websocket sont une solution à l'initiative du serveur qui ne se déclencherait qu'en cas de modification de ta page (pas sur que pour un niveau débutant ce soit ce qu'il y a de plus simple, mais si tu aimes relever des défis...

)
Mais la question à te poser est "est-ce que l'utilisateur a besoin d'avoir l'information que je viens de mettre en base en (quasi) temps réel ?". Si oui, roulez jeunesse, sinon, bah il aura l'info la prochaine fois qu'il viendra, ou en suivant un fil rss, ... c'est pas si grave

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...