v3.0 - Implémentation complète¶
Statut: Livrable final
Interface: WPF / MVVM (même base que v2.0)
Date: 17 mai 2026
Toutes les fonctionnalités spécifiées au cahier des charges ont été implémentées et testées.
Nouvelles fonctionnalités prévues¶
1. Sauvegardes en parallèle¶
Tous les travaux lancés simultanément s'exécutent sur des threads séparés (Task.Run). Les accès aux fichiers log et état sont synchronisés (SemaphoreSlim) pour éviter toute corruption.
2. Gestion des fichiers prioritaires¶
Certaines extensions (configurables) ont la priorité absolue : tant qu'un fichier prioritaire est en attente sur n'importe quel travail, aucun fichier non-prioritaire ne peut être transféré.
3. Limitation de bande passante pour les gros fichiers¶
Il est interdit de transférer en simultané deux fichiers dépassant n Ko (paramétrable). Un SemaphoreSlim(1) partagé est acquis uniquement pour les transferts de gros fichiers.
4. Play / Pause / Stop par travail¶
| Action | Comportement |
|---|---|
| Play | Démarre ou reprend après une pause |
| Pause | Prend effet après le fichier en cours (pas d'interruption brutale) |
| Stop | Arrêt immédiat du travail |
5. Logiciel métier - pause automatique¶
Évolution du comportement v2.0 :
| Version | Comportement |
|---|---|
| v2.0 | Blocage au lancement ; arrêt après le fichier en cours |
| v3.0 | Pause automatique de tous les travaux ; reprise automatique dès la fermeture du logiciel métier |
BusinessAppWatcher passe en mode polling continu et émet un signal aux threads de sauvegarde.
6. CryptoSoft — mono-instance¶
Avec les sauvegardes parallèles, plusieurs threads pourraient lancer CryptoSoft.exe simultanément. La solution : CryptoSoft détecte une instance déjà active via un Mutex nommé système, et EasySave sérialise ses appels.
7. Centralisation des logs via Docker¶
Un service Docker reçoit les logs de toutes les instances EasySave en réseau (socket ou API REST). L'utilisateur choisit dans les paramètres :
- Logs locaux uniquement
- Logs centralisés uniquement
- Les deux simultanément
Un identifiant de machine est ajouté dans chaque entrée de log.
Tableau récapitulatif des versions¶
| Fonction | v1.0 | v1.1 | v2.0 | v3.0 |
|---|---|---|---|---|
| Interface | Console | Console | WPF | WPF |
| Travaux | Max 5 | Max 5 | Illimité | Illimité |
| Format log | JSON | JSON/XML | JSON/XML | JSON/XML |
| Cryptage | Non | Non | Oui | Oui (mono-instance) |
| Logiciel métier | Non | Non | Blocage | Pause auto |
| Exécution | Séquentiel | Séquentiel | Séquentiel | Parallèle |
| Play/Pause/Stop | Non | Non | Non | Oui |
| Fichiers prioritaires | Non | Non | Non | Oui |
| Bande passante gros fichiers | Non | Non | Non | Oui |
| Logs Docker centralisés | Non | Non | Non | Oui |
Diagrammes¶
Diagramme de classes v3.0¶

Diagrammes de séquence¶
Execution des travaux¶
Flux d'exécution des sauvegardes parallèles avec gestion des priorités et des fichiers volumineux.

Creation d'un travail¶
Flux de création et sauvegarde d'un travail de sauvegarde.

Configuration des parametres¶
Flux de modification des paramètres globaux.

Diagramme des cas d'utilisation¶
