Sortie d'ejabberd 15.07

Posté par (page perso) . Édité par palm123, Benoît Sibaud et Nÿco. Modéré par Nÿco. Licence CC by-sa
43
29
juil.
2015
XMPP

ejabberd 15.07 vient de sortir et elle apporte un lot de nouveautés significatives.

Avant d'entrer dans le vif du sujet, pour ceux qui ne connaissent pas encore ce projet, il s'agit d'un serveur de messagerie conforme au protocole XMPP. Ce protocole est très vaste (NdM: voir la série d'articles présentant le protocole) et permet d'implémenter de nombreux types de systèmes de messagerie en temps réel, allant de la messagerie instantanée à l'Internet des objets, en passant par le jeu vidéo. C'est dire l'importance de ce protocole, à une époque où la plupart des systèmes de messagerie restent des silos fermés et sans capacité d'interopérer. XMPP supporte nativement la fédération, ce qui signifie que des utilisateurs de différents domaines peuvent communiquer entre eux.

ejabberd est l'un des serveurs XMPP les plus anciens et les plus reconnus. Il est inclus dans de nombreuses distributions Linux et se distingue par le fait qu'il est développé en Erlang. Cette caractéristique lui donne robustesse et fiabilité, mais aussi forte capacité à monter en charge.

Parmi les changements de fonctionnalités, l'accent est mis sur le support du PubSub et de l'archivage des messages. Ce sont aujourd'hui deux éléments fondamentaux du protocole XMPP qui sont en pleine évolution et façonnent le protocole XMPP de demain. Disposer d'un serveur avec des fonctionnalités très à jour sur ces aspects est crucial pour l'avenir du protocole.

Un gros effort a également été fait sur le packaging et la simplicité d'installation, en offrant notamment la possibilité de compiler et d'installer des modules issus de contributeurs externes sans avoir à devenir un expert d'Erlang.

Cette version est l'aboutissement de gros changements survenus durant les six derniers mois sur le projet et cette dépêche est aussi le moment de faire un bilan.

Depuis le début l'année, l'équipe gérant le projet ejabberd a décidé d'accélérer le rythme des mises à jour. Partant du constat que le protocole XMPP a besoin d'une forte accélération de sa couverture fonctionelle pour faire face à la concurrence des services propriétaires, l'équipe a décidé de reprendre le rythme des débuts, à une époque où ejabberd était la plate-forme expérimentale qui a aidé à façonner les premières versions du protocole XMPP. Cela explique aujourd'hui le rythme effréné d'améliorations du projet.

En six mois, le projet a donc connu cinq versions majeures, presque une version par mois, chacune apportant bon nombre de fonctionnalités importantes. Parmi ces améliorations majeures sur ces derniers mois, l'équipe a ajouté:

  • la gestion du langage de programmation Elixir pour le développement de plugin. Plus moderne et plus abordable qu'Erlang, il aide à démocratiser le développement d'extensions pour ejabberd.
  • de nombreuses fonctionnalités pour les administrateurs. La commande de contrôle du serveur ejabberd, ejabberdctl, s'est vu dotée de dizaines de nouvelles commandes. Il est ainsi possible de gérer l'essentiel du serveur, des salons de discussion, du clustering, juste avec cette commande.
  • un gestionnaire de paquets pour la compilation et l'installation de contributions.
  • la gestion des websockets en plus du protocole HTTP standard pour améliorer la réactivité des clients Web.
  • la gestion de l'archivage coté serveur, avec le protocole MAM (Message Archive Management) et évolution rapide pour coller aux derniers changements.
  • un moteur de contrôle de la syntaxe du fichier de configuration au lancement pour aider l'administrateur d'un serveur ejabberd.
  • l'amélioration de l'interaction avec les clients mobiles avec le support de la gestion des flux.
  • une amélioration des performances.

À noter qu'ejabberd est aussi le seul serveur XMPP à inclure une interface SIP minimaliste pour permettre de passer des appels Voix sur IP avec des clients existants tel que celui fourni par défaut avec Android.

Le rythme de développement doit continuer dans les mois qui viennent avec le support de plusieurs nouvelles extensions XMPP prévues dès les mois de septembre / octobre. Tout dépend de votre retour, alors pour ceux qui pensent que l'avenir de la messagerie en temps réel dépend d'XMPP, c'est le bon moment pour apporter votre soutien au projet et faire vos retours.

  • # MAM

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

    C'est super de voir ce regain d'activité, et vraiment sensible (rien que par le nombre de billets de blogs).

    Petite question pour MAM: c'est implémenté uniquement pour le chat, ou aussi pour PubSub ? Parce qu'aux dernières nouvelles aucun serveur PubSub ne gère MAM ou RSM, et c'est un gros plus pour le microblogage. Nous avons une implémentation dans le notre qui sera dispo à la prochaine sortie.

    Ce sont aujourd'hui deux éléments fondamentaux du protocole XMPP qui sont en pleine évolution et façonnent le protocole XMPP de demain. Disposer d'un serveur avec des fonctionnalités très à jour sur ces aspects est crucial pour l'avenir du protocole.

    Oui ça c'est clair.

    Bravo en tout cas, va falloir que je teste tout ça.

    • [^] # Re: MAM

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

      Pour le MAM, ce n'est pas encore disponible pour PubSub. Nous sommes en train de réfléchir là-dessus, car il faudrait pouvoir en gros choisir entre l'approche "stockage des items sur le noeud" ou MAM en partageant des éléments d'implémentation.

      Mais, oui, cela va venir :)

      Mickaël

  • # Archivage des messages

    Posté par . Évalué à 5.

    Parmi les changements de fonctionnalités, l'accent est mis sur le support […] de l'archivage des messages.

    Yesssss !! Depuis le temps que je l'attendais ! On va enfin pouvoir avoir un système de chat digne de ce nom :) C'est pour moi une fonctionnalité cruciale.

  • # Le choix du langage

    Posté par . Évalué à 3.

    Vous avez l'air de trouver que c'est un avantage que ce logiciel soit en erlang. Y'a-t-il beaucoup de développer dans ce langage ? C'est plutôt un frein, non ?

    • [^] # Re: Le choix du langage

      Posté par (page perso) . Évalué à 6. Dernière modification le 03/08/15 à 10:51.

      Erlang est un avantage pour développer un système de messagerie pour plusieurs raisons:
      - C'est exactement le cas d'usage pour lequel Erlang a été conçu: Le passage de message entre des processes et les systèmes serveur. Cela nous permet d'avoir une très forte performance, une bonne gestion des multiples processeurs, un support du cluster natif, etc.
      - Erlang est très expressif et permet de faire un système serveur complexe en peu de ligne de code. Cela compense largement le fait que ce language n'est pas connu par tous les développeurs.
      - ejabberd est un des projets phares, si ce n'est LE projet phare en Erlang. Cela permet d'avoir des contributions.
      - Erlang n'est pas si inconnu. Par exemple, sur le dernier classement de popularité langages de Redmonk (basé sur Github et StackOverflow), Erlang doit être largement dans le premier tiers (25ème). Cela représente une communauté non négligeable:
      - ejabberd s'est également ouvert au langage Elixir, qui attire beaucoup de développeurs Ruby.

      Mickaël

Suivre le flux des commentaires

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