RustFlash est un utilitaire Rust multiplateforme pour écrire des images disque, cloner des supports, gérer des sauvegardes et manipuler des partitions depuis une interface CLI ou TUI.
- Projet : rustflash
- Version : 0.1.0
- Licence : MIT ou Apache-2.0
- Langage principal : Rust 2024
- Aperçu
- Architecture
- Préparer l’environnement
- Installation
- Utilisation
- Commandes principales
- Qualité & validation
- Dépannage
- Documentation associée
Le projet fournit une base commune pour les opérations bas niveau sur disque :
- Flash d’images (
.img,.iso,.raw) avec vérification d’intégrité - Décompression d’images (
.gz,.xz,.zst,.bz2,.zip) - Clonage disque à disque ou disque vers fichier (option compression)
- Sauvegarde/Restauration au format propriétaire
.rfb(compression + checksums) - Gestion de partitions (GPT/MBR) : création, suppression, formatage, effacement sécurisé
- Interfaces CLI scriptables et TUI ergonomique
Le dépôt est structuré autour de couches métier distinctes :
src/cli: parsing des commandes et orchestration CLIsrc/tui: moteur d’état + vues terminales pour la navigation interactivesrc/core: logique métier (flash / clone / backup / partition / vérification)src/io: traitement flux, décompression, téléchargement, accès blocsrc/device: détection, filtrage et montage des périphériquessrc/platform: adaptateurs spécifiques OS (linux,macos,windows)src/config: persistance de configuration applicative
CLI/TUI ──► couche applicative ──► moteur core ──► io/device/platform
- Rust 2024 (1.85+ recommandé)
- Outils Git et un terminal adapté
- Droits root / admin pour les opérations disque
git clone https://github.com/TODO/rustflash.git
cd rustflash
cargo build --releaseBinaire produit : target/release/rustflash.
Sans argument, rustflash démarre la TUI.
rustflashPour la CLI, l’aide complète est disponible via :
rustflash --help
rustflash <commande> --help# Flash d'une image
rustflash flash --image ubuntu.iso --target /dev/sdb --verify
# Clonage
rustflash clone --source /dev/sda --dest /dev/sdb
# Sauvegarde
rustflash backup --source /dev/sda --output backup.rfb --compression zstd
# Restauration
rustflash restore --input backup.rfb --target /dev/sdb
# Gestion de partitions
rustflash partition /dev/sdb show
rustflash partition /dev/sdb create gpt
rustflash partition /dev/sdb add -t ext4 -s 4G -l mydata
# Liste des périphériques
rustflash list
rustflash list --jsoncargo test
cargo fmt --check
cargo clippy- Erreur d’accès périphérique : exécuter avec privilèges suffisants.
- Image compressée non reconnue : vérifier l’extension et la validité de l’archive.
- Mauvaise cible de disque : vérifier soigneusement la table de partitions avant toute écriture.
- Vérification SHA : privilégier les flags de vérification avant validation final.
DOCS.md: documentation technique et fonctionnement interneNOTICE.md: dépendances, attributions et notices de licencesdocs/: notes complémentaires de contexte projet