Files
timelapse-diapo/diagrams/raspi/01_architecture_generale.puml

52 lines
1.6 KiB
Plaintext

@startuml Architecture Générale du Système Timelapse
!define ICONURL https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/v2.4.0
!include ICONURL/common.puml
!include ICONURL/devicons/python.puml
!include ICONURL/font-awesome-5/raspberry_pi.puml
!include ICONURL/font-awesome-5/cloud.puml
!include ICONURL/font-awesome-5/camera.puml
!include ICONURL/font-awesome-5/database.puml
skinparam {
BackgroundColor white
ArrowColor #666666
BorderColor #666666
FontName "Arial"
}
rectangle "Système Raspberry Pi" as raspi {
DEV_PYTHON(pyonline, "timelapse_online.py") #lightblue
DEV_PYTHON(pyoffline, "timelapse_offline.py") #lightgreen
rectangle "timelapse/" {
DEV_PYTHON(config, "config.py") #lightyellow
DEV_PYTHON(apiclient, "api_client.py") #pink
DEV_PYTHON(capture, "capture.py") #lightcyan
DEV_PYTHON(sensors, "sensors.py") #lightyellow
}
FA5_DATABASE(localdb, "CONFIG/config.json") #lightgrey
FA5_CAMERA(camera, "Caméra") #white
}
cloud "Serveur Distant" {
rectangle "API REST" as api #pink
database "Base de données" as db #lightgrey
}
pyonline --> config : utilise
pyoffline --> config : utilise
pyonline --> apiclient : utilise
pyonline --> capture : utilise
pyoffline --> capture : utilise
capture --> config : lit/écrit
capture --> sensors : utilise
apiclient --> api : communique
config --> localdb : lit/écrit
sensors --> camera : contrôle
note bottom of pyonline : "Mode connecté"
note bottom of pyoffline : "Mode hors ligne"
note right of api : "Authentification\net gestion des données"
note bottom of camera : "Capture des images"
@enduml