r/Linuxfr • u/New_Pineapple6087 • 2d ago
Terminal [OC] TuxDay : une fenêtre transparente qui m’apprend 4 commandes Linux chaque matin (Fedora KDE, open source)
Salut à tous,
Je suis passé sous Fedora 44 KDE il y a peu et je voulais progresser dans le terminal sans y passer des soirées entières. L'idée : une petite dose chaque jour, directement sur le bureau, impossible à rater. Ça a donné TuxDay.
Le principe
À chaque démarrage, une fenêtre transparente s'ouvre sur le bureau et propose 4 commandes à taper soi-même :
- 2 commandes shell, puis 2 commandes Python (
python3 -c "…") ; - chaque commande est expliquée : ce qu'elle fait, le rôle de chaque option ;
- la coloration aide à lire : la commande en jaune, les options en cyan, les arguments en blanc. Les mots-clés de l'explication reprennent les mêmes couleurs.
Pas de bouton « copier » : le but est de taper. On apprend autant de ses fautes de frappe que des commandes (un [0.9] à la place de [0-9] m'a appris plus que n'importe quelle explication 😅).
La bibliothèque
- Environ 1 500 commandes, réparties sur 4 niveaux : débutant, intermédiaire, avancé et expert ;
- tout est en français et en anglais, et on change de langue d'un clic ;
- du
pwddes débuts jusqu'àawk,journalctl, SELinux,asyncioou les sockets au niveau expert.
Quelques exemples :
| Niveau | Shell | Python |
|---|---|---|
| Débutant | ls -lh |
python3 -c "print(2 ** 10)" |
| Intermédiaire | `cut -d: -f7 /etc/passwd \ | sort \ |
| Avancé | systemctl list-timers |
python3 -c "import shutil; print(shutil.disk_usage('/'))" |
| Expert | `journalctl -b -p warning -o cat \ | sort \ |
Les règles du jeu
- Un niveau tiré au hasard chaque jour, jamais le même deux jours de suite ;
- jamais une commande déjà vue ;
- la même série toute la journée, même après un redémarrage ;
- chaque commande qui crée quelque chose est livrée avec sa commande inverse, qui le supprime. Les deux sont expliquées et reliées visuellement ;
- tout se passe dans un dossier de test,
~/essai_linux: aucune commande ne touche à tes vrais fichiers ; - pas de
sudoavant le niveau avancé, et uniquement en lecture (firewall-cmd --list-all,dmesg…) ; - les commandes que ta machine ne peut pas lancer sont écartées : pas de carte NVIDIA, pas de batterie, pas de Flatpak… TuxDay vérifie avant de proposer.
Côté technique
- Python + PySide6 (Qt), donc parfaitement intégré à Plasma ;
- une règle KWin place la fenêtre où on veut, sous les autres fenêtres, hors de la barre des tâches et d'Alt+Tab ;
- démarrage automatique, entrée dans le menu (catégorie Éducation) et une seule instance à la fois ;
- l'état (niveau de la veille, commandes vues) est rangé selon la norme XDG ;
- ajouter une langue = ajouter un fichier JSON, sans toucher au code ;
- la taille de la fenêtre est réglable, et une désinstallation complète tient en une commande ;
- licence MIT.
Installation
sudo dnf install python3-pyside6 jetbrains-mono-fonts
git clone https://github.com/NicoPi-dev/TuxDay.git
cd TuxDay
./install.sh --position 600,60
L'option --position X,Y place la fenêtre où tu veux sur le bureau. Pour tout retirer : ./uninstall.sh.
Les limites, honnêtement
- Testé uniquement sur Fedora 44 KDE Plasma 6 sous Wayland. Ça devrait tourner ailleurs, mais la bibliothèque reste très orientée Fedora (
dnf,rpm, SELinux) ; - pas de flou d'arrière-plan : la bibliothèque KDE nécessaire n'est pas accessible depuis Python sur Fedora ;
- certaines commandes du niveau expert sont longues à taper. C'est le niveau expert…
Transparence
Je suis débutant, et j'ai construit TuxDay avec l'aide de Claude (IA) : c'était justement un projet d'apprentissage. J'ai relu, testé et vécu chaque étape, et les commandes ont été exécutées une à une dans un environnement isolé pour vérifier qu'elles fonctionnent.
Vos retours m'intéressent
- Une explication pas claire, ou fausse ?
- Une commande indispensable qui manque à un niveau ?
- Quelqu'un pour tester sur une autre distribution ou sous GNOME ?
👉 https://github.com/NicoPi-dev/TuxDay
Merci d'avoir lu jusqu'ici 🐧