AJAX Chat Engine a besoin de vous

Posté par . Modéré par j.
Tags :
0
23
juin
2007
Technologie
AJAX Chat Engine (ACE) est un projet libre de Chat utilisant la technologie AJAX.

La particularité de celui-ci est qu'il n'utilise pas de base de donnée pour transférer les conversations mais un serveur indépendant gérant intégralement les échanges. L'avantage est que le navigateur du client n'a pas de rafraîchissement récurrent mais n'effectue une requête seulement lorsqu'il reçoit ou envoi un message réduisant ainsi considérablement la charge du serveur.

Le développement du serveur étant fini, je recherche des contributeurs pour réaliser un nouveau client Javascript avec la prise en charge de JSON.

ACE serveur propose déjà :
  • La gestion des channels
  • La gestion des conversations privées
  • La gestion des opérateurs et privilèges (topic, kick)
Vous pouvez déjà tester directement ce chat sur le site internet donné en lien.

Aller plus loin

  • # jabber ?

    Posté par . Évalué à 10.

    Une petite question, au lieu de recoder un serveur, n'aurait il pas été possible d'utiliser un serveur jabber (avec l'extension salon de discution) + punjab [1] ?


    [1] http://www.butterfat.net/wiki/Projects/PunJab
  • # Euhh

    Posté par (page perso) . Évalué à 4.

    "n'a pas de rafraîchissement récurrent mais n'effectue une requête seulement lorsqu'il reçoit ou envoi un message"

    Hum, va falloir m'expliquer, comment il peut savoir si il a recu un message sans effectuer de requête vers le serveur ?
    • [^] # Re: Euhh

      Posté par . Évalué à 2.

      Il y a une connection persistante avec le server qui te reconnectes des que tu recois un message et te reconnecte
      • [^] # Re: Euhh

        Posté par (page perso) . Évalué à 2.

        Je vois pas comment c'est possible.

        Un client est derrière un NAT par exemple, comment le serveur lui renvoie des informations ?
        (a part renvoyer un truc tous les < 80s pour éviter le timeout de la connexion tcp)
        • [^] # Re: Euhh

          Posté par . Évalué à 6.

          Il fait une connexion avec le serveur qu'il ne coupe pas.
          C'est une connexion persistante du type HTTP.

          Donc que n'importe quel client peut faire, c'est comme consulter une page web.
          Il n'y a aucune données dans cette connexion, sauf si quelqu'un à envoyer un message au serveur, le serveur écrit le message dans cette connexion et ferme la connexion. Le client à donc les données.

          Autre cas, c'est le client qui envoie un message, il écrit dans cette connexion, et ferme la connexion. Le serveur à donc les données.

          Dans les 2 cas il refait une connexion automatiquement.
          • [^] # Re: Euhh

            Posté par (page perso) . Évalué à 3.

            Bon je code en peu en javascript c'est pour ça que je pose la question.

            Donc pour récupérer des données sur le serveur tu envoie une requête xmlrpc (http donc) et tu reçois les données.

            Donc ça veux dire que ton client doit régulièrement interroger le serveur.

            ps : autant pour moi, une recherche google semble montrer qu'il existerait des vrais sockets en javascript (enfin vu la qualité du contenu de la première page de google, je pense comprendre pourquoi je suis jamais tombé dessus jusqu'a présent)...
            • [^] # Re: Euhh

              Posté par . Évalué à 3.

              renseigne toi sur Comet et FDAjax
            • [^] # Re: Euhh

              Posté par . Évalué à 1.

              Non pas d'interrogation régulière mais une interrogation dès qu'il ya un message entrant ou sortant
            • [^] # Re: Euhh

              Posté par . Évalué à -1.

              Non pas d'interrogation régulière mais une interrogation dès qu'il ya un message entrant ou sortant
          • [^] # Re: Euhh

            Posté par . Évalué à 1.

            est ce que ca veut dire que chaque client occupe un port du serveur ?
            si oui alors le nombre de clients est limité par le nombre de port du serveur... ou j'ai raté quelque chose ?
            • [^] # Re: Euhh

              Posté par . Évalué à 1.

              Heu ? un client par définition se connect a un port et le server lui peut accueillir plusieurs connexion sur un meme port (Vive le TCP :p)
    • [^] # Re: Euhh

      Posté par (page perso) . Évalué à 3.

      J'ai écrit un petit article qui synthétise deux techniques que j'ai pu trouver sur le net pour faire du COMET :
      http://www.zeitoun.net/index.php?2007/06/22/46-how-to-implem(...)
      (désolé l'article est écrit en langue anglais)


      Il existe sûrement d'autres techniques que je ne connais pas.
      Je suis intéressé par toutes ces techniques donc merci par avance de me laisser un petit message si vous en connaissez, je tacherai de compléter l'article.

      J'espère que la lecture de mon article répondra à ta question.
  • # Pour l'avoir testé ...

    Posté par (page perso) . Évalué à 0.

    C'est franchement pas mal mais deux petits points négatifs :

    1° La fenêtre du chat devrait pouvoir être plus grande. Le temps de taper son message, c'est limite si on doit pas scroller pour lire les autres, et ça quand on est que 10, alors ce que ça donnera à 50 ou plus ...

    2° Quand on tape un message, la fenêtre d'édition est petite aussi, on peu à peu près taper 8 - 9 mots, si on veut dire qq chose d'un peu consistant, on voit plus l'entierté du message, fin bon, ça ces pas trop trop grave, c'est moi génant que 1°

    Sinon c'est assez chouette à utiliser.
    • [^] # Re: Pour l'avoir testé ...

      Posté par . Évalué à 4.

      Pour information, le développeur para nous précise que le client est buggué. Le développeur qui le faisait à arrêter, lui ne sait pas trop coder en JS. Il cherche donc quelqu'un pour lui en coder un.

      Para lui s'occupe du serveur en C qui lui est fonctionnel.
      Je crois même (si j'ai bien compris pas sur) que le chat actuel tourne sur l'ancienne version du serveur.
    • [^] # Re: Pour l'avoir testé ...

      Posté par (page perso) . Évalué à 1.

      franchement, moi je suis bleufé. Il est vraiment pas mal, moi qui suis pro no-script, le JS à bon essiant c'est pas mal. On a vraiment l'impression que les conversation sont instantanées.
      • [^] # Re: Pour l'avoir testé ...

        Posté par . Évalué à 2.

        Pour info on a fait un petit test de flood.
        On était plus de 5 à flooder comme des GROOOOOOOOOOS malades.

        Genre chacun 10 messages à la seconde (ou pas loin) ça restait ULTRA Fluide.
  • # PHPFreeChat?

    Posté par . Évalué à 2.

    Pour un néophyte complet : quelles différences avec http://www.phpfreechat.net/ ?
    • [^] # Re: PHPFreeChat?

      Posté par . Évalué à 1.

      Oui pas de base de donnée ni de refresh récurant :)
      • [^] # Re: PHPFreeChat?

        Posté par (page perso) . Évalué à 2.

        > pas de base de donnée

        phpfreechat n'a pas non plus de base de données.

        > ni de refresh récurant :)

        phpfreechat fait-il différemment ses refreshs ? J'ai l'impression qu'il fait comme ACE.

        J'utilise actuellement PFC, et j'en suis très satisfait, qu'est-ce que ACE m'apporterait de plus ?
        C'est pas un troll, c'est juste pour savoir :)

        Note : les 2 sont libres (GPL pour ACE et LGPL pour PFC).
        • [^] # Re: PHPFreeChat?

          Posté par (page perso) . Évalué à 5.

          Je suis le développeur de phpfreechat.

          Je vais essayer de répondre très objectivement sur la question des refresh :
          phpfreechat utilise des refresh périodiques (par défaut toutes les 5 secondes) alors que ACE utilise des connexions persistantes donc sans refresh périodique. ACE est ainsi beaucoup plus réactif que phpfreechat.
          • [^] # Re: PHPFreeChat?

            Posté par . Évalué à 1.

            Cependant mon but c'est pas du tout de faire de la "concurrence" à PHPFreeChat qui est un projet très abouti et pour l'instant est largement plus utilisable
  • # Rappel du sujet

    Posté par . Évalué à 2.

    Je voudrai quand même rapeler le but initial de ce sujet qui est que je recherche des developpeurs JavaScript.

    Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.