XMPP: mise à jour Monal, eturnal et progrès du GSoC - 6 aout 2020

Posté par  . Édité par seveso, Davy Defaud, alkino, ZeroHeure et Ysabeau. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
24
14
août
2020
XMPP

N. D. T. — Ceci est une traduction de la lettre d’information publiée régulièrement par l’équipe de communication de la XSF, essayant de conserver les tournures de phrase et l’esprit de l’original. Elle est publiée conjointement sur les sites LinuxFr.org et JabberFR.org.

Bienvenue dans la lettre d’information XMPP couvrant le mois de juillet 2020.

Vous y trouverez, en plus des nouveautés, un appel à contribuer à la documentation et à la vie de XMPP.

Sommaire

Annonces de la XSF

JC Brand a mis en place un site de publication d’offres d’emploi en lien avec XMPP ! Il vous permettra d’accéder à des offres d’emploi, mais également de faire la publicité de services XMPP. Jetez‑y un œil, publiez vos propres offres et recommandez‑le. XMPP, ça marche !

Site de publication d’offres d’emploi XMPP

Articles

Quel est le potentiel de passage à l’échelle du serveur MongooseIM ? Découvrez comment Bartek Górny, un des membres de l’équipe MongooseIM, est parvenu à gérer presque 2,5 millions de connexions, échangeant 45 000 messages par seconde, et pourquoi il estime que 10 millions de connexions seraient facilement atteignables dans « Passer une mangouste à l’échelle » [en anglais].

Pep., contributeur du client XMPP Poezio et membre du bureau de la XSF, a écrit un article [en anglais] détaillant son point de vue sur l’interopérabilité au sein de XMPP et l’importance des principes de conception.

Yarmo Mackenbach a écrit un article [en anglais] sur XMPP et l’intégration de OMEMO dans Keyoxide, une plate‑forme moderne, sécurisée et orientée respect des données personnelles pour établir votre identité numérique en ligne et réaliser des opérations de chiffrement simple.

Des nouvelles des logiciels

Clients et applications

La version 1.2.1 du client de bureau multi‑plate‑forme Gajim a été publié. Deux semaines après la sortie de Gajim 1.2, la mise à jour suivante est déjà là. Gajim 1.2.1 inclut le signalement de messages indésirables, comme spécifié par la XEP‑0377, l’activation automatique des greffons inclus d’office, ce qui implique une activation de OMEMO par défaut, et quelques corrections de bogues. Les appels audio et vidéo y gagnent quelques améliorations, mais restent hautement expérimentaux.
Des nouvelles du développement de juillet : une vérification automatique des mises à jour de Gajim sur Windows et macOS, un stockage amélioré des mots de passe de comptes, une correction concernant OMEMO et un tas de petites améliorations.

Profanity, le client à interface utilisateur en mode texte, a publié sa version 0.9.5 qui corrige une éventuelle erreur de segmentation lors de l’usage de la commande /theme properties. Elle est utilisée pour afficher les couleurs exploitées par le thème courant.

Anurodh Pokharel a publié la version 4.7 du client pour iOS et macOS Monal. Malgré un numéro de version mineur, c’est une grosse mise à jour. En plus des corrections habituelles d’interface et des améliorations de stabilité, vous trouverez : une nouvelle barre de titre visible lors des discussions (illustrée ci‑dessous), la prise en charge de la XEP‑0319 (Last User Interaction in Presence) pour que vous sachiez quand votre contact s’est connecté pour la dernière fois, la prise en charge de la XEP‑0085 (Chat State Notifications) pour ces utiles notifications de « rédaction en cours », et la prise en charge de la XEP‑0191 (Blocking Command) à mettre en œuvre quand un indésirable se pointe.

La barre de navigation Monal

Le dépôt Git de Pix‑Art Messenger a été déplacé de GitHub à Codeberg. Ce processus de migration n’est pas encore terminé. En attendant, les deux dépôts tourneront en parallèle. Concernant le logiciel lui‑même, les versions 2.5.1 et 2.5.2 de Pix‑Art Messenger ont été publiées, surlignant en couleur les discussions épinglées, améliorant la qualité des vidéos et optimisant dynamiquement la compression des fichiers.

Kontalk pour Android a publié une nouvelle version 4.4.0 ! En dehors des corrections et des améliorations, il se dote d’un thème sombre, prend en charge le partage vers les groupes, l’exportation de médias ainsi que la suppression des médias associés lors de la suppression de messages. Les paramètres ont été réorganisés et Android 10 est dorénavant pris en charge.

Le client Android aTalk a publié plusieurs versions mineures 2.3.x comportant corrections et améliorations.

Serveurs

