• chevron_right

    Adrien Dorsaz – Dimanche, 25 Novembre - 07:18 edit

    Sortie de Prosody 0.11


  • share chevron-right

    Sortie de Prosody 0.11

    Ceci est la traduction de l’article Prosody 0.11.0 released, et est également disponible sur JabberFR ainsi que sur le blog de Prosody. Nous somme ravis d’annoncer la sortie longuement attendue du serveur XMPP Prosody 0.11.0 ! Ceci est la première version de la série 0.11, qui sera maintenant considérée comme la série stable. Cette version, avec plus de 2000 commits, n’aurait pas pu se faire sans l'aide de nombreux contributeurs, testeurs, et autres membres de la communauté. Merci ! lien n°1 : Prosody 0.11.0 released lien n°2 : Sortie de Prosody 0.11 lien n°3 : Notes de version lien n°4 : Setting up a modern XMPP server lien n°5 : Page de téléchargement lien n°6 : Discussion channels Sommaire Points importants Fonctionnalités principales Amélioration des salons Amélioration de la configuration Archivage des messages Réservation du pseudo Protocole PubSub PEP Nouveau format de vCard Optimisations de l’autonomie des portables Changements internes APIs asynchrones Automatisation des tests Support natif d’epoll Mise à jour depuis une version précédente Mise à jour de MySQL Lua 5.2 Tutoriels Téléchargement Points importants Si vous êtes impatients d'utiliser 0.11.0, c'est certainement dû au travail important qui a été fait dans cette version sur deux composants : MUC (Multi-User Conference) et PubSub. Ces deux composants implémentent les XEPs les plus complexes que XMPP fournit actuellement. Même si les versions précédentes fournissaient déjà MUC et PubSub, ceux-ci sont tous les deux des protocoles complexes ; ainsi, après une première implémentation, il nous semblait important de les revisiter pour mieux couvrir les fonctionnalités décrites dans les XEPs, mais aussi pour améliorer la structure du code et permettre la montée en charge. Cette version comprend beaucoup d'autres changements, corrections de bugs, amélioration de performances, etc. Les principaux changements sont détaillés ci-dessous. Fonctionnalités principales Amélioration des salons Un des plus gros changements dans cette version est le fait que MUC (Multi-User Conference) ait été presque entièrement réécrit. Ce projet ambitieux a été démarré plusieurs années plus tôt par daurnimator, qui a développé la majorité de ce nouveau code. Même si la plupart des changements restent internes au composant, cela nous a permis d'ajouter de nouvelles fonctionnalités plus facilement, mais aussi de permettre la montée en charge des services de MUC (cette nouvelle version de MUC est utilisée par Jitsi Meet ainsi que d’autres services hébergeant des centaines de milliers de groupes). Les améliorations sont trop nombreuses pour être toutes citées, cependant quelques points sont mis en avant ici. Amélioration de la configuration Le formulaire de configuration a été réorganisé et propose maintenant un agencement et des options plus claires. Nous avons hâte d'intégrer des traductions dans une version future ! Archivage des messages Nous avons ajouté le support pour l'archivage et la récupération des messages envoyés à un salon, en utilisant le protocole de la XEP-0313 (MAM, Message Archive Management). Cela permet à un client d'afficher des messages qui ont été envoyés lorsqu'il était hors-ligne. Réservation du pseudo Pour éviter toute confusion, Prosody peut désormais forcer la réservation de pseudo dans un salon, pour empêcher quelqu’un de se faire passer pour un autre, qui ne serait pas au même moment présent dans le salon. Par défaut, seuls les propriétaires et administrateurs d’un salon peuvent réaliser cette action — en rendant un utilisateur membre du salon —, mais il est aussi possible de le configurer pour autoriser les utilisateurs à enregistrer leur propre pseudo et à devenir membre par la même occasion. Protocole PubSub Notre implémentation de PubSub a beaucoup été améliorée pour cette version. Link Mauve a travaillé sur la persistance des nodes et des items, ce qui veut dire que les données peuvent être stockées sur le disque plutôt qu’en mémoire et ne seront donc plus perdues lorsque le serveur est relancé. Nous avons également implémenté la configuration des nodes et la gestion des affiliations, nécessaires à un contrôle d’accès avancé. Et finalement, nous avons ajouté le fameux publish-options qui permet aux clients de publier des items en spécifiant leurs droits d’accès de façon sécurisée. PEP Notre ancien code pour PEP était une implémentation minimale, séparée du code de PubSub, qui implémentait tout ce dont les clients avaient besoin en 2009. De plus en plus de fonctionnalités de PubSub ont été demandées au fil des années pour PEP, qui devenait de plus en plus utilisé. Il devenait évident que PEP devait fournir toutes les fonctionnalités de PubSub et aurait dû utiliser le même code. Florian Zeitz a démarré ce projet en créant un nouveau module mod_pep_plus. Ce module est maintenant l'implémentation par défaut et est utilisé à la place du module mod_pep d’origine. Ceci nous permet de prendre en charge OMEMO pour les gens n’étant pas dans votre liste de contacts. Ça permet aussi aux clients d’utiliser PEP pour stocker les marque-pages et autres données. Nouveau format de vCard Cette version implémente la nouvelle version de la spécification vCard (vCard4), décrite dans la XEP-0292, et supporte de nombreux nouveaux champs. Votre vCard est aussi stockée dans PEP, ce qui autorise un contrôle d'accès avancé (par exemple vous pouvez choisir que votre vCard soit publique, ou disponible uniquement pour vos contacts). Peu de clients, voire même aucun, ne supporte vCard4, mais l’ancien protocole vcard-temp est toujours supporté en utilisant mod_vcard_legacy, qui traduit vers le nouveau format de manière transparente, jusqu’à ce que les clients se mettent à jour. Optimisations de l’autonomie des portables Cette version vient avec quelques modules communautaires visant à améliorer l’autonomie des clients mobiles. Un traffic constant peut empêcher un téléphone de passer en mode d’économie d’énergie, par exemple avec les changements de statut des contacts, ou beaucoup de messages des salons. Mais ces informations ne sont généralement pas importantes, surtout quand le téléphone est en veille ou que l’application est en arrière-plan. Les clients qui prennent en charge la XEP-0352, tel que Conversations, peuvent informer le serveur quand leur application est mise en arrière-plan, et Prosody va réagir en optimisant le traffic sur la connexion. Ceci est implémenté dans mod_csi_simple. Changements internes APIs asynchrones Nous avons consacré beaucoup d'efforts à ajouter des tests et à rendre notre API asynchrone interne plus robuste. Cette API sera utilisée pour améliorer les performance des plus gros services. Avec ces changements, l’authentification ou les plugins de stockage asynchrones sont maintenant supportés de façon expérimentale. Prosody ne supportera pas cette API officiellement pour cette version car il reste beaucoup de changements prévus. Automatisation des tests Une des plus grosses améliorations récentes au projet a été le nombre croissant de tests automatisés. Les versions précédentes ont été presque entièrement testées à la main, à cause du peu de tests automatiques disponibles, mais nous avons désormais une large batterie de tests qui tourne après chaque changement. Plus de détails dans un futur article ! Support natif d’epoll Ce nouveau backend réseau expérimental fournit une alternative à libevent. Parmi ses avantages, il est plus petit et plus simple, mais disponible uniquement sous Linux. Mise à jour depuis une version précédente Si vous mettez à jour depuis une version précédente, nous vous recommandons très fortement de lire les notes de version. Quelques changements importants sont listés ici. Mise à jour de MySQL Les utilisateurs de MySQL doivent mettre à jour leur schéma avant que Prosody 0.11 puisse fonctionner. Ceci afin de corriger quelques bugs qui empêchent le bon fonctionnement des nouvelles fonctionnalités de PEP. Après la mise à jour, exécutez : prosodyctl mod_storage_sql upgrade Lua 5.2 Prosody dépend de Lua 5.1 depuis le tout début. Comme nous l’avons annoncé lorsque Prosody 0.10 est sorti, nous sommes en train de le mettre à jour vers des versions de Lua plus récentes. La version de Lua recommandée pour Prosody 0.11 est Lua 5.2, mais Lua 5.1 est toujours compatible pour les plates-formes qui en ont besoin. Cependant, les versions 0.11.x sont les dernières versions à être compatibles avec Lua 5.1 (et par extension, LuaJIT). Tutoriels Si vous prévoyez d’installer Prosody pour la première fois, le Homebrew Server Club a publié un excellent tutoriel sur comment configurer un serveur XMPP moderne sur Debian, en utilisant Prosody 0.11. Téléchargement Comme d’habitude, vous pouvez trouver les instructions de téléchargement pour de nombreuses plates-formes sur notre page de téléchargement. Si vous avez des questions, commentaires ou problèmes quelconques avec cette version, dites-le nous ! Télécharger ce contenu au format Epub Commentaires : voir le flux atom ouvrir dans le navigateur

    group_work LinuxFRNews 22 Novembre