144 lines
7.2 KiB
Markdown
144 lines
7.2 KiB
Markdown
|
---
|
|||
|
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
|