MongooseIM 3.7.1 est sorti !
Cette version se base sur la version 3.7.0, sortie en mai, qui avait introduit la prise en charge du transfert sécurisé d’autorisations à une sous‑couche réseau (en anglais, channel binding). Ce mécanisme sert à empêcher les attaques par rejeu pour l’ensemble des méthodes de SCRAM, une famille de mécanismes modernes d’authentification par défi‑réponse, basés sur des mots de passe, fournissant une authentification d’un utilisateur à un serveur. Cette précédente version fournissait également un ensemble de nouvelles méthodes d’authentification SCRAM basées sur différentes versions des fonctions de hachage cryptographique SHA, la capacité de rétracter des messages comme spécifié dans la XEP‑0424, et la prise en charge du Proxy Protocol qui transporte de manière sécurisée les informations de connexion, telles que l’adresse d’un client, à travers plusieurs couches de NAT ou de serveurs mandataires (proxies) TCP. La version 3.7.1 améliore tout cela en accélérant significativement toutes les méthodes SCRAM.

Tigase XMPP Server 8.1.0 General Availability est sorti et il est bourré d’améliorations !
Le mécanisme SASL-EXTERNAL défini dans la XEP‑0178 (Best Practices for Use of SASL EXTERNAL with Certificates) pour permettre les connexions authentifiées basées sur un certificat a été ajouté aux connexions de serveur à serveur, améliorant grandement la conformité avec le réseau fédéré XMPP. En fonction de la prise en charge par les autres serveurs, il est possible d’utiliser à la fois SASL‑EXTERNAL et Dialback, un autre mécanisme d’authentification défini par la XEP‑0220. Plusieurs extensions XMPP ont été ajoutées :

  • XEP‑0398 (User Avatar to vCard‑Based Avatars Conversion) : conversion de l’avatar utilisateur en avatar basé sur vCard ;
  • XEP‑0156 (Discovering Alternative XMPP Connection Methods) : découverte de méthodes alternatives de connexions XMPP ;
  • XEP‑0410 (MUC Self‑Ping — Schrödinger’s Chat) : auto‑ping des salons de discussion ;
  • XEP‑0153 (vCard‑Based Avatars) : avatars basés sur vCard ;
  • XEP‑0411 (Bookmarks Conversion) : conversion des marque‑pages ;
  • XEP‑0157 (Contact Addresses for XMPP Services) : adresses de contacts pour les services XMPP.

Cette version améliore également la gestion de multiples domaines dans des hôtes virtuels et active par défaut un nouveau greffon anti‑pourriel.

Un nouveau serveur TURN, nommé eturnal a été publié. Les services STUN/TURN permettent de mettre en contact des appareils sans connexion directe à Internet, dans un réseau local ou placés derrière un pare‑feu. C’est une version autonome de la partie serveur TURN intégrée dans ejabberd (avec quelques améliorations) et une alternative simple aux serveurs tels que Coturn, qui peuvent être utilisés pour offrir des services STUN/TURN aux clients audio et vidéo utilisant la découverte de services externes telle que définie dans la XEP‑0215.

Bibliothèques

Tigase JaXMPP 3.3.0 a été publié !

Les principales fonctionnalités apportées par cette version sont la prise en charge du chiffrement OMEMO, permettant de mettre en place plus facilement des conversations chiffrées, et la prise en charge de la XEP‑0305 (XMPP Quickstart) permettant d’établir des connexions plus rapidement. En sus, la prise en charge de SCRAM a été étendue à SCRAM‑SHA512. La découverte de services peut maintenant être contrôlée avec la XEP‑0059 (Result Set Management). Les formulaires DataForms comportant plusieurs éléments ont été implémentés et la délivrance de messages dans les salons de discussions a été améliorée. Enfin, la connectivité avec le Firebase Cloud Messaging (FCM) de Google a été corrigée.

La version 1.0.1 de python-nbxmpp, la bibliothèque développée pour et par l’équipe de développement de Gajim, a été publiée. Cette version inclut une correction pour un bogue empêchant de déchiffrer des messages en provenance du client iOS ChatSecure après qu’un certain temps se soit écoulé. Elle comprend également quelques corrections pour les connexions par WebSocket.

La communauté Ignite Realtime est heureuse d’annoncer la sortie de jXMPP version 1.0.0 !

jXMPP est une bibliothèque qui fournit les fonctionnalités communes requises par toutes sortes d’implémentations XMPP (serveurs, clients, composants, etc.). Entre autres choses, elle fournit une implémentation saine des types de JID.
Jetez un œil à sa documentation Javadoc !

Divers

La passerelle whatsxmpp, qui permet de faire communiquer un serveur XMPP avec le site Web de WhatsApp, a vu plusieurs corrections et améliorations ce mois‑ci, principalement via le retour d’utilisateurs ayant remonté des erreurs. L’équipe de développement est passée au gestionnaire de paquets Nix pour construire ses images Docker, avec pour effet de produire des images plus rapidement et de manière reproductible ! La version stable 0.1 se rapproche et les fonctionnalités de base sont déjà utilisables et testées en conditions réelles. Quelques améliorations de stabilité sont encore nécessaires et quelques fonctionnalités, telles qu’une prise en charge correcte de l’historique des salons et le téléversement de fichiers via les serveurs WhatsApp sont manquantes !
Allez faire un tour dans leur salon de discussion whatsxmpp@conf.theta.eu.org si vous êtes intéressé par l’utilisation ou la mise à disposition de cette passerelle.

Google Summer of Code

Depuis début mai, des étudiants du monde entier travaillent sur plusieurs projets libres dans le cadre de cette saison du Google Summer of Code. Nous aimerions présenter les étudiants qui travaillent sur les projets XMPP du GSoC et partager leurs premières entrées de blog :

Aditya Borikar travaille sur la prise en charge de WebSocket dans Smack ; historique de son blog :

Anmol (wolfie_anmol) travaille à l’implémentation de messages en temps réel dans Dino (XEP‑0301 In‑Band Real Time Text) ; historique de son blog :

Activer/Désactiver RTT dans Dino

Merci de votre participation aux projets XMPP du GSoC et continuez votre travail de qualité ! À suivre.

Extensions et spécifications

Mises à jour

  • version 0.7.0 de la XEP‑0313 (Message Archive Management) — TL;DR: ajoute de nouveaux champs de filtrage, permet l’inversion de l’ordre des résultats et migre plusieurs informations vers des documents externes) :
    • ajout des champs before-id et after-id, de l’inversion des pages, de la récupération d’élément unique et d’une nouvelle fonctionnalité disco obligatoire,
    • extrait le protocole des préférences vers un document séparé,
    • extrait les détails des archives PubSub vers un document séparé ;
  • version 1.0.0 de la XEP‑0338 (Jingle Grouping Framework) :
    • évolue vers le statut Brouillon, comme voté par le Conseil le 1ᵉʳ juillet 2020 ;
  • version 0.3.0 de la XEP-0420 (Stanza Content Encryption) — TL;DR: quelques changements concernant les éléments autorisés ou non à être chiffrés, amélioration de sécurité par une plus grande entropie dans les éléments aléatoires de remplissage :
    • autorise les éléments origin-id, interdit stanza-id et les stanze étendues adressant des éléments à l’intérieur de l’élément payload,
    • clarifie la formulation de la section sur les éléments traités dans le cadre d’une stanza et améliore le format de la XEP,
    • lève la limitation du contenu aléatoire de remplissage aux seuls caractères base64,
    • les messages de discussion doivent contenir un indicateur de traitement de stockage des messages,
    • attributions là où des attributions sont nécessaires.

Remerciements

Cette lettre d’information XMPP a été réalisée collaborativement par la communauté. Merci à eta, emus, erszcz, Ge0rG, Holger, kriztan, jerome-poisson, jonas', Licaon_Kter, pmaziere, vanitasvitae, wurstsalat3000, woj-tek, Zash pour leur aide durant son élaboration !

Diffusez ces informations !

Partagez ces informations sur les « réseaux sociaux » :

Appel à la communauté

Inscrivez‑vous à la lettre d’information

Nous vous invitons à vous inscrire pour recevoir les prochaines éditions en anglais dans votre boîte de courriel dès qu’elles seront publiées ! Diffusez cette lettre d’information à quiconque serait intéressé.

Aidez‑nous à élaborer cette lettre d’information

Nous avons commencé à mettre en place un brouillon à chaque nouvelle édition dans le dépôt GitHub de la XSF.

Et nous sommes toujours ravis d’accueillir des contributeurs et des contributrices. Joignez‑vous à la discussion dans le salon de notre équipe de communication et aidez‑nous ainsi à alimenter cette lettre dans un effort communautaire.

Vous avez un projet et vous écrivez, ou voudriez écrire, à son sujet ? N’hésitez pas à venir partager vos informations ou évènements ici‑même, et diffusez‑les à un large public ! Même si vous n’y passez que quelques minutes, cela sera déjà utile.

Les tâches qui nécessitent d’être réalisées de manière régulière sont, par exemple :

  • l’agrégation des informations de l’univers XMPP ;
  • la reformulation courte des informations et des évènements ;
  • le résumé des communications mensuelles sur les extensions (XEP) ;
  • la relecture du brouillon ;
  • les traductions, particulièrement en français, allemand et espagnol.

Licence

Cette lettre d’information est publiée sous la licence CC BY‑SA 4.0.

Aller plus loin

  • # Typo

    Posté par  . Évalué à 2 (+1/-0).

    Juste pour signaler une mini typo : Chaptitre 10 -> Chapitre

    • [^] # Re: Typo

      Posté par  (site Web personnel) . Évalué à 3 (+1/-0).

      Corrigé, merci.

      OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

Envoyer un commentaire

Suivre le flux des commentaires

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