52 lines
1.6 KiB
Plaintext
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 |