diff --git a/data-flow-diagram.md b/data-flow-diagram.md
index cbd9854e..7806ca48 100644
--- a/data-flow-diagram.md
+++ b/data-flow-diagram.md
@@ -10,96 +10,66 @@ Ce diagramme illustre le flux complet des données IoT du simulateur vers les di
```mermaid
graph TB
- %% ===== COUCHE 1 : SOURCES DE DONNÉES =====
- subgraph Sources["📡 COUCHE 1 : SOURCES DE DONNÉES"]
- SIM[Smart City Simulator
Python • 10 capteurs
MQTT + REST API]
- SENSORS[Capteurs IoT Réels
MQTT/HTTP]
+ subgraph S1["COUCHE 1 SOURCES"]
+ SIM[Smart City Simulator]
+ SENS[Capteurs IoT Reels]
end
- %% ===== COUCHE 2 : MQTT BROKERS =====
- subgraph Brokers["📡 COUCHE 2 : MQTT BROKERS"]
- EMQX[EMQX
Port 11883
MQTT]
- MOSQ[Mosquitto
Port 1883
MQTT]
- BUNKER[BunkerM
Port 1900
MQTTS]
+ subgraph S2["COUCHE 2 MQTT BROKERS"]
+ EMQ[EMQX]
+ MOS[Mosquitto]
+ BUN[BunkerM]
end
- %% ===== COUCHE 3 : CONTEXT BROKERS (NGSI-LD) =====
- subgraph Context["🔄 COUCHE 3 : CONTEXT BROKERS (NGSI-LD)"]
- ORION[Orion-LD
NGSI-LD
Port 1026
10 entités]
- STELLIO[Stellio
NGSI-LD
Port 8080
14 payloads]
- FROST[FROST-Server
SensorThings API
Port 8080
21k+ observations]
+ subgraph S3["COUCHE 3 CONTEXT BROKERS"]
+ ORI[Orion-LD]
+ STE[Stellio]
+ FRO[FROST-Server]
end
- %% ===== COUCHE 4 : PLATEFORME IoT =====
- subgraph IoT["🏠 COUCHE 4 : PLATEFORME IoT (OpenRemote)"]
- OPENREMOTE[OpenRemote Manager
Realm: Smart City
33 assets IoT
Port 8080]
- KEYCLOAK[Keycloak
Auth OpenID
Token endpoint]
+ subgraph S4["COUCHE 4 IoT OpenRemote"]
+ ORM[OpenRemote Manager]
+ KC[Keycloak]
end
- %% ===== COUCHE 5 : STOCKAGE & MÉTRIQUES =====
- subgraph Storage["💾 COUCHE 5 : STOCKAGE & MÉTRIQUES"]
- INFLUX[InfluxDB
IoT Data Bucket
Port 8086]
- PROM[Prometheus
Metrics + Alerting
Port 9090]
- GEO[GeoServer
WMS/WFS + PostGIS
Port 8080]
+ subgraph S5["COUCHE 5 STOCKAGE"]
+ INF[InfluxDB]
+ PRO[Prometheus]
+ GEO[GeoServer]
end
- %% ===== COUCHE 6 : VISUALISATION & ANALYSE =====
- subgraph Viz["📊 COUCHE 6 : VISUALISATION & ANALYSE"]
- GRAF[Grafana
Dashboards
Port 3001
Datasources: InfluxDB, FROST, Orion]
- MAP[MapStore
Cartographie
WMS/WFS
GeoServer]
- ORUI[OpenRemote UI
Manager Interface
Realm: Smart City]
+ subgraph S6["COUCHE 6 VISUALISATION"]
+ GRA[Grafana]
+ MAP[MapStore]
+ UI[OpenRemote UI]
end
- %% ===== FLUX DE DONNÉES =====
-
- %% Simulator → MQTT Brokers (NO direct to OpenRemote)
- SIM -->|MQTT| EMQX
- SIM -->|MQTT| MOSQ
- SIM -->|MQTTS| BUNKER
-
- %% Real sensors → Brokers + direct to OpenRemote
- SENSORS -->|MQTT| EMQX
- SENSORS -.->|MQTT direct| OPENREMOTE
-
- %% MQTT Brokers → Context Brokers
- EMQX -->|NGSI-LD| ORION
- EMQX -->|NGSI-LD| STELLIO
- EMQX -->|SensorThings| FROST
-
- %% MQTT Brokers → OpenRemote (via MQTT Agent)
- EMQX -->|MQTT (Agent)| OPENREMOTE
- MOSQ -->|MQTT (Agent)| OPENREMOTE
- BUNKER -->|MQTT (Agent)| OPENREMOTE
-
- %% OpenRemote → Keycloak
- OPENREMOTE -.-> KEYCLOAK
-
- %% Simulator → InfluxDB (direct)
- SIM -->|HTTP| INFLUX
-
- %% Context Brokers → Visualization
- ORION -->|Query| GRAF
- STELLIO -->|Query| GRAF
- FROST -->|Query| GRAF
-
- %% Context Brokers → GeoServer (DB Sync)
- ORION -.->|PostGIS| GEO
- STELLIO -.->|PostGIS| GEO
- FROST -.->|PostGIS| GEO
-
- %% GeoServer → MapStore
+ SIM -->|MQTT| EMQ
+ SIM -->|MQTT| MOS
+ SIM -->|MQTTS| BUN
+ SENS -->|MQTT| EMQ
+ SENS -.->|MQTT direct| ORM
+ EMQ -->|NGSI-LD| ORI
+ EMQ -->|NGSI-LD| STE
+ EMQ -->|SensorThings| FRO
+ EMQ -->|MQTT Agent| ORM
+ MOS -->|MQTT Agent| ORM
+ BUN -->|MQTT Agent| ORM
+ ORM -.-> KC
+ SIM -->|HTTP| INF
+ ORI -->|Query| GRA
+ STE -->|Query| GRA
+ FRO -->|Query| GRA
+ ORI -.->|PostGIS| GEO
+ STE -.->|PostGIS| GEO
+ FRO -.->|PostGIS| GEO
GEO -->|WMS/WFS| MAP
+ ORM -->|API Query| GRA
+ EMQ -.->|Metrics| PRO
+ ORI -.->|Metrics| PRO
+ STE -.->|Metrics| PRO
+ ORM -.->|Metrics| PRO
- %% OpenRemote → Grafana
- OPENREMOTE -->|API Query| GRAF
-
- %% All → Prometheus (Metrics)
- EMQX -.->|Metrics| PROM
- ORION -.->|Metrics| PROM
- STELLIO -.->|Metrics| PROM
- OPENREMOTE -.->|Metrics| PROM
-
- %% Style
classDef simulator fill:#1e293b,stroke:#fb923c,stroke-width:2px,color:#fff
classDef broker fill:#0f172a,stroke:#22d3ee,stroke-width:2px,color:#fff
classDef context fill:#0f172a,stroke:#34d399,stroke-width:2px,color:#fff
@@ -107,12 +77,12 @@ graph TB
classDef storage fill:#0f172a,stroke:#fbbf24,stroke-width:2px,color:#fff
classDef viz fill:#0f172a,stroke:#22d3ee,stroke-width:2px,color:#fff
- class SIM,SENSORS simulator
- class EMQX,MOSQ,BUNKER broker
- class ORION,STELLIO,FROST context
- class OPENREMOTE,KEYCLOAK iot
- class INFLUX,PROM,GEO storage
- class GRAF,MAP,ORUI viz
+ class SIM,SENS simulator
+ class EMQ,MOS,BUN broker
+ class ORI,STE,FRO context
+ class ORM,KC iot
+ class INF,PRO,GEO storage
+ class GRA,MAP,UI viz
```
---