Files
timelapse-diapo/diagrams/global_interspec.puml

100 lines
2.6 KiB
Plaintext

@startuml
left to right direction
skinparam component {
BackgroundColor<<Informatique>> #FFE4B5
BackgroundColor<<Électronique>> #98FB98
BackgroundColor<<Matériaux>> #87CEEB
BorderColor #333
}
package "Infrastructure Globale" {
component "Caméra Raspberry Pi" <<Électronique>> as pi {
component "Module Caméra" as cam
component "Scripts Capture" as scripts
}
component "Serveur Central" <<Informatique>> as server {
component "Backend (Node.js/Express)" as backend
component "FFMPEG Processing" as ffmpeg
component "Base de Données" as db
}
component "Interface Web" <<Informatique>> as web {
component "Frontend (HTML/CSS/JS)" as front
component "Nginx Reverse Proxy" as nginx
}
component "Application Android" <<Informatique>> as android {
component "Kotlin API" as kotlin
component "Glide Image Processing" as glide
}
component "Système Énergétique" <<Électronique>> as energy {
component "Microcontrôleur STM32" as stm
component "Batterie LiPo" as battery
component "Panneau Solaire" as solar
}
component "Boîtier Mécanique" <<Matériaux>> as box {
component "Structure Étanche" as structure
component "Système Fixation" as mount
}
component "Infrastructure Virtualisée" <<Informatique>> as infra {
component "Proxmox VE" as proxmox
component "VM Ubuntu" as vm
component "Docker Containers" as docker
}
}
pi --> server : "Transfert images\n(HTTP/MQTT)"
server --> web : "API REST"
server --> android : "API REST"
energy --> pi : "Alimentation\n(Power Management)"
energy --> stm : "Contrôle énergie"
box --> pi : "Protection physique"
box --> energy : "Intégration"
infra --> server : "Hébergement"
infra --> web : "Hébergement"
cam --> scripts : "Capture RAW"
scripts --> backend : "Envoi images"
backend --> ffmpeg : "Conversion vidéo"
ffmpeg --> db : "Stockage"
stm --> battery : "Monitoring"
solar --> battery : "Recharge"
front --> nginx : "Requêtes"
nginx --> backend : "Proxy"
vm --> docker : "Orchestration"
structure --> mount : "Assemblage"
note top of pi
**Technologies Électronique**
- Altium Designer
- STM32 CubeIDE
- Protocoles I2C/SPI
end note
note right of server
**Stack Logicielle**
- Node.js + Express
- PostgreSQL
- FFMPEG
- CI/CD Gitea
end note
note left of energy
**Gestion Énergie**
- PCB Custom
- Capteurs température/hygro
- Algorithme économie d'énergie
end note
note bottom of box
**Caractéristiques Mécaniques**
- PLA résistant aux UV
- Indice IP67
- Dissipation thermique
end note
@enduml