@startuml left to right direction skinparam component { BackgroundColor<> #FFE4B5 BackgroundColor<<Électronique>> #98FB98 BackgroundColor<> #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" <> as server { component "Backend (Node.js/Express)" as backend component "FFMPEG Processing" as ffmpeg component "Base de Données" as db } component "Interface Web" <> as web { component "Frontend (HTML/CSS/JS)" as front component "Nginx Reverse Proxy" as nginx } component "Application Android" <> 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" <> as box { component "Structure Étanche" as structure component "Système Fixation" as mount } component "Infrastructure Virtualisée" <> 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