Refresh pour un chat'

Résolu
martine et chantal Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerai créer mon propre chat.

Je pensais gérer la simultanée avec le rafraichissement de la page toutes les 5 secondes
mais peut-être qu'il y a mieux ?

j'utilise <meta http-equiv="refresh" content="5">

1er défaut : on voit que la page se rafraichit car l'onglet indique "connexion"
2ème défaut : impossible d'écrire un message dans mon champs input sans être coupé par le rafraichissement




A voir également:

2 réponses

Utilisateur anonyme
 
salut,

renseigne toi sur l'AJAX
0
martine et chantal Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   4
 
merci ! ça m'a tout l'air d'être la voie.
Je ferai part de mes recherches et trouvailles
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

HTML5 apporte le support des Websockets.

Je pense qu'il est préférable d'utiliser cette technologie par rapport à AJAX car avec AJAX, des requêtes sont effectuées à interval régulier (toutes les deux secondes par exemple) pour demander au serveur s'il y a de nouveaux messages. Deux problèmes se posent :
- Une grande majorité des requêtes sont inutiles, il n'y a aucun nouveau message
- Si un message est reçu, il sera nécessaire d'attendre que la navigateur interroge le serveur pour le voir apparaître. On pourrait réduire l'interval, mais cela augmentera le nb. de requêtes inutiles et le serveur pourrait vite être surchargé.

Avec les sockets, c'est le serveur qui va "contacter" le navigateur aussitôt qu'un message sera reçu. Donc pas de requête inutile et c'est instantané (ou presque).
0
martine et chantal Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   4
 
ok merci.
je viens juste d'essayer la méthode AJAX avec ce lien :
https://blog-du-grouik.tinad.fr/post/2010/04/18/test-javascript

mais tes remarques sont juste niveau surcharge du serveur.

merci je penche donc sur Websockets.
0
martine et chantal Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   4
 
hep !

https://sii-rennes.developpez.com/articles/un-chat-en-html5-avec-les-websockets/

la partie compatibilité m'embête.
les utilisateurs doivent configurer leur navigateur pour son fonctionnement.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
AJAX est encore très utilisé, même dans les applications « t'chat ».
Les websockets ne sont pas une raison pour le jeter aux oubliettes.
D'autant plus que cette technologie n'est encore supportée par IE9.
Et Websocket nécessite une implémentation côté serveur.
Eh oui, ça a l'air génial, mais ça a quelques contraintes :-)

Si toutefois tu souhaites tester les Websockets, je te conseille d'utiliser ceci : https://socket.io/
Il s'agit à la fois d'une bibliothèque JS côté client (navigateur) qui te permettra d'écrire plus simplement le code Javascript pour utiliser les websockets et d'un module pour Node.js (encore une autre technologie) pour écrire le serveur en Javascript (= implémentation côté serveur ; Nodejs permet d'exécuter du JS sur le serveur). Un support à travers Flash est également apporté pour les navigateurs ne prennant pas en charge les Websockets.
0
martine et chantal Messages postés 485 Date d'inscription   Statut Membre Dernière intervention   4
 
IE restera toujours le vilain petit canard !
Il n'y a pas moyen de faire un attentat chez IE ???!!!! ces 2 lettres me donnent des boutons !

bon bah j'ai pas mal de lecture alors.
merci BEAUCOUP !
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Websocket sera intégré dans IE10 si je ne me trompe pas.
On peut déjà télécharger un aperçu.
http://ie.microsoft.com/testdrive/Info/Downloads/Default.html

Avec socket.io, les Websockets sont utilisables avec tous les navigateurs.
Dans le cas où Websocket n'est pas supporté par le navigateur, socket.io utilisera Flash.
0