Vue lecture

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

  •  

Des images satellites montrent l’impact des frappes iraniennes sur la base américaine au Qatar (photos)

Depuis le 11 juillet 2025, de nombreux clichés récoltés par l'OSINT montrent l'impact des frappes iraniennes contre la base américaine d'Al Udeid au Qatar. Survenue dans la nuit du 23 au 24 juin 2025, cette salve de missiles balistiques était une réponse aux frappes américaines sur des installations nucléaires iraniennes.

  •  

Soldes d’été : voici les seuls deals qui valent le coup ce mardi

Les soldes entament leur dernière ligne droite. Pour certains commerçants, c’est le moment de sortir les vraies bonnes offres, avec une dernière démarque. Tout le monde ne joue pas forcément le jeu, mais en fouillant un peu, on trouve encore des promos qui valent vraiment le détour. Après avoir trié les fausses réductions et les produits dépassés, voici notre sélection des vrais deals.

  •  

Revue de presse de l’April pour la semaine 28 de l’année 2025

[Forbes France] L’open source en entreprise: catalyseur d’innovation et de souveraineté numérique

✍ Antony Derbes, le samedi 12 juillet 2025.

À l’heure où la transformation numérique est un enjeu clé pour la compétitivité des entreprises, l’open source s’impose plus que jamais comme un levier stratégique majeur. Souvent perçu comme une simple alternative technique, le logiciel libre est en réalité un puissant catalyseur d’innovation, un outil d’agilité et un vecteur essentiel de souveraineté numérique.

[cio-online.com] Caroline Rattier-Robert, DSI de Marseille: «rapprocher l'expérience utilisateur du libre de celle des suites commerciales»

✍ Reynald Fléchaux, le jeudi 10 juillet 2025.

A la tête de la DSI de la deuxième ville de France, Caroline Rattier-Robert a mené depuis trois ans un important chantier de transformation de la DSI.

[Next] Boris Dolley, RTE: «l'open source est une clé merveilleuse» de la souveraineté numérique

✍ Mathilde Saliou, le mercredi 9 juillet 2025.

Dans le 4e épisode d’Écosystème, l’informaticien Boris Dolley détaille les nouveaux enjeux que l’IA fait peser sur le réseau de transport en électricité et la manière dont l’open source peut aider au développement d’un numérique responsable et souverain.

[La Tribune] Ces villes françaises qui font le pari des logiciels libres à la place de Microsoft

✍ Anne Taffin et Marie Lyan avec Bogdan Bodnar, le mercredi 9 juillet 2025.

En Auvergne-Rhône-Alpes, plusieurs collectivités tournent le dos aux logiciels du géant américain et optent pour les solutions open source. Une décision motivée à la fois par des enjeux de souveraineté numérique et la volonté de maîtriser les coûts.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Harry Potter : première image, casting, date de sortie… Tout savoir sur la série de HBO

Warner Bros. développe actuellement une série adaptée des livres Harry Potter, pour sa plateforme de streaming HBO Max : elle s'étendra au moins sur « une décennie » et J.K. Rowling en est la productrice exécutive. Date de sortie, casting, histoire... Voici tout ce que l'on sait déjà sur ce nouveau voyage à Poudlard.

  •  

Parrot 6.4 released

✇LWN
Par :corbet
Parrot is a Debian-based distribution with an emphasis on security improvement and tools; the 6.4 release is now available. "Many tools, like Metasploit, Sliver, Caido and Empire received important updates, the Linux kernel was updated to a more recent version, and the latest LTS version of Firefox was provided with all our privacy oriented patches.".
  •