Mermaid: simplify diagram (remove comments, parentheses, emojis) to fix Gitea parse error

This commit is contained in:
Eric FELIXINE
2026-05-04 20:44:14 -04:00
parent d89fb6a96d
commit 150ab406f9

View File

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