Aller au contenu

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

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.

Diagramme de séquence - Execution

Creation d'un travail

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

Diagramme de séquence - Ajout travail

Configuration des parametres

Flux de modification des paramètres globaux.

Diagramme de séquence - Parametres

Diagramme des cas d'utilisation

Diagramme des cas d'utilisation