Refactor code structure for improved readability and maintainability

This commit is contained in:
2025-04-28 00:52:40 +02:00
parent b6e0080caa
commit 93026436a9
48 changed files with 2116 additions and 126 deletions

View File

@@ -0,0 +1,78 @@
@startuml Séquence de Synchronisation des Données
skinparam {
BackgroundColor white
SequenceGroupBorderColor gray
SequenceGroupBodyBackgroundColor whitesmoke
ParticipantBackgroundColor lightblue
ParticipantBorderColor gray
LifeLineBorderColor gray
ArrowColor #666666
}
actor "Système" as System
participant "sync_offline_data.py" as Sync
participant "APIClient" as API
participant "TimelapseCaptureManager" as Manager
participant "Config" as Config
database "Stockage local" as Storage
database "Serveur API" as Server
System -> Sync : Exécution du script
activate Sync
Sync -> API : check_connection()
activate API
API --> Sync : Connexion disponible
deactivate API
Sync -> Manager : count_offline_captures()
activate Manager
Manager -> Storage : Listing des dossiers offline
Storage --> Manager : Liste des captures
Manager --> Sync : Nombre de captures hors ligne
deactivate Manager
alt Captures hors ligne disponibles
Sync -> Manager : sync_offline_captures()
activate Manager
loop Pour chaque capture hors ligne
Manager -> Storage : Lire données JSON
activate Storage
Storage --> Manager : Données (timestamp, température, etc.)
deactivate Storage
Manager -> Storage : Lire image
activate Storage
Storage --> Manager : Fichier image
deactivate Storage
Manager -> API : upload_measurement()
activate API
API -> Server : POST /camera/upload
alt Upload réussi
Server --> API : Confirmation (ID image)
API --> Manager : Succès
Manager -> Storage : Suppression des fichiers locaux
Manager -> Config : Mise à jour du statut
else Échec de l'upload
Server --> API : Erreur
API --> Manager : Échec
note right: Conservation des fichiers locaux\npour tentative ultérieure
end
deactivate API
end
Manager --> Sync : Nombre de captures synchronisées
deactivate Manager
else Aucune capture à synchroniser
Sync -> Sync : Fin sans action
end
Sync --> System : Rapport de synchronisation
deactivate Sync
@enduml