Comment installer et configurer Poezio
Poezio est un logiciel du dépôt Fedora. Il est disponible pour tous les utilisateurs de Fedora Linux 35 qui souhaitent utiliser la messagerie instantannée XMPP. J'utilise tous les jours ce protocole de messagerie instantannée, et j'avais envie de vous partager mon expérience avec un client en console.
Poezio n'est pas installé par défaut, il faut le récupérer dans le dépôt :
dnf install poezio poezio-doc poezio-omemo
Le paquet "poezio" contient le client XMPP, et le paquet "poezio-omemo" contient le plugin OMEMO pour le client.
Pour lancer le logiciel, il suffit de taper la commande en utilisateur simple :
$ poezio
On peut le lancer dans un multiplexeur de terminal comme screen ou tmux. On peut aussi le lancer dans une session en init 3 (multi-user.target).
On peut également le lancer dans un container docker/podman, mais ce n'est pas le sujet de cet article.
Configuration : la méthode smooth
Il est possible de configurer le client à chaud, en tapant des commandes pendant qu'il fonctionne, ou bien à froid, en modifiant directement le fichier de configuration.
Pour modifier un paramètre pendant le fonctionnement, il faut taper la commande /set dans Poezio.
Les commandes de configuration suivantes permettent de se connecter à son compte XMPP :
/set jid <mon_compte@domaine.tld>
/set password <mot_de_passe>
/set default_nick <Pseudo>
/set ca_cert_path /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
/connect
Une ligne de confirmation apparait pour chacune des commandes fournies. Une fois le client configuré et connecté, Poezio va sauvegarder la config pour le prochain démarrage.
Configuration : la méthode hardcore
Pour faire une configuration plus avancée, je recommande de passer directement par le fichier de configuration. Le fichier est au format INI, et il est vraiment facile à lire.
Si Poezio est lancé pour la première fois, le fichier de configuration par défaut est créé dans le répertoire ~/.config/poezio/. Il est recommandé de ne pas modifier ce fichier pendant l'exécution de Poezio.
Toutes les options sont concentrées dans un seul et unique fichier :
~/.config/poezio/poezio.cfg
Pour activer le support de OMEMO, il faut modifier le paramètre "plugins_autoload" de la manière suivante :
plugins_autoload = omemo
Chemins vers les plugins :
plugins_dir = /usr/lib64/python3.9/site-packages/poezio_plugins
plugins_conf_dir = /home/USER/.config/poezio/plugins
Réglage des timeouts :
connection_check_interval = 60
connection_timeout_delay = 300
whitespace_interval = 180
Une note au sujet du SSL/TLS
Il est fortement recommandé de configurer l'option ca_cert_path. Cette option n'est pas configurée par défaut.
Lancer la commande dans Poezio :
/set ca_cert_path /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
Ou bien modifier le fichier de config :
ca_cert_path = /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
Au démarrage, le client vérifie l'empreinte du certificat du serveur, et vérifie si l'empreinte n'a pas changé depuis la dernière connexion au serveur. Il est possible de désactiver cette fonctionnalité :
ignore_certificate = True
Avec ce paramètre, Poezio ne va plus demander à l'utilisateur de valider l'empreinte du certificat, mais va vérifier le certificat avec la base des certificats du système (avec l'option "ca_cert_path").
Référence : TLS in poezio
Comment vérifier sa config
Poezio fourni une commande très utile pour comparer son fichier de configuration avec les valeurs par défaut.
$ poezio -c
Cette commande ne lance pas le client, mais affiche toutes les différences avec la configuration par défaut, ce qui permet de retrouver facilement une erreur dans le fichier de config.
Les raccourcis clavier
Pour naviguer :
Touche | Fonction |
---|---|
F5 | onglet précédent |
F6 | onglet suivant |
Echap puis un chiffre | va sur l'onglet correspondant |
Alt-j puis 2 chiffres | va sur l'onglet correspondant |
Fenêtre d'information :
Touche | Fonction |
---|---|
F7 | réduit la fenêtre d'information |
F8 | agrandi la fenêtre d'information |
Alt-Maj-d | scroll vers le haut |
Alt-Maj-c | scroll vers le bas |
Pour formater les messages avant envoi :
Touche | Fonction |
---|---|
Ctrl-a | déplace le curseur au début de la ligne |
Ctrl-e | déplace le curseur à la fin de la ligne |
Ctrl-j | ajoute un retour à la ligne |
Tab | complète automatiquement le pseudo |
Pour scroller :
Touche | Fonction |
---|---|
Flèche haut | remonte l'historique des envois |
Flèche bas | descend dans l'historique des envois |
Page Up | remonte l'historique de la discussion |
Page Down | descend l'historique de la discussion |
Journaux
Les fichiers journaux sont créés par défaut dans le répertoire ~/.local/share/poezio/logs/. Mais il est possible de modifier le chemin du répertoire :
log_dir = /home/USER/.local/share/poezio/logs
Si l'on souhaite désactiver les journaux système :
log_errors = False
La récupération de l'historique des salons est configurable, mais dépend du serveur qui héberge le salon. Personnellement, je préfère que le client récupère la valeur fournie par le serveur, c'est à dire la valeur maximum :
muc_history_length = -1
Cette fonctionnalité de récupération de l'historique du serveur entre en conflit avec l'option load_log. Cette option permet d'afficher une dizaine de lignes de log qui étaient stockées dans les fichiers de log de Poezio. Si les 2 options sont activées en même temps, alors on obtient un historique incohérent, et en double.
use_log = True
load_log = 0
Agencement des fenêtres
Poezio est un client XMPP largement personnalisable. Il est possible d'afficher la liste des salons dans une ligne en bas, ou dans une colonne à gauche. Il est également possible d'afficher la liste des participants du salon, ou pas. Et enfin, on peut afficher, avec une taille variable, la fenêtre d'information en dessous des fenêtres de conversation.
Chemin vers les thèmes :
themes_dir = /usr/lib64/python3.9/site-packages/poezio_themes
Si vous souhaitez utiliser le thème "dark" :
theme = dark
Connexion par un proxy
Il est possible de se connecter au serveur XMPP en passant par un serveur proxy. Pour celà, il faut installer et configurer le programme proxychains.
dnf install proxychains
Pour que ce programme puisse se connecter au bon serveur proxy, il faut renseigner le fichier /etc/proxychains.conf.
Par exemple, si l'on veut établir une connexion au proxy SOCKSv5 de Tor :
[ProxyList]
socks5 ::1 9050
Si le serveur XMPP possède une adresse .onion, on peut l'indiquer aussi dans le fichier de configuration de Poezio :
jid = <mon_compte@domaine.tld>
server = <adresse.onion>
Une fois les 2 programmes correctement configurés, on peut lancer Poezio :
$ proxychains poezio
La doc
La documentation est disponible en ligne pour la toute dernière version. Elle est également fournie avec le paquet poezio-doc pour une version donnée. Le RPM installe la doc dans le répertoire système :
/usr/share/doc/poezio/rst/
Il est possible de compiler les fichiers ReST en document PDF, ou en pages HTML (pour un usage hors-ligne ou purement esthétique).