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

Contribuez Discussion :

Développez un chat en 15 lignes


Sujet :

Contribuez

  1. #1
    Membre régulier Avatar de marcbuils
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 99
    Points : 124
    Points
    124
    Par défaut Développez un chat en 15 lignes
    Bonjour,

    Après deux ans de travail sur cet outil OpenSource, je suis heureux de vous présenter aujourd'hui le premier exemple officiel d'utilisation de WorkESB, un middleware de communication temps réel pour Javascript.

    Afin de montrer la puissance de l'outil, voici un système de chat développé en 15 lignes de code javascript, le tout uniquement coté client.

    Partie html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ul id="conversation">
    </ul>
     
    <div class="bottom">
        <input type="text" id="send_text" />
        <input type="button" id="send_button" value="send" />
    </div>
    Partie JavaScript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    var _login = prompt( "What's your username for this demo ?" );
     
    $.wesbmessenger.singleton()
      // Connect on the WorkESB server
      .connect( 'com.worbesb.demo', 'CHAT', {
        server: "ws://marcbuils.no-ip.org:80/"            
      } )
      // Bind talk on workesb to add
      .bind( 'talk', function( p_text ){
        $( '#conversation' ).prepend( $( '<li />' ).text( p_text ) );
      })
      .trigger( 'talk', '>>> ' + _login + ' is now connected' );
     
    // Trigger a talk event on the WorkESB server when the user write a new line
    $( '#send_button' ).click( function(){
      $.wesbmessenger.singleton().trigger( 'talk', _login + ': ' + $( '#send_text' ).val() );
    });
    Plutot simple, rapide et puissant non ?
    Qu'en pensez vous ?

    Voici le code complet et le résultat :
    http://jsfiddle.net/marcbuils/ssCuN/5/light/

    Si vous voulez jouer avec n'hésitez pas à utiliser le serveur 'ws://marcbuils.no-ip.org:80/'. Une version alpha de WorkESB est prévue à pour Novembre pour la version Windows.

    Si vous avez des questions, n'hésitez pas non plus à les poser, je me ferais une joie de vous répondre !
    Pour moi, une informatique efficace est avant tout une informatique intuitive
    Liste de mes cours: http://marcbuils.developpez.com
    Si vous appréciez mon intervention, dite le avec le

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    La mise en oeuvre à l'air très simple...
    Existe-t-il une documentation en particulier sur la partie connexion au serveur ?
    Je suis curieux et j'aimerais avoir un peu plus de détails sur le fonctionnement, et les fonctionnalités ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre régulier Avatar de marcbuils
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 99
    Points : 124
    Points
    124
    Par défaut
    Bonjour SpaceFrog,

    Pour l'instant je n'ai pas encore attaqué la documentation, j'ai prévu de la commencer la semaine prochaine afin de faire un première version Alpha à la fin du mois.
    Mais en ce qui concerne la partie connexion, la syntaxe est la suivante:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .connect( NOM_DU_DOMAINE, NOM_DU_CLIENT [, {
      server: ADRESSE_DU_SERVEUR_WORKESB,
      frenquency: FREQUENCE_DE_RAFRAICHISSEMENT_DES_INFOS // en ms (50 par défaut)
    } ])

    Ce qu'il faut savoir, c'est que le nom du domaine suis le même principe que les adresses DNS, c'est à dire qu'un client du domaine com.workesb va pouvoir accéder au informations du domaine com.workesb.demo, mais pas l'inverse.

    Coté serveur, c'est un exécutable à lancer qui peut être complété avec des plugins en C++ et LUA. Il sera dans un premier temps compatible Windows pour la version Alpha1, mais le code peut être également compilé sous Linux.
    Je pense que ça peut être un bon complément à Node.js pour développer sous forme de services par exemple.


    Je devrais revenir bientôt avec plus d'infos !
    Pour moi, une informatique efficace est avant tout une informatique intuitive
    Liste de mes cours: http://marcbuils.developpez.com
    Si vous appréciez mon intervention, dite le avec le

  4. #4
    Membre régulier Avatar de marcbuils
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 99
    Points : 124
    Points
    124
    Par défaut
    Pour info, voici l'interface de supervision de WorkESB:
    http://marcbuils.no-ip.org/admin/

    Si tu essayes le chat en même temps, tu verra passer les messages sur le superviseur

    Au niveau des fonctionnalités, WorkESB est un serveur qui permet le partage de données, de fonctions et d'évènements au travers du réseau. Il est basé sur le serveur de messagerie DDS OpenSplice.
    Pour moi, une informatique efficace est avant tout une informatique intuitive
    Liste de mes cours: http://marcbuils.developpez.com
    Si vous appréciez mon intervention, dite le avec le

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Coté serveur, c'est un exécutable à lancer
    Merci pour ces précisions, c'est surtout cette partie là qui me posait question.
    A ton avis plutot qu'un executable est il envisageable d'avoir un module PHP ?

    Je suis aussi curieux de savoir ou les conversation sont stockées ?
    Il est basé sur le serveur de messagerie DDS OpenSplice.
    Je vais me documenter pour voir comment cela fonctionne ...

    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Mise en place d'un modul de chat pour l'aide en ligne
    Par camcam8782 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 06/10/2010, 19h15
  2. Module Chat : atteindre la dernière ligne affiché dans un DIV
    Par hatembr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/06/2006, 13h17
  3. Nouveau système de CHAT en ligne
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 17
    Dernier message: 15/01/2006, 18h58

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