2022-04-01 22:38:38 +00:00
|
|
|
|
---
|
2022-04-10 15:59:28 +00:00
|
|
|
|
title: "Des nouvelles de Poezio et de son ecosystème"
|
|
|
|
|
date: 2022-04-10T12:00:00+01:00
|
2022-04-01 22:38:38 +00:00
|
|
|
|
translationKey: 'poezio-0.14'
|
|
|
|
|
tags: [XMPP, Poezio, Slixmpp, OMEMO, Rust]
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2022-04-29 20:45:37 +00:00
|
|
|
|
<figure class="center-img">
|
|
|
|
|
<a href="/2022/04/poezio-full.avif">
|
|
|
|
|
<picture>
|
|
|
|
|
<source srcset="/2022/04/poezio-full.avif" type="image/avif" />
|
|
|
|
|
<img
|
|
|
|
|
decoding="async"
|
|
|
|
|
src="/2022/04/poezio-full.png"
|
|
|
|
|
alt="Poezio example screenshot 2"
|
|
|
|
|
/>
|
|
|
|
|
</picture>
|
|
|
|
|
</a>
|
|
|
|
|
<a href="/2022/04/poezio-full.2.avif">
|
|
|
|
|
<picture>
|
|
|
|
|
<source srcset="/2022/04/poezio-full.2.avif" type="image/avif" />
|
|
|
|
|
<img
|
|
|
|
|
decoding="async"
|
|
|
|
|
src="/2022/04/poezio-full.2.png"
|
|
|
|
|
alt="Poezio example screenshot 1"
|
|
|
|
|
/>
|
|
|
|
|
</picture>
|
|
|
|
|
</a>
|
|
|
|
|
<figcaption>Examples de screenshots. Merci jonas’ pour le thème bleu !</figcaption>
|
2022-04-10 15:59:28 +00:00
|
|
|
|
</figure>
|
|
|
|
|
|
2022-04-29 20:45:37 +00:00
|
|
|
|
|
2022-04-01 22:38:38 +00:00
|
|
|
|
[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.
|
|
|
|
|
|
2022-04-03 18:25:59 +00:00
|
|
|
|
Poezio lui aussi a reçu beaucoup d'améliorations.
|
2022-04-01 22:38:38 +00:00
|
|
|
|
|
|
|
|
|
En interne, d'une part, notre branche par défaut a été déplacée vers « main ».
|
2022-04-03 18:25:59 +00:00
|
|
|
|
Plein d'annotations de types on été ajoutés, des convertions implicites
|
2022-04-08 00:19:30 +00:00
|
|
|
|
retirées. La gestion des évènements est maintenant en majorité async. Les API
|
|
|
|
|
de Slixmpp sont utilisées au profit de celles qui avaient précédemment été
|
|
|
|
|
refaites pour poezio. Du refactoring, et aussi des améliorations concernant les
|
2022-04-03 18:25:59 +00:00
|
|
|
|
performances de l'application.
|
2022-04-01 22:38:38 +00:00
|
|
|
|
|
2022-04-08 00:19:30 +00:00
|
|
|
|
Le support de Pypy3 a été retiré dû au fait que beaucoup d'utilisateurices en
|
|
|
|
|
arrivaient à utiliser un module cffi spécialement réalisé pour Pypy3 à la
|
2022-04-10 15:59:28 +00:00
|
|
|
|
place de l'implémentation plus performante en C. Pour celleux qui utilisent
|
|
|
|
|
Poezio directement à partir des sources et qui n'utilisent pas le script de
|
|
|
|
|
mise-à-jour, n'oubliez pas de lancer `make` pour compiler le module en C.
|
2022-04-08 00:19:30 +00:00
|
|
|
|
|
2022-04-01 22:38:38 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2022-04-06 16:49:39 +00:00
|
|
|
|
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`, la création de salons « impromptus » est
|
|
|
|
|
maintenant plus fiable et ces salons auront des noms plus courts, ainsi que
|
|
|
|
|
les noms des tabs dans la barre d'activité qui peuvent être coloré en
|
|
|
|
|
utilisant [Consistent Color Generation][XEP-0392] avec la configuration
|
|
|
|
|
[`autocolor_tab_names`][autocolor_tab_names] à `True`. Vous pouvez lire plus
|
|
|
|
|
[dans le changelog (en)][poezio-changelog].
|
|
|
|
|
|
|
|
|
|
<figure>
|
|
|
|
|
<img
|
|
|
|
|
decoding="async"
|
|
|
|
|
src="/2022/04/poezio-tab-colors.png"
|
|
|
|
|
alt="Numéros de tab colorés dans Poezio"
|
|
|
|
|
/>
|
|
|
|
|
<figcaption>La couleur du nom de la tab au dessus peut-être inversée
|
|
|
|
|
(premier/second plan) et ressembler à la barre d'activité en
|
|
|
|
|
dessous.</figcaption>
|
|
|
|
|
</figure>
|
2022-04-01 22:38:38 +00:00
|
|
|
|
|
|
|
|
|
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
|
2022-04-03 18:25:59 +00:00
|
|
|
|
(activity, gaming, mood, user tune) a été enlevée de Poezio et déplacée dans le
|
2022-04-01 22:38:38 +00:00
|
|
|
|
plugin `user_extras`. Ainsi que plein de corrections.
|
|
|
|
|
|
2022-04-08 00:19:30 +00:00
|
|
|
|
<figure>
|
2022-04-10 17:52:40 +00:00
|
|
|
|
<video controls="true" poster="/2022/04/poezio-sticker.png">
|
|
|
|
|
<source src="/2022/04/poezio-sticker-av1.webm" type="video/webm;codecs=av1" />
|
|
|
|
|
<source src="/2022/04/poezio-sticker-vp9.webm" type="video/webm;codecs=vp9" />
|
2022-04-10 18:11:29 +00:00
|
|
|
|
<source src="/2022/04/poezio-sticker-vp8.webm" type="video/webm;codecs=vp8" />
|
2022-04-08 00:19:30 +00:00
|
|
|
|
<picture>
|
|
|
|
|
<source srcset="/2022/04/poezio-sticker.avif" type="image/avif" />
|
|
|
|
|
<img
|
|
|
|
|
decoding="async"
|
|
|
|
|
src="/2022/04/poezio-sticker.png"
|
|
|
|
|
alt="L'outil de sélection des stickers devant, avec Poezio et Dino en fond."
|
|
|
|
|
/>
|
|
|
|
|
</picture>
|
|
|
|
|
</video>
|
|
|
|
|
<figcaption>Le plugin sticker de Poezio en action !</figcaption>
|
|
|
|
|
</figure>
|
|
|
|
|
|
2022-04-01 22:38:38 +00:00
|
|
|
|
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 à
|
2022-04-06 20:06:06 +00:00
|
|
|
|
eijebong, Ge0rG, Kaghav Gururajan, kaliko, Thomas Hrnciar, jonas’ et
|
|
|
|
|
southerntofu pour les nombreux patchs.
|
2022-04-01 22:38:38 +00:00
|
|
|
|
|
2022-04-03 21:47:33 +00:00
|
|
|
|
# Les archives
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
En ouvrant une tab, Poezio va télécharger autant de messages nécessaires
|
|
|
|
|
pour remplir 2 pages d'écran, si il n'a aucune archive pour cette tab. Par
|
|
|
|
|
défaut, les archives sont enregistrées automatiquement en local, ce qui permet
|
|
|
|
|
de ne pas re-télécharger les messages la prochaine fois qu'ils sont demandés,
|
|
|
|
|
mais de les lire directement de la copie locale.
|
|
|
|
|
|
|
|
|
|
Pour lire des messages plus anciens dans une tab, il suffit de scroller avec
|
|
|
|
|
`PageUp` et Poezio se chargera d'aller chercher plus de messages si
|
|
|
|
|
nécéssaire.
|
|
|
|
|
|
|
|
|
|
Tout ceci est configurable avec des nouvelles options, comme
|
|
|
|
|
[`mam_sync`][mam_sync] ou [`mam_sync_limit`][mam_sync_limit] pour
|
|
|
|
|
activer/désactiver l'utilisation de [MAM][XEP-0313] ou combien de messages
|
|
|
|
|
sont téléchargés au plus. Et aussi [`use_log`][use_log] pour configurer
|
|
|
|
|
l'enregistrement des messages en local.
|
|
|
|
|
|
|
|
|
|
Du travail autour de la gestion des ID de messages -- que notre format de log
|
|
|
|
|
n'enregistre pas -- devra être prévu par la suite pour permettre de
|
|
|
|
|
dédupliquer plus facilement les messages.
|
|
|
|
|
|
2022-04-01 22:38:38 +00:00
|
|
|
|
# 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).
|
|
|
|
|
|
|
|
|
|
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 !
|
|
|
|
|
|
2022-04-10 15:59:28 +00:00
|
|
|
|
P.S.: Je suis à la recherche des screenshots de Poezio avec différentes
|
|
|
|
|
configurations pour afficher publiquement, sous license libre. N'hésitez pas à
|
|
|
|
|
envoyer vos images en qualité plutôt élevée à `blog` `à` `bouah.net`. Et
|
|
|
|
|
aussi, n'oubliez pas de demander la permission aux pixels que vous prenez en
|
|
|
|
|
photo !
|
|
|
|
|
|
2022-04-01 22:38:38 +00:00
|
|
|
|
[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
|
2022-04-03 21:47:33 +00:00
|
|
|
|
|
|
|
|
|
[mam_sync]: https://doc.poez.io/configuration.html#term-mam_sync
|
|
|
|
|
[mam_sync_limit]: https://doc.poez.io/configuration.html#term-mam_sync_limit
|
|
|
|
|
[use_log]: https://doc.poez.io/configuration.html#term-use_log
|
2022-04-06 16:49:39 +00:00
|
|
|
|
[autocolor_tab_names]: https://doc.poez.io/configuration.html#term-autocolor_tab_names
|