Aller au contenu

Chat en Ajax/PHP/MySQL


aodot

Sujets conseillés

Bonjour à tous,

Je me tente à la création d'un chat en Ajax et sotckage des messages dans une base de données.

DOnc très simplement j'ai créé 3 div :

1) liste des membres

2) liste des conversations entre membres

3) liste des messages liés à la conversation.

Jusque la rien de très compliqué, tout fonctionne très bien mais je me pose la question de la méthode utilisée.

Dans ces 3 div, j'utilise un setTimeout à 1 milliseconde pour que les changement soient quasiment instantanés.

Cependant, j'ai l'impression que cette méthode prend énormément de ressources et de plus, le fait que la div se recharge toutes les millisecondes, cela empêche 1/10 le clic sur un lien dans ce div.

Qu'en pensez vous ?

La fonction setTimeout est elle une bonne méthode ?

Comment avez vous développé votre chat ?

Un grand merci par avance.

Aymeric

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Ni php côté serveur, ni javascript côté client, ne sont adaptés pour faire un chat.

Le seul truc que tu peux faire, avec php/javascript, c'est plutôt une sorte de "tag wall", ou de "shout box", mais pas un vrai chat.

Donc pour un tag wall/shout box, effectivement, tu peux utiliser le setTimeout de javascript. Mais cetainement pas tous les millièmes de seconde ! Disons une fois toutes les deux ou trois secondes... maximum... tout dépend du contexte (si le chat est sur une page dédiée, tu peux le faire plus fréquemment, mais s'il est sur ta page d'accueil, il faut y aller doucement) (ça dépend aussi du nombre de clients connectés, du serveur, etc)

Lien vers le commentaire
Partager sur d’autres sites

Ni php côté serveur, ni javascript côté client, ne sont adaptés pour faire un chat.

Le seul truc que tu peux faire, avec php/javascript, c'est plutôt une sorte de "tag wall", ou de "shout box", mais pas un vrai chat.

Merci pour votre réponse.

Je suppose que non, mais auriez vous une autre piste à m'indiquer pour le développement d'un chat ? Captain_torche parle des WebSockets, je me penche dessus.

Cordialement.

Aymeric

Lien vers le commentaire
Partager sur d’autres sites

Lorsque les WebSockets en HTML5 se seront démocratisés, ça sera sans doute plus simple

Je ne savais pas que c'était prévu ! C'est cool :) Merci pour l'info.

Je suppose que non, mais auriez vous une autre piste à m'indiquer pour le développement d'un chat ?

Ça dépend, tu veux faire quoi exactement comme style de chat ?

Lien vers le commentaire
Partager sur d’autres sites

Ça dépend, tu veux faire quoi exactement comme style de chat ?

J'ai un site avec des membres et je souhaite créer un chat dans lequel les membres puissent parler entre eux (un peu style facebook quoi).

Je ne sais pas quelle méthode utiliser...

Merci par avance.

Aymeric

Lien vers le commentaire
Partager sur d’autres sites

(un peu style facebook quoi).

Si ma mémoire est bonne (ça fait un bail que j'ai fermé mon compte facebook), sur facebook, ce n'est pas un chat classique, c'est plutôt ce qu'on pourrait appeler une "messagerie instantanée". On peut y discuter en privé entre "amis", mais il n'y a pas de "salon général" où n'importe qui peut parler avec n'importe qui d'autre.

Par ailleurs, et toujours si ma mémoire est bonne, cette messagerie instantanée sur facebook fonctionne en bas de page : c'est à dire qu'on peut continuer de discuter tout en surfant sur le site. Il n'y a donc pas une page dédiée au chat (ce qui complique la chose sur certains points et la facilite sur d'autres).

Il faudrait vraiment que tu commences par te faire une idée plus précise de ce que tu souhaites faire. Un chat n'est pas quelque chose de simpliste à mettre en place, alors si ton cahier des charges se résume à « un peu style facebook quoi », tu ne seras pas en mesure de choisir la bonne solution.

Donc déjà, il faut que tu décides si le chat doit être sur une page dédiée, ou s'il reste en bas de page et utilisable tout en naviguant sur le site, car l'approche est complètement différente.

Lien vers le commentaire
Partager sur d’autres sites

Il existe pas mal de scripts de chat en AJAX, il me semble que les meilleurs donnent l'impression d'être aussi réactif qu'un traditionnel IRC.

Je crois que le chat suivant (http://chat.developpez.com/) est basé sur le projet open-source AnoChat (php/javascript) et le résultat est excellent.

Lien vers le commentaire
Partager sur d’autres sites

Perso j'apprécie ce chat qui fonctionne très bien, il est très fluide et s'intègre à de nombreuses applis
/>https://blueimp.net/ajax/

@++

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Je fais juste remonter le sujet pour faire part d'un truc que je n'ai découvert que récemment, et qui semble tout à fait indiqué pour développer un chat en javascript, et d'une façon générale pour une communication fluide client/serveur :

Node.js

Cela permet de communiquer par socket entre le client et le serveur. A approfondir :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...