Outil de préparation et d'accompagnement pour les mises à niveau majeures Debian.
Le projet est composé de deux briques:
- Un backend CLI qui vérifie les prérequis, prépare la machine, et orchestre la mise à niveau.
- Une interface GUI (Rust + Slint) qui guide l'utilisateur étape par étape.
Rendre la montée de version majeure Debian plus fiable, plus lisible et plus sûre, tout en gardant une expérience utilisateur simple.
context.md: document de référence partagé (vision, architecture, roadmap, suivi).backend-cli/: binaire CLI backend (adaptateur d'exécution).upgrade-core/: librairie cœur (logique métier, étapes, événements).frontend-gui/: interface graphique Slint.docs/: documents d'architecture, procédures et décisions.build.sh: script de build/test local générant un bundle test dansbuildtest/.
cargo run -p backend-cli --bin debian-upgrade-backend -- --dry-run --debug run-all
cargo run -p backend-cli --bin debian-upgrade-backend -- --dry-run defer week
./build.sh- Compiler le backend:
cargo build -p backend-cli --bin debian-upgrade-backend- Lancer la GUI:
cargo run -p frontend-gui --bin debian-upgrade- Dans la GUI, cliquer sur
Dry-run integre(recommande). - Option de secours:
Dry-run process.
- Mode normal (par defaut):
cargo run -p frontend-gui --bin debian-upgrade- Mode debug (bypass test):
cargo run -p frontend-gui --bin debian-upgrade -- --debugLe package installe un timer systemd (system-wide, execute en root) qui verifie periodiquement la disponibilite d'une nouvelle version majeure Debian.
- Service:
debian-upgrade-notify.service - Timer:
debian-upgrade-notify.timer - Script:
/usr/local/lib/debian-upgrade/check-upgrade-notify.sh
Comportement:
- Verifie internet et lance
debian-upgrade-backend check-new-release. - Si une nouvelle majeure est detectee, envoie une notification interactive aux sessions graphiques actives:
- utilisateur
root, - utilisateurs membres du groupe
sudo.
- utilisateur
- Notification:
- app name
Debian-Upgrade, - icone
system-software-update, - urgence
critical, - expiration
0(persistante tant qu'aucune action n'est prise).
- app name
- Actions directement dans la notification:
- lancer la GUI,
- reporter 1 jour / 1 semaine / 1 mois.
- Le report est memorise par utilisateur cible dans
/var/lib/debian-upgrade/notify/.
Ancien comportement retire:
- plus de popup
zenity, - plus de timer
systemd --user.