IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Tchat simple en Ajax


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut [AJAX] Tchat simple en Ajax
    Bonjour à tous,

    J'ai pour l'instant une simple shoutbox en php sur mon site qui permet aux membres de communiquer rapidement. Cette shoutbox n'est pas très pratique dans le sens où il faut rafraichir toute la page pour voir s'il y a de nouveaux message.

    Je souhaiterais donc remplacer cela par une shoutbox en ajax.

    Avant de me lancer dans le code, je me pose quelques questions sur le fonctionnement générale:

    - A quelle fréquence raffraichir la liste des messages?
    - Par quel moyen pour que cela entraine le moins de requetes?
    - Comment faire pour n'afficher que les nouveaux messages ?
    petite explication: J'ai une shoutbox de 10 messages, 2 nouveaux message sarrivent depuis le dernier raffraichissement, j'affiche les deux nouveaux messages avec un style (le fond passe du rouge au blanc en fondu par exemple) et donc je supprime les deux plus vieux messages.

    Voilà les 3 questions qui me bloquent avant de me lancer dans le code.

    Avez vous des petites astuces?

    Merci d'avance.

    Ps: J'utilise prototypejs

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Par défaut
    Bonjour,
    au niveau de la fréquence, tout dépend de ton serveur et de la charge.
    Tu peux essayer 5 secondes pour commencer.

    Au niveau du fonctionnement, ce qui me vient à l'esprit et assez simple à mettre en place, toutes les 5 secondes tu envoies avec le Datetime de la dernière réception que tu as eu. Coté serveur, il sélectionne tous les message antérieures à cette date, et te renvoit le nouveau datetime coté serveur. Tu affiches les messages recus, et stocke ce datetime que tu lui renverras dans 5 secondes.
    Après c'est du détail, en fonction du nombre de messages recus, tu supprimes de ta liste autant de messages afin de faire de la place pour les nouveaux.

    Voila

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    C'est tout à fait ce fonctionnement que je souhaite mettre en place.
    Ca serait plus du coté javascript que mon problème se pose. Comment rajouter seulement les nouveaux messages.

    Avec la fonction ajax.updater, je peux mettre à jour toute la shoutbox mais je n'arrive pas à rajouter seulement les nouveaux messages .

  4. #4
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Par défaut
    Coté javascript, il te suffit de mettre chaque message dans un div, eux meme dans ta shoutbox. Si tu recois par exemple 2 messages, tu supprimes les 2 premiers div de ta shoutbox, tu en crées 2 nouveaux, que tu remplis avc les 2 nouveaux messages, et tu les ajoutes à ta shoutbox.
    Ca devrait pas poser de probleme comme cela.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    Je commence tout juste à apprendre le JS et je pense qu'il faut utiliser dans ce cas les fonctions "removeChild" et "unshift"...

    Connais tu un site équivalent à php.net mais pour le JS ???

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut
    slt,

    il faudrait d'abord savoir où et comment tu stockes tes messages... à partir de là tu pourras définir comment les intégrer dans ta shoutbox...

Discussions similaires

  1. Exemple simple avec ajax et php
    Par amaubird dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2012, 19h22
  2. Réponses: 1
    Dernier message: 19/03/2012, 11h23
  3. [Prototype] Simple requête ajax de base !
    Par italiasky dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 18/12/2009, 11h21
  4. Simple ComboBox Ajax
    Par cow_boy17 dans le forum Ext JS / Sencha
    Réponses: 5
    Dernier message: 04/05/2009, 14h10
  5. [AJAX] Ajax - requête simple
    Par Liebgott dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/05/2008, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo