diff --git a/content/posts/poezio-0.14.fr.md b/content/posts/poezio-0.14.fr.md new file mode 100644 index 0000000..13e841a --- /dev/null +++ b/content/posts/poezio-0.14.fr.md @@ -0,0 +1,143 @@ +--- +title: "Nouvelles de Poezio et de son ecosystème" +date: 2022-04-02T12:00:00+01:00 +translationKey: 'poezio-0.14' +tags: [XMPP, Poezio, Slixmpp, OMEMO, Rust] +draft: true +--- + +De nouvelles versions des logiciels proches de Poezio, un client TUI (Terminal +UI) pour XMPP, ainsi que Poezio lui-même, sont récemment sorties. Parmi +ceux-ci, la bibliothèque XMPP [Slixmpp][slix], et les plugins OMEMO de +[poezio][poezio-omemo] et de [slixmpp][slix-omemo]. + +# Corrections de bugs et diverses améliorations + +[Mathieui][mathieui] a déjà rédigé une [note de mise à jour pour Slixmpp +(en)][slix180] et je vous invite à la lire ! Cette nouvelle version inclut +évidemment plein de corrections de bugs, mais aussi des changements internes +concernant une API async, qui peuvent peut-être vous concerner. + +Poezio lui aussi a reçu beaucoup améliorations. + +En interne, d'une part, notre branche par défaut a été déplacée vers « main ». +Plein de type hints on été ajoutés, des casts implicites retirés. La gestion +des évènement est maintenant en majorité async. Les API de Slixmpp sont +utilisés au profit de celles qui avaient précédemment été faites pour poezio. +Du refactoring, et aussi des améliorations concernant les performance de +l'application. + +La license a aussi été changée, et Poezio est maintenant sous [GPLv3+][GPL] ! +Même si je ne suis pas particulièrement en faveur de la propriété +intellectuelle[^0], c'est un levier facilement accessible que nous avons +contre le capitalisme[^1]. Poezio est aussi un endroit où trouver plein +d'exemples d'utilisation de Slixmpp, et en ce sens du code GPL pourrait +permettre aux 4 libertés d'atteindre les utilisateurices. Ça nous permettrait +aussi d'intégrer poezio-omemo dans poezio directement. Je souhaite +personellement que la license de Slixmpp soit aussi changée. + +[^0]: *TODO: article à écrire.* Ça se résumerait certainement à « Abolition de + la propriété intellectuelle, ainsi que la propriété privée » +[^1]: Quand ils ne décident pas de l'ignorer et de nous faire le doigt. + +Et d'autres améliorations plus visibles pour les utilisateurices ! Pour en citer +quelques-unes, il est maintenant possible d'utiliser des URI comme +`xmpp:...?join` en utilisant `/join`, et la création de salons « impromptus » +et maintenant plus fiable et ces salons auront des noms plus courts. Vous +pouvez lire plus [dans le changelog (en)][poezio-changelog]. + +La gestion de l'archive ([MAM][XEP-0313]) faisait déjà partie de la dernière +version, mais elle a été retravaillée, et devrait aussi être plus fiable. Du +travail autour de la gestion des ID de messages -- que notre format de log ne +stock pas -- devra être prévu par la suite pour permettre de dédupliquer plus +facilement les messages. + +Les plugins aussi ont été améliorés. Un nouveau plugin `untrackme` remplace +`remove_get_trackers` qui est maintenant déprecié. [Link Mauve][linkmauve] a +aussi développé un plugin appelé `sticker` (pour les envoyer), similaire à ce +que [Movim][movim] fait depuis des années. La gestion des présences étendues +(activity, gaming, mood, user tune) a été enlevée de Poezio et bougée dans le +plugin `user_extras`. Ainsi que plein de corrections. + +Beaucoup de ces améliorations et corrections ont été réalisées par +[mathieui][mathieui], qui est de loin le plus gros contributeur sur cette +version, et de manière générale la personne qui connait le mieux le projet. +Merci aussi à louiz de nous avoir fourni l'infrastructure tout ce temps, et à +eijebong, Ge0rG, Kaghav Gururajan, kaliko, Thomas Hrnciar et southerntofu pour +les nombreux patchs. + +# Chiffrement de bout-à-bout + +L'API `E2EEPlugin` de Poezio a été améliorée pour répondre aux besoins des +plugins poezio-omemo et slixmpp-omemo ainsi qu'aux changements dans la +bibliothèque OMEMO. Ces deux plugins ont aussi eu le droit à leur lot de +changement ! + +Les *heartbeats* (« pulsation ») sont maintenant supportés. Les heartbeats +sont des messages méta qui ne contiennent que les informations nécessaires au +chiffrement, et sont utilisés pour renforcer la *forward secrecy* +([confidentialité persistante][FS]). Ceci est particulièrement utile dans des +clients comme Poezio qui peuvent tourner en fond, et qui reçoivent beaucoup de +messages sans pour autant y répondre. + +D'autres changements sont apparus, comme la coloration des empreintes de clés +(*fingerprints*) utilisant la méthode décrite dans [Consistent Color +Generation][XEP-0392] -- comme spécifié dans la version actuelle (0.8) +d'[OMEMO][XEP-0384] -- ou l'envoi de fichiers chiffrés (URI aesgcm). + +What hasn't changed is that this plugin lacks a UI and trust management. +Hopefully this should come soon, with a little motivation to do UI work. + +Ce qui n'a pas encore changé, c'est le manque d'interface utilisateur, et la +gestion de la confiance des clés. Avec un peu de motivation pour travailler +sur l'interface, ça ne devrait pas trop tarder. + +# La suite + +Dans l'ensemble, il n'y a pas ou peu de changements révolutionnaires, mais +cette version vient corriger plein de petites coupures qui je l'espère +devraient rendre la vie des utilisateurices plus agréable. Ce qui me fait +penser que même si Poezio est loin d'être parfait, il n'y a plus à priori de +gros changements à faire. + +Il reste pourtant quelques changements qui vont demander beaucoup de +refactoring, des changements comme la gestion de comptes multiples, ou de +façon général une maintenance plus facile. + +Nous avons décidé de convertir Poezio vers Rust. D'une part pour être capable +de refactorer le projet plus facilement, mais aussi parce que c'est un langage +que nous avons appris à apprécier au fil des années via l'expérience d'autres +projets, et plus particulièrement au sein de [xmpp-rs][xmpp-rs], une +bibliothèque XMPP en Rust. + +Tout ça devrait commencer dès la version sortie, et nous invitons les +personnes intéressées à nous rejoindre ! + +[poezio]: https://lab.louiz.org/poezio/poezio +[slix]: https://lab.louiz.org/poezio/slixmpp +[poezio-omemo]: https://lab.louiz.org/poezio/poezio-omemo +[slix-omemo]: https://lab.louiz.org/poezio/slixmpp-omemo +[movim]: https://movim.eu +[xmpp-rs]: https://xmpp.rs + +[mathieui]: https://mathieui.net +[linkmauve]: https://linkmauve.fr + +[poezio014]: https://lab.louiz.org/poezio/poezio/-/tags/v0.14 +[poezio-changelog]: https://lab.louiz.org/poezio/poezio/-/raw/v0.14/CHANGELOG +[slix180]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.0 +[slix181]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.1 +[slix182]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.2 +[poezio-omemo050]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.5.0 +[poezio-omemo051]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.5.1 +[poezio-omemo060]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.6.0 +[slix-omemo060]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.6.0 +[slix-omemo061]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.6.1 +[slix-omemo070]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.7.0 + +[GPL]: https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU +[FS]: https://fr.wikipedia.org/wiki/Confidentialit%C3%A9_persistante + +[XEP-0313]: https://xmpp.org/extensions/xep-0313.html +[XEP-0384]: https://xmpp.org/extensions/xep-0384.html +[XEP-0392]: https://xmpp.org/extensions/xep-0392.html