Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un chat qui s'actualise

    6 janvier 2011 à 21:27:36

    Bonjour,

    Je vais aller coder un chat pour mon site, donc aucun soucis là-dessus, au pire, je jetterai un coup d'œil au TP.

    Cependant, j'aimerais un chat qui puisse s'actualiser dès qu'un nouveau message est ajouté.

    J'ai très peu de bases en JS, mais je me débrouille à peu près avec jQuery.

    Cependant, comme puis-je m'y prendre ?

    Merci d'avance,
    • Partager sur Facebook
    • Partager sur Twitter
      7 janvier 2011 à 22:22:38

      salut

      les demande au niveau du serveur doivent s'effectué coté client.

      tu a les fonction js
      var truc = window.setInterval('ta_fonction_a_effectue',temps_en_mili_seconde);

      que tu peux utilisé pour rafraichir un bout de page.
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2011 à 10:38:06

        Bonjour !

        Merci pour ta réponse.

        Cependant, puis intégrer du PHP dans cette fonction ?

        Merci d'avance,
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2011 à 10:51:10

          Il faut que tu utilise ajax. (ou avec jQuery)
          • Partager sur Facebook
          • Partager sur Twitter
          Mon Twitter : @Amatewasu
            8 janvier 2011 à 10:52:42

            D'accord.

            Et donc, si j'ai bien compris, dans l'url que je choisis, j'aurai mon code PHP. C'est çà ?
            • Partager sur Facebook
            • Partager sur Twitter
              9 janvier 2011 à 3:47:45

              En fait si tu veux faire un chat il y a plusieurs façons de faire.
              La plus propre serait à mon avis de le faire avec les WebSocket , cependant cette technologie n'est pas bien implantée et les gens n'ont pas tous des navigateurs la supportant mais ce sera le cas sous peu.

              Après il y a la façon sale avec Ajax. Il faut savoir qu'à la base Internet n'est pas fait pour obliger l'utilisateur à recevoir quelque chose, normalement, l'utilisateur cherche;le serveur lui donne la réponse et ça s'arrête là.
              La technique Ajax dont on t'as parlé c'est du Long Pulling. En fait c'est comme si tu n'arrêtais pas de cliquer pour savoir si il y a un message nouveau qui arrive.
              Ajax n'est rien d'autre qu'un rafraichissement (une seule fois) d'UNE PORTION de la page !.
              Donc l'idée c'est d'utiliser l'astuce pour faire qu'on recharge une portion de la page (sans recharger toute la page) toutes les x secondes (comme si l'utilisateur cliques chaque x secondes).
              Bon là c'est le principe.
              La première chose à faire est donc d'apprendre à faire une application ajax
              la deuxième c'est d'utiliser la fonction setInterval(mafonction(),x); où x désigne le temps pour recharger la page à nouveau chaque x milliseconde.
              Donc en fait tu vois bien qu'on triche un peu , ce n'est pas que dès que le message arrive on l'affiche . En fait on n'arrête pas de recharger un bout de la page rapidement( dans les 1 seconde généralement) de telle sorte que si un message nouveau arrive il s'affichera rapidement.


              /* Plus de précisions concernant l'Ajax */
              Bon pour l'Ajax, on utilise la propriété XMLHttpRequest qui permet d'envoyer des données à un autre fichier qui lui fait le travail( typiquement du Php) et puis tu récupères le résultat du Php et tu l'affiches.

              Typiquement avec Jquery tu fais
              $.ajax({
                url: 'mapagephp.php',
                success: function(data) {
                  $('#resultat').html(data);//On affiche le résultat dans la balise dont l'identifiant (id = "resultat").
                }// typiquement dans ton cas le data sont les messages du forum
              });
              

              Je te conseille par contre de bien comprendre le fonctionnement de l'ajax et il y a un cours là dessus Cours Ajax Sdz Surtout concernant le format de récupération des données en XML ou Json car pour afficher les messages tu dois bien les séparer dans des balises XML différentes afin que les messages ne soient pas collés ( ou alors tu utilise un séparateur ... tu fais comme bon te semble) ^^
              • Partager sur Facebook
              • Partager sur Twitter

              Un chat qui s'actualise

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown