@startuml Flux du Processus de Capture d'Images skinparam { BackgroundColor white ArrowColor #666666 BorderColor #666666 FontName "Arial" } start if (Connexion internet disponible?) then (oui) :Mode connecté (timelapse_online.py); :Récupération du statut depuis l'API; if (Serveur accessible?) then (oui) :Mise à jour de la configuration locale; if (Mode maintenance?) then (oui) :Arrêt du processus; stop else (non) if (Demande d'arrêt?) then (oui) :Confirmation de l'arrêt au serveur; :Réinitialisation de la configuration; stop else (non) if (Configuration active?) then (oui) :Capture d'image; :Lecture des données environnementales; :Envoi au serveur; if (Envoi réussi?) then (oui) :Décrémenter le nombre d'images restantes; else (non) :Sauvegarder en mode hors-ligne; endif if (Toutes images capturées?) then (oui) :Notification au serveur; :Désactivation de la configuration; stop else (non) :Attente du prochain cycle; endif else (non) :Mode IDLE, aucune action; stop endif endif endif else (non) :Fonctionnement en mode dégradé; endif else (non) :Mode hors ligne (timelapse_offline.py); if (Configuration active?) then (oui) if (Images restantes > 0?) then (oui) :Capture d'image; :Lecture des données environnementales; :Sauvegarde en local; :Décrémenter le nombre d'images restantes; if (Toutes images capturées?) then (oui) :Désactivation de la configuration; stop else (non) :Envoi de l'intervalle au microcontrôleur; :Attente du prochain cycle; endif else (non) :Désactivation de la configuration; stop endif else (non) :Aucune configuration active; stop endif endif stop @enduml