Vue lecture

Interminable liste de terminaux

Ah, la ligne de pêche Maginot commande ! Que ce soit pour gérer ses fichiers, récupérer des commits, lancer une compilation, se connecter à un serveur, redémarrer un service, consulter les logs, voire contrôler la musique, afficher des images, cette interface reste en 2025 exceptionnellement boomer rapide et même parfois confortable.

Sans compter que le terminal est l'endroit où lancer des applications dédiées, pour lire ses mails ou un million d'autres choses.

Bref rappel avant se lancer dans de longues comparaisons

  • TTY vient de teletypewriter. Si vous tapez (Xorg comme Wayland) Control + Alt + F3 par exemple, vous vous retrouverez devant une invite de commande.
  • pts/pty : quand vous ouvrez un terminal

L'invite de commande pourra bénéficier d'un shell personnalisé. Le bureau permettra l'usage d'un terminal.

    Sommaire

    Le jeu de les shells

    Le shell est un interpréteur de commande. On peut simplement lancer une commande pour consulter l'état du système (top, ps), déplacer un fichier (mv), … Ou combiner des commandes, écrire des scripts basés sur des conditions et des variables, … Donc comme l'explicite le manuel GNU, un shell unix est la fois un interpréteur de commande et un langage de programmation.

    La plupart des distributions utilisent par défaut "Bash", mais il est possible de changer de shell, par exemple interactivement en utilisant la commande chsh ("change shell"), ou en modifiant les paramètres d'un terminal en particulier, ou d'un multiplexeur, ou encore plus globalement en modifiant le shell par défaut d'un user (faites un peu attention dans ce cas — les shells ne sont pas tous compatibles, ne tombez pas !).

    Les shells tombent

    Les scripts précisent aussi quel shell invoquer… Si je prends un tuto sur un shell au hasard, voici ce que je vais trouver

    #!/bin/bash
    # This script will take an animated GIF and delete every other frame
    # Accepts two parameters: input file and output file
    # Usage: ./<scriptfilename> input.gif output.gif

    Attention : ce script référence explicitement /bin . Pas 100% sûr que bash y soit installé. Une solution peut être d'utiliser env.

    #!/usr/bin/env bash

    Hormis interpréter les commandes tapées, le shell affiche également un prompt invitant à taper une commande. Quelque chose comme cela :

    [goat@arch:~]$ 
    

    Pour la partie prompt, certains shells vont autoriser un peu de paramétrage, ou l'on peut même installer des plugins pour enrichir les possibilités, comme avec powerline ou même le liquid prompt présenté ici même par son auteur Dolmden.

    On peut aussi trouver un prompt comme starfish qui soit utilisable avec les différents shell.

    De la préhistoire au Bash

    Pour l'histoire, le premier shell Unix date de 1971, puis le Bourne Shell (sh), du nom de son auteur, apparait en 1977. Beaucoup de fonctionnalités sont déjà présentes : il est scriptable (on peut définir un script avec des conditions dont la si laide esac, définir des boucles, …), les processus peuvent être contrôlés, il est possible de définir des alias, …

    Bourne Shell implémente la norme POSIX que d'autres shells respectent. La licence du Bourne Shell est débatue (avec une certaine vigueur sur Wikipédia!) , en tout cas son code est ici.

    KORN shell n'était, au départ, pas open source - le code n'est libéré que dans les années 2000. Korn Shell implémente les fonctionnalités du Bourne Shell mais ajoutera d'autres éléments, comme des raccourcis vi/emacs, ou comme les tableaux

    $ typeset -A age
    $ age[bob]=42
    $ age[alice]=31
    $ print ${age[bob]}
    42
    

    GNU BASH : /bin/bash

    GNU Bash

    B.A.S.H. = Bourne Again Shell (superbe jeu de mots avec Born Again Shell). Bash implémente la norme POSIX… et un peu plus.

    GNU bash connait une première release en 1989. Il reprendra à son compte des fonctionnalités trouvées jusqu'ici dans de précédents shells, y compris Korn Shell. Bash reste le shell interactif par défaut sur de nombreuses distributions. Il fut le shell sous MacOS.

    Anecdote - quel est le plus gros programme bash que vous connaissiez ? nb, qui propose de gérer vos notes en mode texte (org, markdown, etc), est principalement composé d'un script .sh de … 26736 lignes. Je vous laisse partager vos trouvailles en commentaire !

    DASH : le Debian Almquist shell est renommé ainsi en 1997. Debian l'adopte par défaut pour les scripts, tandis que le shell interactif des utilisateurs reste bash. Ubuntu y passe par défaut sur la 6.10. Dash est léger et performant. Moins de dépendances égal plus de sécurité.

    ZSH

    ZSH ZSH sort en 1990. Toujours compatible avec la norme POSIX, Zsh va améliorer de bien pratiques fonctionnalités d'auto-complétion : appuyez sur <TAB> et Zsh complète pour vous.

    Mais bien plus largement, Zsh va atteindre le paroxysme en terme de fonctionnalités. Tout existe dans Zsh.

    Zsh est connu pour proposer de très nombreuses possibilités de configuration. Ses plugins se comptent par centaine — y compris plusieurs gestionnaires de plugins… Mais un outil très utilisé pour le configurer sort du lot : Oh my zsh, qui permet de gérer plus de 300 plugins ainsi que de nombreux thèmes.

    FISH

    Fish

    Fish pour "Friendly Interactive Shell", date de 2005. C'est un shell non POSIX - certaines fonctionnalités ne seront pas compatibles. Un script bash ne marchera pas forcément.

    Ce shell se veut demander peu de configuration - il est prêt à l'emploi. Choix appréciable quand on peut déjà passer tant de temps à configurer d'autres choses (distro, bureaux, nano, terminaux..)  !

    Il suffit de l'installer pour avoir

    • une coloration syntaxique indiquant quelle commande est valide
    • suggestions : en tapant, on obtient des candidats que l'on peut auto-compléter

    Fish est également scriptable et se veut proposer un syntaxe plus saine. À vous de tester (mais vous ne codez qu'en Rust, n'est-ce pas ?)

    Le gros point de Fish à mon sens, c'est de proposer une configuration par défaut déjà utilisable, comme le fait de se baser sur les pages man ainsi que sur l'historique pour proposer l'auto-complétion. Oubliez les heures passées à configurer - je ne sais pas si Fish a le plus de chevaux dans le moteur, mais avec lui vous êtes déjà prêts à partir.

    Petite fonctionnalité sympa, taper fish_config ouvre une page ouaibe. On peut alors prévisualiser les thèmes, personnaliser le prompt, visualiser les fonctions et variables, consulter l'historique et les raccourcis claviers. Fish a un mode vi.

    Fish a été réécrit en Rust entre 2022 et 2024.

    Ravissant multiplex, 200 mètres carrés

    Gnu Screen

    Ok donc nous avons un shell à choisir, y compris le prompt et il faudra le lancer dans un terminal, mais avant ça, si on avait un gestionnaire de fenêtre dans le gestionnaire de fenêtre ? C'est bien comme cela qu'est présenté GNU Screen, qui gère des fenêtres, typiquement de terminaux. C'est un multiplexeur, en français : la possibilité d'ouvrir plusieurs terminaux dans un seul terminal. GNU Screen sait lister les terminaux ouverts, passer de l'un à l'autre, en tuer… Comme souvent, le wiki arch détaille bien notre affaire concernant screen. Mais GNU Screen est un vieux de la vieille, qui date de 1987.

    Tmux

    Plus souvent cité de nos jours, Tmux (2007) propose des raccourcis à la Emacs ou à la Vim, un menu graphique, des splits verticaux ou horizontaux.

    Zellij

    Il existe d'autres multiplexeurs. On peut citer par ex. Zellij, orienté développeurs, qui affiche une barre de statut, peut afficher les raccourcis claviers…

    Envolez-vous vers un nouveau terminal

    Le choix d'un terminal pourra définir l'apparence de votre interface, comment vous gérez le multi-fenêtre et/ou multi-onglet, la capacité à rechercher, copier-coller, les raccourcis clavier, peut être même comment accéder aux emplacements, vous connecter en ssh.

    Certains terminaux proposent un mode inspiré de Guake (première release 2007), lui même inspiré du terminal dans Quake : le terminal est toujours ouvert et dispo, mais caché et l'appui d'un raccourci clavier le fera apparaître. Le temps de taper trois commandes et le même raccourci le fera disparaître. À voir ce qui se fait encore sous Wayland, je vois par ex. qu'il y a encore une extension GNOME.

    La console sur le bureau

    Première piste : tout simplement utiliser la terminal qui vient avec son bureau, si l'on en utilise un. Évidemment le premier avantage sera une bonne intégration, mais en pratique ?

    Nous verrons aussi plus bas certains terminaux qui sont le terminal par défaut de gestionnaires de fenêtre, mais il s'agit simplement d'un choix par défaut et pas d'une affiliation ni d'une intégration particulière, donc pas de raison de les mentionner ici.

    Console (GNOME)

    Le terminal par défaut a changé sous GNOME 42 (euh bah oui c'était y'a un moment), pour devenir GNOME Console (anciennement Kings Cross Station d'où kgx — j'ai cherché l’exécutable un moment…). Assez peu de fonctions particulières mais : devient rouge lorsqu'on est connecté en root ou violet en ssh, envoie une notif quand une longue commande se termine, sympa. Un bouton de recherche un peu étonnant peut s'avérer pratique. Clairement la logique est d'afficher peu de boutons, peu de choix, et d'investir sur des options par défaut qui fonctionnent. Je ne vais pas retenir Console pour mon usage mais je trouve qu'effectivement c'est un terminal élégant.

    Pour changer le shell de Console, il faudra passer par l'éditeur dconf et modifier l'option org.gnome.Console.shell.

    Certaines distributions ont préféré maintenir gnome-terminal, plus complet, mais gnome-terminal est resté Gtk3 (alors que kgx est bien Gtk4).

    Petite note sur kgx et gnome-terminal : ces terminaux sont basés sur la libvte dont dépendent d'autres terminaux GTK. Voici quelques exemple cités par une page du wiki gnome :

    On pourrait y ajouter Lxterminal (merci à Impromptux).

    Konsole

    Konsole

    Le choix logique pour le bureau KDE. En termes de fonctionnalités, c'est l'artillerie lourde. Multi-profils, signets, multiplexeur, prévisualisation d'images. Konsole est intégrée dans plusieurs applications KDE.

    Pour changer le shell de Konsole, vous pouvez passer par le menu Settings > Configure Konsole > Profiles .

    C'est le moment de mentionner Qtermwidget : ce widget fut originellement basé sur Konsole et servit à développer Qterminal.

    xfce-terminal

    Terminal par défaut du bureau Xfce. Il dépend et hérite de libvte. Il est en Gtk3.

    • Permet plusieurs onglets
    • Intégration avec un gestionnaire de fichiers (ouverture dans le répertoire courant du terminal)
    • Prévention de collage dangereux : quand ça contient un retour chariot, ouvre une popup qui permet d’inspecter et modifier le contenu dangereux.
    • Permet d’envoyer un signal au processus en cours
    • Permet d’avoir une console rapide à la Guake
    • Permet de colorer les onglets manuellement.

    Il est possible de changer le shell dans les préférences.

    Terminology

    Terminology

    Ce terminal sort en 2013, il fait partie du bureau Enlightenment Je pense que c'est le premier terminal à pouvoir afficher des images. Il est possible d'avoir des informations en survolant une URL. Une barre de progression s'affiche durant l’exécution de commandes. Les performances sont au rendez-vous. (Subjectif - serait-ce tout simplement la meilleure appli e17?)

    Emacs et (Neo)Vim

    Mais plutôt que d'utiliser le terminal intégré à son environnement de bureau, pourquoi ne pas utiliser directement celui intégré à son éditeur de texte? Un bon éditeur de texte en effet a forcément son bon terminal. Même Vim? Et oui. C'est donc une solution de lancer le terminal depuis l'éditeur de texte, par exemple pour reproduire les fonctionnalité d'une IME vivre sa vie entière en mode texte.

    Emacs

    Démarrons tout de même par Emacs, où la prise en charge du terminal est plus ancienne.

    Emacs a… 4 terminaux, pourquoi faire simple. 4 terminaux ? Non pas vraiment : 2 shell et 2 terminaux. Il peut y en avoir plus.
    En fait, puisqu'on peut, malgré la rumeur, bel et bien éditer du texte dans emacs, pourquoi ne pas gérer ses commandes au même endroit ? On peut même s'amuser à gérer ses fichiers dans dired, ses processus, finalement un peu tout l'aspect système.

    Mastering Emacs le développe mieux que moi mais vous aurez donc plusieurs possibilités sous Emacs :

    2 SHELLS

    • eshell, le plus emacsien des 2 : un shell 100% implémenté en elisp (!!!). On peut faire beaucoup de emacs dedans , mais tout ne fonctionnera pas. Ne lancez pas journalctl dedans ^^
    • shell. Même chose, ne lancez pas journalctl

    2 TERMINAUX

    • term / ansi-term. Cette fois c'est vraiment un terminal, mais… lent.
    • vterm. Ok cette fois c'est vraiment un terminal, et ça utilise une bibliothèque en C derrière, donc ouf un vrai terminal Emacs existe bel et bien. Attention vterm a besoin d'une bibliothèque.

    Oui je pense qu'il y a vraiment des utilisateurs du terminal sous Emacs. Et il est possible de trouver de petits benchmarks sur les réseaux comme par exemple reddit.

    Vim

    Qui a dit que vim n'était pas bloated et ne pouvait pas gérer cela? (À sa défense vim ne gère pas encore l'email.. ) Vim prend en charge le terminal depuis la version 8.1. Pour changer le shell dans vim, ajouter cette commande dans le fichier de config

    :set shell=/usr/bin/zsh
    

    Les indies

    Pourquoi utiliser le terminal de son bureau, ou de son éditeur de texte, alors que l'on peut utiliser un million d'autres ? Bienvenue dans la jungle. Ne m'en voulez pas si votre petit favori n'est pas listé ici, mais rajoutez sa description en commentaire - il a existé de bien trop nombreux concurrents, et même en se limitant aux projets actifs la liste est bien trop longue. La liste ici pourrait compléter cette dépêche.

    Je rappelle que sont listés ici les terminaux qui sont proposés par défaut sous certains gestionnaires de fenêtre, le parti pris étant que dans ce cas il n'y ait pas d'intégration particulière, contrairement par exemple au terminal KDE.

    Enfin la liste se veut à moitié lister les terminaux populaires actuels, à moitié lister quelques terminaux plus pour un intérêt historique, mais cette dépêche n'étant pas une thèse cette volonté sera assez peu rigoureuse.

    Blackbox

    Blackbox terminal n'est pas affilié à GNOME ni un terminal officiel mais est développé avec cet environnement en tête. Il utilise Gtk4.

    Ptyxis

    Là c'est un cas à part : pour reprendre sans recul le readme.md :

    A modern terminal emulator built for the container era.
    Seamlessly navigate between your host system and local containers like Podman,
    Toolbox, and Distrobox with intelligent detection and a beautiful, responsive
    GNOME interface.

    L'intérêt est donc d'intégrer les conteneurs de toutes sortes pour y accéder rapidement (et les définir rapidement).

    Ptyxis

    Il semblerait qu'il puisse devenir le terminal par défaut sous Ubuntu (25.10?).

    St

    La philosophie de st, dont la première release, 0.1, est de 2017, c'est de rester simple et léger - le point que son site discute, c'est le nombre de lignes de codes limité que devrait avoir un terminal. Son auteur serait fainéant ? Ce terminal sous licence MIT/X Consortium s'apparente à mon sens à un reliquat du passé : il tourne sur X et uniquement sur X (oui, oui je sais pour Xwayland). Néanmoins il m'a paru logique de le citer ici.

    Kitty

    Kitty a une place importante car il a légué quelque chose aux successeurs… Il implémente en effet des extensions venant étendre le protocole historique.

    Ce terminal tourne sous Python et requiert OpenGL. Malgré son âge (première release 2017), c'est le choix par défaut pour Hyprland.

    Kitty offre une tonne de raccourcis claviers, gère les onglets/fenêtres, peut afficher des images, sait afficher des notifications et bien d'autres choses. En terme de philosophie, il se veut orienté power-user.

    Alacritty

    Alacritty se veut un terminal simple et est écrit en Rust. Il est sortit en 2017. Alacritty respecte XDG en cherchant en priorité un fichier de config $XDG_CONFIG_HOME/alacritty/alacritty.toml.

    C'est le terminal par défaut pour au moins deux gestionnaires de fenêtre Wayland très différents l'un de l'autre : Wayfire et Niri.

    • vi mode : appuyez sur control + shift + space et vous passez dans le mode "normal" de vi (par opposition au mode insertion). Les touches au lieu de permettre de taper du texte, permettront alors de se déplacer, sélectionner du texte, le copier…
    • ctrl shift o pour afficher des "hint" sur les URL, ce qui permet de les activer en 1 touche
    • recherche normal (ctrl shift f ) , recherche vi
    • multi fenêtre (spawn new instance)
    • theme https://github.com/alacritty/alacritty-theme

    Pas d'onglet, pas de split — utiliser un multiplexeur au besoin.

    Foot

    Ce serait un peu le successeur de St, au sens où il est codé en C et les premières fonctionnalités mises en avant sont la légèreté et la performance, mais en natif Wayland. Pour autant Foot n'est pas avare sur certaines fonctionnalité. Sa première release est de 2019. C'est le terminal par défaut pour Sway, Dwl.

    Il faudra le configurer à l'aide d'un fichier texte, et foot respectant XDG, ce sera ici $XDG_CONFIG_HOME/foot/foot.ini. Foot propose pas mal de raccourcis claviers, dont le même Hint mode que Alacritty : taper Ctrl Shift O .

    Au cas où il ne serait pas assez léger, Foot propose un mode serveur.

    Wezterm

    De nouveau un terminal en Rust. Wezterm se veut complet, et cross-platform. Il affiche des images, gère les hyperliens, la connexion en SSH avec un client intégré, fait office de multiplexeur.

    Il se configure en Lua.

    Ghostty

    Ghostty

    Ghostty est sous licence MIT. LWN l'a présenté. Il s'agit d'une application récente, début en 2022, v1.0 fin 2024.

    Une barre gtk4 permet d'afficher les onglets, d'en créer un nouveau. Sympatique fonction, ghostty +list-keybinds --default montre toutes les options (et un raccourci permet d'éditer le fichier de config). On peut aussi lister les thèmes avec ghostty +list-themes.

    Peut afficher des gifs, comme Kitty.

    Ghostty se veut un compromis entre la vitesse, les fonctionnalités, l'interface, et cross-platform. Il se veut agréable sans avoir besoin de modifier le paramétrage par défaut. Et il est petit, le paquet Debian par exemple fait 113 Ko.

    Vous pouvez changer le shell sous Ghostty :

    ~/.config/ghostty/config:
    command = /usr/local/bin/fish --login --interactive
    
    

    De plus Ghostty intègre des fonctionnalités "Shell-integration".

    Rio

    (2022)
    https://github.com/raphamorim/rio
    vi mode, hyperlinks, images,

    Le shell peut être modifié dans la config, plusieurs exemples sont fournis

    [shell]
    program = "pwsh"
    args = ["-l"]

    Warp

    Alors là on bascule du côté obscur de l'IA !… et du proprio. Warp est d'abord une entreprise, qui a souhaité réimaginer un outil des développeurs - le terminal. Ce terminal, écrit en Rust, ne sera pas open source : https://github.com/warpdotdev/Warp/discussions/400

    À la première ouverture, Warp suggère d'ouvrir un compte « pour bénéficier de toutes les fonctionnalités ». Ensuite, on ne se trouve pas directement dans une console mais Warp propose plutôt d'ouvrir / cloner un projet. Un raccourci permet cependant de lancer une session normale…
    … Si ce n'est qu'outre des commandes, on peut taper des phrases ! En passant par Claude pour les interpréter… L'IA peut également suggérer des commandes en se basant sur votre historique. Tout ceci peut être désactivé dans les paramètres. Les fonctionnalités IA requièrent une connexion Internet.

    J'ai par exemple testé "Install Wave term from the internet". Warp a commencé par vérifier s'il y avait une commande de disponible "yay", mais cette commande n'était pas dispo sur mon système. Il a alors intelligemment testé d'autres gestionnaires de AUR et a trouvé que paru était installé. De là, il a découvert waveterm dans les dépôts AUR et m'a suggéré d'utiliser paru -S waveterm-bin (control+entrée pour valider, et gogogo). Une fois ces folies passées, on revient à une expérience normale où la commande se déroule (pensez à lire les AUR avant d'installer aveuglément !)

    Quand vous parcourez un projet, Warp peut indexer ces projets pour améliorer les suggestions.

    Au lieu d'utiliser votre clavier pour taper, Warp peut reconnaître votre voix. Outre des commandes ou des phrases, il est possible de commencer par un "/" pour taper une "slash command".

    Il y a également des fonctionnalités d'équipe, notamment une fonctionnalité de collaboration en temps réel. Certaines fonctionnalités sont payantes.

    Warp propose un certain nombre de fonctionnalités classiques : personnalisation du prompt, apparence, raccourcis claviers, …

    L'entreprise fournit un benchmark où Warp s'en sortirait aussi bien que Kitty ou Alacritty sur vtebench

    WaveTerm

    Waveterm est un peu la réponse open source à Warp (Apache 2.0).

    Quand on l'ouvre la première fois, c'est la foire ! à gauche, le panneau invite de commande qui occupe un tiers de l'écran.
    Tiers du milieu : en haut la consommation du CPU (hein?). Au milieu, un bout de page internet (hein?). En bas, un explorateur de projet. Tiers à droite : en haut, des raccourcis clavier qui s'affichent. Au milieu, un bout de doc sur Wave. En bas, une invite pour Wave IA. Bien sûr il s'agit d'une démo et il sera possible de personnaliser ce qui est visible au démarrage. Il est également possible lorsqu'on utilise un des "blocs" de le passer en mode "pleine fenêtre" puis le réduire par la suite.

    Bon, testons l'invite IA en demandant d'installer… Warp! Il commence par m'expliquer les différentes méthodes d'install en fonction de l'OS (ah ! il n'a pas détecté…). J'explique que j'utilise Arch et il me dit d'utiliser un AUR helper ou de cloner le dépôt du AUR. Mais il ne détecte pas si j'ai paru ou yay ou autre.

    On peut utiliser d'autres modules IA. Wave inclut également un explorateur de fichiers.
    Les paramètres se gèrent bloc par bloc - on paramètre d'un côté les blocs que l'on souhaite au démarrage, de l'autre pour un bloc donnée, par exemple les préférences.

    3. Liens

    Norme POSIX sur le shell

    https://linuxfr.org/news/gameshell-apprendre-les-rudiments-du-shell-en-s-amusant

    Bref cours sur le shell

    Cours plus complet sur le Bourne Shell

    Revue de fish :

    Autre revue de Fish

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    🏆 Meilleures contributions LinuxFr.org : les primées de septembre 2025

    Nous continuons sur notre lancée de récompenser celles et ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logo, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un livre des éditions Eyrolles, ENI et D-Booker. Voici les gagnants du mois de septembre 2025 :

    Les livres gagnés sont détaillés en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

    Les livres 📚 sélectionnés

    Bandeau LinuxFr.org

    Certaines personnes n’ont pas pu être jointes ou n’ont pas répondu. Les lots ont été réattribués automatiquement. N’oubliez pas de mettre une adresse de courriel valable dans votre compte ou lors de la proposition d’une dépêche. En effet, c’est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu’aux éditions Eyrolles, ENI et D-Booker.

    Logo éditions ENI Logo éditions Eyrolles Logo éditions B-BookeR
         

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Lettre d'information XMPP d'août 2025

    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 réalisée et publiée conjointement sur les sites XMPP.org, LinuxFr.org et JabberFR.org selon une procédure définie.

    Bannière de la lettre d'information XMPP

    Bienvenue dans la lettre d'information XMPP, ravie de vous retrouver ! Ce numéro couvre le mois d'août 2025.

    Tout comme cette lettre d'information, de nombreux projets et leurs efforts au sein de la communauté XMPP sont le résultat du travail bénévole de certaines personnes. Si vous êtes satisfait des services et des logiciels que vous utilisez, n'hésitez pas à les remercier ou à aider ces projets ! Vous souhaitez soutenir l'équipe de la lettre d'information ? Lisez en bas de page.

      Sommaire

      Vidéos

      Articles XMPP

      Actualités des logiciels XMPP

      Clients et applications XMPP

      • Cheogram a publié sa version 2.19.0-1 pour Android. Consultez le journal des modifications pour tous les détails.

      • Conversations a publié ses versions 2.19.3 et 2.19.4 pour Android. Cette version améliore la performance sur les gros salons publics, une nouvelle page « discussions vides » au lieu de rediriger vers l'écran « nouvelle discussion », et l'exigence d'utiliser TLS 1.3 pour toutes les connexions, avec un paramètre pour le désactiver, entre autres corrections et améliorations. Vous pouvez consulter le journal des modifications pour tous les détails.

      • Converse.js a publié sa version 12.0.0 de son client web open-source, avec divers améliorations et corrections de bogues. Plusieurs modifications "sous le capot" concernent des corrections touchant OMEMO, l'usage de rspack au lieu de webpack, publiant un build ESM de la version "headless" de la bibliothèque, et utilisant une mise à jour de la liste de fournisseurs issue de providers.xmpp.net pour l'enrôlement en ligne. Référez vous à la page de la publication pour l'ensemble des modifications !

      • Gajim a publié sa version 2.3.4 de son client XMPP gratuit et bourré de fonctionnalités. Cette publication ajoute le support des fuseaux horaires dans les profils, améliore la gestion du glisser-déposer, active l'affichage des messages longs, et corrige un bon nombre de petits bogues. Vous pouvez consulter le journal des modifications pour l'ensemble des détails. Merci pour toutes vos contributions !

      • Monal a publié sa version 6.4.13 pour iOS et macOS.

      • Monocles a publié sa version 2.0.13 de son client pour Android, embarquant moult améliorations telle que la refonte du retrait et modération des messages (les messages et fichiers retirés le sont désormais des 2 cotés), un redesign de la bulle de message, afficher toutes les images en haute définition, une nouvelle option pour importer ses propres stickers et GIF, entre autres fonctionnalités et corrections de bogues. Consultez le journal des modifications pour tous les détails !

      • Profanity a publié sa version 0.15.1 de son populaire client XMPP pour console. Vous pouvez lire tous les détails concernant cette publication dans le journal des modifications.

      • Prose a publié ses versions 0.12.0 et 0.12.1 de son client web prose-app-web ! Vous pouvez lire tous les détails dans l'annonce de publication.

      • Psi+ a publié les versions 1.5.2109 à 1.5.2114 de sa branche de développement du client XMPP Psi.

      • XOWS a publié ses versions 0.9.9 et 0.9.9b de son client web XMPP Over WebSocket, avec un grand nombre de corrections et quelques nouvelles fonctionnalités.

      XOWS 0.9.9.b: incrustation automatique des images, vidéos et sons

      Serveurs XMPP

      Bibliothèques et outils XMPP

      Extensions et spécifications

      La XMPP Standards Foundation développe des extensions pour XMPP dans sa série XEP en plus des RFC XMPP. Des développeuses, développeurs et experts en standards du monde entier collaborent sur ces extensions, en élaborant de nouvelles spécifications pour des pratiques émergentes et en affinant des méthodes existantes. Proposées par n’importe qui, celles qui rencontrent un grand succès deviennent Finales ou Actives, selon leur type, tandis que d’autres sont soigneusement archivées comme Reportées. Ce cycle de vie est décrit dans XEP-0001, qui contient les définitions formelles et canoniques des types, états et processus. En savoir plus sur le processus des standards. La communication autour des standards et des extensions a lieu sur la liste de diffusion des standards (archive en ligne).

      Extensions proposées

      Le processus de développement des XEP commence par la rédaction d'une idée et sa soumission à l'éditeur XMPP. Dans les deux semaines qui suivent, le Conseil décide d'accepter ou non cette proposition en tant que XEP expérimentale.

      • Aucune XEP proposée ce mois-ci.

      Nouvelles extensions

      • Aucune nouvelle XEP ce mois-ci.

      Extensions déférées

      Si une XEP expérimentale n’est pas mise à jour pendant plus de douze mois, elle sera retirée de la catégorie Expérimental pour être classée comme Déférée. Si une mise à jour intervient, la XEP sera replacée dans la catégorie Expérimental.

      • Aucune XEP déférée ce mois-ci.

      Extensions mises à jour

      • Version 1.2.3 de XEP-0167 (Jingle RTP Sessions)

        • Redéfini l'attribut ssrc en tant que xs:unsignedInt (32-bit) au lieu de xs:string pour être cohérent avec la RFC3550. (lnj)
      • Version 1.6.3 de XEP-0198 (Stream Management)

        • Suppression des éléments résiduels <optional/> et <required/> dans l'élément <sm/> (egp)
        • Version 0.3.0 de XEP-0317 (Hats)
        • ajout des processus de création et de destruction de casquettes ;
        • ajout du paramètre optionnel hue;
        • ajout du signalement des casquettes en même temps que la presence dans les salons;
        • finalisation de disco#info ;
        • clarification de la manière dont le service devrait propager les mise à jour de casquettes;
        • correction de typos ;
        • standardisation des champs de formulaire; (tj)
      • Version 1.0.4 de XEP-0388 (Extensible SASL Profile)

        • le schéma doit utiliser all au lieu de sequence (dg)
      • Version 0.4.0 de XEP-0455 (Service Outage Status)

        • suppression des dernières références à pubsub, ajout de considérations concernant l'accessibilité (mp)

      Derniers appels

      Les derniers appels sont lancés une fois que tout le monde semble satisfait de l'état actuel d'une XEP. Une fois que le Conseil a décidé si la XEP semble prête, l'éditeur XMPP émet un dernier appel pour recueillir des commentaires. Les commentaires recueillis lors du dernier appel peuvent aider à améliorer la XEP avant de le renvoyer au Conseil pour qu'il passe à l'étape Stable.

      • Aucun dernier appel ce mois-ci.

      Extensions stables

      • Aucune XEP n’est passée à Stable ce mois-ci.

      Extensions dépréciées

      • Aucune XEP n’a été dépréciée ce mois-ci.

      Extensions rejetées

      • Aucune XEP n’a été rejetée ce mois-ci.

      Partagez les nouvelles

      N'hésitez pas à partager ces nouvelles sur d'autres réseaux :

      Consultez également notre flux RSS !

      Vous recherchez des offres d’emploi ou souhaitez engager une personne en tant que consultante professionnelle pour votre projet XMPP ? Consultez notre tableau des offres d’emploi XMPP.

      Contributions et traductions de la lettre d'information

      Il s’agit d’un effort communautaire, et nous souhaitons remercier les bénévoles pour leurs contributions. Le bénévolat et les traductions dans d'autres langues sont les bienvenus ! Les traductions de la lettre d'information XMPP seront publiées ici (avec un certain délai) :

      • Anglais (original) : xmpp.org
        • Contributions générales : Adrien Bourmault (neox), Alexander "PapaTutuWawa", Arne, Badri Sunderarajan, Benson Muite, cal0pteryx, emus, Federico, Gonzalo Raúl Nemmi, Jonas Stein, Kris "poVoq", Licaon_Kter, Ludovic Bocquet, Mario Sabatino, melvo, MSavoritias (fae,ve), nicola, Schimon Zachary, Simone Canaletti, singpolyma, XSF iTeam
      • Français : jabberfr.org et linuxfr.org
        • Traducteurs : Adrien Bourmault (neox), alkino, anubis, Arkem, Benoît Sibaud, mathieui, nyco, Pierre Jarillon, Ppjet6, Ysabeau
      • Allemand : xmpp.org
        • Traducteur : Millesimus
      • Italien : notes.nicfab.eu
        • Traducteur: nicola
      • Portugais : xmpp.org
        • Traducteur : Paulo
      • Espagnol : xmpp.org
        • Traducteur : Gonzalo Raúl Nemmi

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •  

      Dans le coffre aux trésors d’Unicode 17 : des chameaux et un trombone

      La version 17 d’Unicode est sortie le 9 septembre. Elle ajoute quatre systèmes d’écriture à son répertoire, quelques émojis et divers symboles plus ou moins ésotériques. Elle apporte aussi quelques modifications techniques. Avec les 4 803 caractères ajoutés, le répertoire Unicode en compte maintenant 159 801.

      Selon l’expression consacrée, cette version annule et remplace la précédente.

      Les émojis ajoutés à la version 17

      Sommaire

      Les systèmes d’écritures nouvellement adoptés

      Les quatre systèmes d’écriture ajoutés ont des origines géographiques et historiques très diverses.

      Le Sidétique : une écriture âgée de plus de 3200 ans

      Le Sidetique est un système d’écriture très ancien et qui remonte à l’âge de fer (soit environ 1 200 ans avant notre ère) qui était utilisé en Anatolie. C’est un système alphabétique composé de vingt-neuf lettres : voyelles et consonnes très inspiré du grec. On le retrouve essentiellement sur des inscriptions en pierre et des pièces de monnaie. La création d’une police de caractères pour le sidétique est un des projets de l’Atelier National de Recherche Typographique (ANRT) à Nancy.

      La proposition d’intégration du sidétique (PDF en anglais) à Unicode date de janvier 2023. Elle concerne vingt-neuf lettres différentes plus trois lettres additionnelles et est maintenant rangée dans les blocs 10940 à 1095F.

      Le Tolonge de Siki, à peine un quart de siècle

      Le Tolonge de Siki est un système d’écriture nettement plus récent puisque sa première publication date de 1999. Il a été créé par un physicien indien, le Dr Narayan Oraon, assisté du directeur de l’Institut central des langues indiennes (Central Institute of Indian Languages) de l’époque Francis Ekka, du précédent Vice-chancelier de l’université Ranchi dans l’État du Jarkhand et de Nirmal Minz. L’idée était de concevoir une écriture pour le Kuruth, la langue du Jarkhang, un État du Nord-est de l’Inde. Il comporte trente-cinq consonnes et six voyelles et s’écrit de gauche à droite. La demande d’intégration de l’alphabet Tolonge a été soumise au consortium Unicode (fichier PDF en anglais) en janvier 2023. Une police de caractère ainsi qu’une image de la disposition de clavier peuvent être téléchargées (EN) sur le site qui promeut la langue Kuruth (EN).

      Les blocs Unicode 11DB0 à 11DEF lui sont attribués.

      Beria Erfe, une écriture inspirée du marquage des chameaux

      Le peuple Béri1, est une ethnie dont les membres se répartissent géographiquement entre les régions de Wadi-Fira et de l’Ennedi au nord-est du Tchad et la région du Darfour au nord-ouest du Soudan. Les Arabes les appellent Zaghawa, nom sous lequel le peuple Béri apparaît dans Wikipédia. Une appellation d’autant plus inadaptée qu’elle ne concerne, selon les historiens, qu’une partie du peuple Béri. La société Béri est de type clanique et chaque clan a ses marques spécifiques pour ses animaux, essentiellement des dromadaires.

      Dans les années 1950, un instituteur, Adam Tajir a créé une écriture basée sur le marquage des dromadaires des clans (EN) Béri et que d’aucuns ont appelé « écriture des chameaux ». Cette écriture a fait ensuite l’objet d’amélioration en 2000. À la suite de quoi, l’écriture a été bien adoptée et présentée au Consortium Unicode en janvier 2024 (PDF, EN), par, notamment, l’auteur des modifications, un vétérinaire béri Siddick Adam Issa, sous le nom de « Beria Erfe ». L’alphabet se lit de gauche à droite et comporte vingt-cinq lettres, soit une collection de cinquante caractères en tout comprenant des minuscules et des majuscules. Il utilise aussi des signes diacritiques. Visuellement il fait un peu penser au Tiffinagh.

      Pour que cet alphabet soit pleinement utilisé avec les outils d’écriture modernes il fallait une fonte et une disposition de clavier. Une image de cette dernière figure dans la proposition soumise à Unicode. Une police de caractère a été créée en 2007 sous l’égide du SIL (EN). Cette version ne répondait pas aux standards d’Unicode, mais on peut récupérer la version actuelle sur la page du projet Kedebideri (EN). Debian propose aussi un paquet mais qui n’est pas (pas encore ?) encodé selon les standards d’Unicode.

      Les blocs Unicode 16EA0 à 16EDF lui sont attribués.

      Le Tai Yo une écriture thai du Vietnam

      Les Thai sont une minorité ethnique importante du Vietnam qui dispose de cinq écritures : le Tay noir, le Tay blanc, le Tay Dèng, le Tay yo qui vient de faire son entrée dans le registre Unicode et le Lai pao qui n’est plus utilisé.

      L’écriture Tai Yo (PDF en anglais) :

      occupe une place très à part dans l’ensemble des écritures thai du Vietnam. Elle s’écrit verticalement, de haut en bas, et les lignes se succèdent de droite à gauche sur le modèle de l’écriture chinoise. Les manuscrits se consultent en tournant les pages de la gauche vers la droite comme les anciens livres chinois. (Michel Ferlus Les Écritures thai du Vietnam in : Cahiers de linguistique - Asie orientale, vol. 35 2, 2006. pp. 209-239.)

      Elle compte vingt-neuf consonnes plus huit qui sont placées uniquement en dernière position et treize voyelles ainsi que neuf signes indiquant une voyelle en position finale.

      La police Tai Yo a été ajoutée à la collection des polices Noto de Google. Il existe également une disposition de clavier pour ordinateur. Les deux sont téléchargeables (EN) sur le site de Tools for indigenous languages on the web (outils pour les langues indigènes sur le web).

      La demande d’intégration du Tay Yo à la norme Unicode a été faite en décembre 2022. Il occupe les blocs : 1E6C0 à 1E6FF.

      Les autres ajouts, et ce qui ne figure pas dans cette version

      Les émojis

      Pas forcément l’aspect le plus intéressant d’Unicode, mais, au moins, le plus amusant. La version 17 (EN) nous en propose des sympathiques et qui figurent dans la police Noto Color empoji (EN). Ce sont :

      • un visage déformé pour marquer l’anxiété, la panique, la surprise, etc., U+1FAEA,
      • un nuage de bataille, du style de ce que l’on peut voir dans Astérix par exemple, U+1FAEF
      • une créature velue, un yéti en fait, U+1FACB,
      • une ballerine avec des variantes de couleur, U+1F9D1, U+200D et U+1FA70,
      • un personnage avec des oreilles de lapin U+1F46F, déclinable en plusieurs variantes,
      • des personnes en lutte (du catch ?), déclinable en plusieurs variantes, U+1F93C,
      • un orque U+1FACD,
      • une avalanche, U+1F6D8,
      • un trombone U+1FA8A, à ne pas confondre avec ceux qui traînent sur vos bureaux U+1F4CE et qui sont entrés dans l’Unicode en 2010,
      • et, pour finir et ranger tout ça : le coffre aux trésors U+1FA8E.

      Le trognon de pomme qui avait résisté vaillamment jusqu’à la version bêta d’Unicode 17 ne figure finalement pas dans la version définitive. Mozilla l’avait ajouté sous la forme d’une pomme croquée rappelant le logo d’Apple.

      Des symboles et des suppléments

      Cette version Unicode ajoute des caractères supplémentaires à l’écriture Sharada qui contient les caractères historiques du cachemiri, du sanscrit et de diverses autres langues du nord du sous-continent indien utilisés du 8e au 20e siècle. L’Inde, rappelons-le, recense 270 langues parlées dont 22 langues officielles. Ce supplément ajoute sept voyelles nécessaires pour un usage contemporain de l’écriture, bloc U+11B60 à U+11B7F.

      Le tangut (ou tangoute), un système d’écriture logographique d’un ancien peuple du nord-ouest de la Chine, se voit également doté d’un supplément de 128 caractères, U+18D00 à U+18D7F.

      Des points de code, U+323B0 à U+3347F, sont également ajoutés à l’extension J (pour japonais) des idéographies unifiés chinois-japonais-coréens portant à 4 298 le nombre de signes recensés. Il s’agit de caractères rares et historiques japonais, coréens et vietnamiens.

      Pour finir en majesté, cette version propose divers symboles supplémentaires, points de code U+1CEC0 à U+1CEFF, dont : seize symboles astronomiques (Flora U+ 1CEC, Victoria U+1CEC5 et Irène U+1CEC7 ont leur numéro de code), autant de symboles de géomancie (par exemple Lætitia U+CEE8 ou Rubeus U+1CEE4), quatre symboles de jeux d’échec et un symbole divers qui se trouve être un cercle blanc de taille moyenne avec une barre horizontale utilisé en chimie : U+1CEF0.

      Et sur le plan technique ?

      Très peu de nouveautés ou de changements significatifs pour cette version.

      On peut noter la création d’une nouvelle de césure « Unambiguous_Hyphen (HH) » qui suit les modifications apportées au saut de ligne forcé : U+034F Combining grapheme joiner (combinaison de graphème), une nouvelle cédille U+00BB. Dans sa note de blog, Stéphane Bortzmeyer explique cela mieux que moi.

      On pourra peut-être relever aussi que les attributs pour les propriétés obsolètes : Gr_Link, Hyphen, isc, kGB7, kJa, XO_NFC, XO_NFD, XO_NFKC, XO_NFKD, FC_NFKC ont été supprimés et qu’une annexe a été ajoutée sur les principes d’encodage de la base de données des hiéroglyphes égyptiens.

      Remerciements (!?) et lectures complémentaires

      Cette dépêche n’aurait pas été écrite si, sur Mastodon, Stéphane Bortzmeyer ne m’avait taguée pour me signaler que le trognon de pomme avait été éjecté d’Unicode 17. Ce qui m’importe assez peu à vrai dire, sauf en ce qui concerne le fonctionnement d’Unicode. Mais comme j’ai quelques bonnes manières, je l’en ai remercié en lui demandant des nouvelles du système d’écriture maya, ce qui était une gaffe parce qu’il m’a répondu en me parlant de l’écriture des chameaux. Un procédé parfaitement déloyal ! Mais j’imagine que je dois tout de même le remercier (j’ai appris plein de choses).

      Et comme pour cette dépêche j’ai pas mal lu, je vous inflige la liste de ce que j’ai parcouru ou lu en plus des liens in-texte au cas où vous voudriez aussi poursuivre la lecture :


      1. Selon les sources, Béri prend ou non un accent. Il en va de même pour Zaghawa qui est orthographié de différentes façons. 

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •  

      🪶 Les journaux LinuxFr.org les mieux notés d'août 2025

      LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l’équipe de modération avant publication. C’est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

      Bannière LinuxFr.org

      Ce que l’on sait moins, c’est que LinuxFr.org vous propose également de publier directement vos propres articles, sans validation a priori de lʼéquipe de modération. Ceux-ci s’appellent des journaux. Voici un florilège d’une dizaine de ces journaux parmi les mieux notés par les utilisateurs et les utilisatrices… qui notent. Lumière sur ceux du mois d'août passé.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •  

      Pocket est mort, vive wallabag

      Pocket était une application permettant de gérer une liste d'articles lus sur Internet. Elle a été créée en août 2007 par Nathan Weiner, puis est devenue gratuite avec option Premium en 2012. Acquis en 2017 par Mozilla, le service a annoncé le 22 mai 2025 sa fermeture prochaine. (source Wikipedia).

      Ainsi, depuis le 8 juillet 2025, il n'est plus possible d'archiver ses contenus via Pocket, seul l'export de ses données est réalisable. Courant octobre, l'export sera également coupé.

      Une alternative à Pocket

      Depuis maintenant plus de 12 ans, une alternative à ce service privateur existe : il s'agit de wallabag. Nous avons déjà régulièrement parlé de notre projet sur LinuxFR.org.

      Suite à l'annonce de la fermeture de Pocket, l'équipe de développement s'est organisée afin de proposer un import possible depuis le CSV fourni.

      C'est pourquoi une version 2.6.13 est disponible depuis le 4 juin.

      Mettre à jour votre instance

      Depuis quelques versions, c’est relativement simple de mettre à jour votre wallabag : vous n’avez qu’à exécuter la commande make update. Si vous le souhaitez, vous trouverez plus d’informations sur le billet de blog du projet.

      La suite

      Dans quelques semaines, l'équipe aimerait sortir une nouvelle version importante. Outre de nouvelles fonctionnalités (comme par exemple un sélecteur de police de caractères), c'est surtout une montée de version technique nécessaire afin d'assurer la pérennité du projet.

      Pour rappel, si vous ne souhaitez pas héberger votre instance de wallabag, il est possible d’utiliser le service en ligne wallabag.it.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •  

      muttum, un nouveau jeu de devinette de mots pour Linux

      muttum est un jeu libre dont le but est de retrouver un mot en quelques essais. La première lettre est fixe pour avoir des plateaux différents à chaque fois. Une première version de muttum est publiée sur Flathub depuis le début de l’été.

      Sommaire

      Histoire

      plateau de jeu

      Le projet muttum est né suite à la découverte des jeux Wordle et Sutom qui proposent également de deviner un mot une fois par jour dans le dictionnaire anglais pour le premier et français pour le second.

      J’ai décidé de me lancer dans l’aventure de développer muttum sur mon temps libre pour proposer le jeu de devinette sans avoir besoin d’Internet et pour pouvoir essayer plusieurs mots dans la même journée sans limitation artificielle.

      Une autre de mes motivations était d’apprendre à créer une application avec les bibliothèques GTK et GObject. J’avais déjà joué avec GTK quelques fois, mais je n’avais pas utilisé le concept des objets proposé par GObject et il me semblait que GObject pouvait simplifier l’utilisation des composant GTK complexes. Par exemple, après avoir implémenté la vue en table des budgets HomeBank, j’ai eu l’impression que ça aurait été plus facile de créer la table GTK si les données à afficher avait déjà été mises en forme avec GObject.

      Je voulais également essayer également d’utiliser le langage C directement, le langage utilisé par GTK, pour ne pas avoir besoin de dépendre des introspections (interfaces de GTK avec les autres langages de programmation, comme Python, C++…).

      C’est ainsi que le développement a commencé en février 2022 sous le nom temporaire LeBonMot avec une structure assez simple qui mélangeait le moteur logique du jeu et l’interface graphique dans un seul et même code source.

      Après quelques semaines de développement, j’ai trouvé le nom muttum et j’ai débuté la location du nom de domaine muttum.org en avril 2022 :

      $ rdap muttum.org
      Domain:
      Domain Name: muttum.org
      Domain Name (Unicode): > muttum.org
      […]
      Event:
      Action: registration
      Date: 2022-04-12T08:46:16.285Z

      muttum serait, d’après le Wiktionnaire, un nom commun latin qui signifie bruit, grognement et dont la dérivation en français a formé le nom commun mot. Cette information m’a bien plu puisque justement le but du jeu est de retrouver le bon mot et que, en plus, c’est un palindrome.

      Durant la même période, j’ai commencé une réorganisation du code pour séparer la partie moteur de calcul de la partie graphique, ce qui permettra dans le futur de développer plusieurs styles d’interface graphique. Pour l’instant muttum ne propose qu’une interface développée pour la plateforme GNOME, car elle dépend de la bibliothèque libadwaita.

      Quand je décide de faire cette séparation, j’ai deux idées d’interfaces  : une qui serait multi-plateforme en n’utilisant que GTK (sans libadwaita) et une interface web en utilisant WebAssembly pour utiliser le moteur de muttum. Pour l’instant, aucune de ces 2 interfaces n’a été développée. La version multiplateforme sera assez rapide à implémenter (il faut enlever libadwaita des dépendances) et la version web ne sera peut-être jamais utile finalement : depuis 2025 GTK propose un portage expérimental pour la plateforme Android.

      Gagné !

      Vers septembre 2022, je décide de séparer le code source dans deux répertoires différents: muttum ne contiendra que l’interface graphique et libmuttum ne contiendra que le moteur du jeu. Le travail est donc continué sur libmuttum jusqu’à fin janvier 2023 (séparation du moteur, ajout de tests pour le moteur…).

      Le projet est en pause complète jusqu’en novembre 2024, je ne sais plus pourquoi, mais certainement parce que les rénovations de ma maison ont débuté en 2023 et que je n’avais plus la tête à coder sur mon temps libre.

      En novembre 2024, le premier commit de la reprise indique que je reprends le code du moteur avec le langage Rust et ce pour plusieurs raisons :

      1. je souhaitais apprendre Rust et le code de ce moteur était un bon bac à sable pour apprendre un nouveau langage. Il m’avait d’ailleurs déjà permis d’apprendre à utiliser C et GObject ;
      2. je ne retrouve plus la référence exacte, mais un des développeurs principaux de GTK conseillait d’utiliser Rust pour débuter de nouvelles applications (c’était probablement l’article On Vala d’Emmanuele Bassi) ;
      3. les éditions ENI m’ont offert le livre Rust, Développez des programmes robustes et sécurisés pour une de mes contributions à LinuxFr.

      Enfin, en juin 2025, la première version publique a été publiée sur Flathub.

      Fonctionnalités

      muttum fonctionne avec des dictionnaires : ce sont des fichiers textes qui contiennent un mot connu par ligne et qui sont encodés en UTF-8. Les dictionnaires distribués avec la version Flathub proviennent des projets:

      • wfrench pour le français
      • scowl pour les dictionnaires anglais
      • igerman98 pour les dictionnaires allemands

      muttum permet aux distributeurs de définir n’importe quel dictionnaire avec un fichier de configuration. Ceci permet aux empaqueteurs d’utiliser les paquets déjà existant pour les dictionnaires et de donner le chemin à charger pour chaque langue. Ce fichier de configuration est également utilisé dans le dialogue À propos des dictionnaires pour créditer les projets qui ont créé les dictionnaires.

      À propos des dictionnaires

      muttum sait gérer l’alphabet latin, mais il est architecturé pour définir d’autres alphabets. Pour ce faire, il faut définir les caractères de base. muttum utilise cette liste pour filtrer les caractères entrés par l’utilisateur et pour filtrer les mots valides.

      À mesure que l’utilisateur essaie des mots différents, muttum met à jour l’alphabet affiché en dessous du plateau pour indiquer si toutes les occurrences d’une lettre ont été trouvées (couleur verte), si des occurrences ont été trouvées et qu’il pourrait en exister plus (couleur orange) ou si une lettre n’existe pas dans le mot (couleur grise).

      Limitations

      muttum nécessite un clavier pour saisir les caractères, il n’y a pour l’instant pas de possibilité de saisir les caractères avec un écran tactile. L’écran doit aussi être assez grand pour pouvoir afficher le plateau complètement, donc pour l’instant il n’est pas utilisable sur les smartphones.

      muttum n’applique pas de filtres sur les mots des dictionnaires, il contrôle uniquement qu’un mot est valide selon l’alphabet défini. Par exemple, il est conseillé qu’un dictionnaire contienne les conjugaisons complètes des verbes et donc un mot à deviner peut être n’importe quelle forme du verbe.

      Développements futurs

      Pour l’instant, je vais faire une pause dans le développement de ce jeu, parce que je souhaite travailler sur d’autres projets.

      Néanmoins, j’ai déjà quelques idées pour la suite de ce projet :

      1. ajouter un dialogue pour expliquer comment jouer (utilisation du clavier), la signification des couleurs et la mise à jour de l’alphabet sous le plateau
      2. ajouter un chronomètre en sous-titre de la fenêtre et afficher le temps pour terminer le plateau dans le dialogue de fin de jeu
      3. dans le dialogue de fin, j’aimerai ajouter un bouton de partage comme le fait Sutom. Pour que ce soit intéressant, il faudra que j’ajoute un lien pour que les amis puissent essayer le même plateau. Donc il faut que muttum gère le schéma d’application muttum:// et il faudrait mettre le mot à trouver encodé en base64 et les paramètres du plateau dans le lien
      4. vers la fin du projet, j’ai appris l’existence de l’option pedantic pour le linter clippy et je voudrais corriger les points qu’il remonte pour avoir un meilleur style de code.
      5. la bibliothèque icu a sorti une nouvelle version majeur, il faudrait mettre à jour le code de muttum pour celle-ci.
      6. rendre l’application compatible avec les smartphones. Ça passera sûrement par l’utilisation d’entrées textes à la place des labels dans le plateau, cacher l’alphabet par défaut et rendre le plateau défilable.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •  

      LinuxFr.org rejoint l'Open Source Initiative

      L'Open Source Initiative (OSI), fondation qui a défini et maintient la définition officielle de l'Open Source, et LinuxFr.org ont le même âge, à cinq mois près. Toutes deux sont nées en 1998, LinuxFr.org le 28 juin et l'OSI en février 1998. Nous avons fêté nos 20 ans ensemble à Paris Open Source Summit et depuis, nous nous retrouvons régulièrement autour de cupcakes, de bières ou toute autre occasion festive.

      LinuxFr.org et l'OSI célébrant leurs 25 ans communs en 2023

      Mais il était temps d'aller un cran plus loin. LinuxFr.org (via l'association LinuxFr) devient membre de l'Open Source Initiative (OSI), comme organisation affiliée. Cela vient renforcer le lien avec les communautés du logiciel libre et de l'Open Source francophones et mettre en valeur les initiatives locales soutenant une collaboration ouverte dans le monde.

      « Après d'innombrables célébrations d'anniversaire aux côtés de l'Open Source Initiative, LinuxFr.org est fier d'unir ses forces en tant qu'organisation affiliée. À une époque où l'Open Source est confrontée à des défis quotidiens, ce partenariat est essentiel pour mettre en avant des valeurs communes. Ce n'est qu'en rapprochant nos communautés que nous pourrons préserver et promouvoir les libertés que nous défendons tous deux. » – Florent Zara, membre du conseil d'administration de LinuxFr

      L'OSI se réjouit « de collaborer avec [LinuxFr.org] pour soutenir notre engagement commun en faveur de l'Open Source. Leur participation renforce notre réseau international et souligne l’importance de nourrir les cultures Open Source dans toutes les langues et toutes les régions. »

      Les cupcakes et la cuvée spéciale des 25 ans !

      Les cupcakes et la cuvée spéciale des 25 ans !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      •