Refactor code structure for improved readability and maintainability
This commit is contained in:
78
diagrams/raspi/04_sequence_synchronisation.puml
Normal file
78
diagrams/raspi/04_sequence_synchronisation.puml
Normal 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
|
||||
Reference in New Issue
Block a user