diff --git a/src/components/Architecture.astro b/src/components/Architecture.astro new file mode 100644 index 0000000..7bd42cb --- /dev/null +++ b/src/components/Architecture.astro @@ -0,0 +1,200 @@ +--- +const layers = [ + { + title: 'Terrain', + subtitle: 'Rochers connectés', + points: [ + 'Hydrophone calibré + capteurs modulaires (T°, O₂, pH, turbidité…)', + 'SBC Linux edge-compute — FFT, SPL, moyennes glissantes', + 'Stockage local si perte réseau · store-and-forward', + 'Énergie : solaire + batterie LiFePO₄ · 3 à 5 jours d’autonomie', + ], + }, + { + title: 'Réseau', + subtitle: 'Transport sécurisé', + points: [ + 'MQTT over TLS 1.3 · QoS 1 · reconnexion auto', + 'VPN WireGuard — une clé par rocher, révocable', + 'SIM M2M multi-opérateur · fallback HTTPS', + 'LoRa inter-rochers optionnel — résilience locale', + ], + }, + { + title: 'Cloud', + subtitle: 'Ingestion & traitement', + points: [ + 'Broker MQTT → ingestion → TimescaleDB', + 'Moteur d\'alertes par seuils configurables', + 'Agrégation temporelle, indicateurs réglementaires', + 'Monitoring interne : batterie, signal, uptime', + ], + }, + { + title: 'Utilisateurs', + subtitle: 'Interfaces', + points: [ + 'Dashboard web · carte live, graphes, jauges par indicateur', + 'Alertes SMS, email, webhook', + 'API REST & WebSocket pour chercheurs et tiers', + 'Export CSV, rapport PDF, format Quadrige', + ], + }, +]; +--- + +
+
+
+ Architecture système +

Du capteur sous-marin au tableau de bord, en temps réel.

+

+ Une pile pensée pour la sobriété : on traite sur le rocher, on transmet l'essentiel, on + stocke ce qu'il faut. Sécurité bout-en-bout, intéropérabilité à tous les étages. +

+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + TERRAIN + + + + + + + + + + + + + Hydrophone · CTD · Edge · 4G + + + + + + + + + + + + RÉSEAU + + + + + + + MQTT · TLS · VPN WireGuard + SIM M2M · 4G · LoRa + + + + + + + + + + + + CLOUD + + + MQTT + + + Ingest + + + TS DB + + + Alerts + + + API REST · WebSocket + + + + + + + + + + + + + USERS + + + + + + + Dashboard · Alertes + API · Rapports + + +
+ + +
+ {layers.map((layer, i) => ( +
+
+ Couche {i + 1} + +
+

{layer.title}

+

+
    + {layer.points.map((p) => ( +
  • + + +
  • + ))} +
+
+ ))} +
+ + +
+ {['Linux embarqué', 'MQTT', 'TLS 1.3', 'WireGuard', 'TimescaleDB', 'Grafana', 'REST', 'WebSocket', 'OAuth2 / OIDC', 'LoRa', 'IA embarquée'].map((t) => ( + {t} + ))} +
+
+
diff --git a/src/components/CasUsage.astro b/src/components/CasUsage.astro new file mode 100644 index 0000000..4e311ae --- /dev/null +++ b/src/components/CasUsage.astro @@ -0,0 +1,163 @@ +--- +const rocks = [ + { id: 1, label: "Chenal d'entrée", role: "Bruit de transit · profil acoustique des navires · détection cétacés entrée/sortie du Golfe", color: '#38bdf8' }, + { id: 2, label: "Bassin portuaire", role: "Manœuvres, qualité de l'eau du port, détection rejets et hydrocarbures", color: '#22d3ee' }, + { id: 3, label: "Zone de référence", role: "Bruit de fond naturel — indispensable pour quantifier la pression anthropique", color: '#a78bfa' }, +]; +--- + +
+
+
+ Cas d'usage +

Port-Navalo · entrée du Golfe du Morbihan.

+

+ Un des sites les plus denses de Bretagne sud : passage unique, courants puissants, trafic + mixte permanent, zone Natura 2000 et présence avérée de cétacés. Un site où mesurer, + c'est déjà agir. +

+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + OCÉAN ATLANTIQUE + + + + + + + + + Île-aux-Moines + + + + Île d'Arz + + + Port-Navalo + + + + + + + + + + + + + + + 1 + + + + + + + 2 + + + + + + + 3 + + + + + + + N + + +
+
+ Visualisation stylisée · position indicative des trois stations +
+
+ + +
+
+
+
Courants
+
6 – 9 nœuds
+
+
+
Zonage
+
Natura 2000
+
+
+
Faune
+
Grands dauphins
+
+
+ +

+ Un déploiement pilote à trois stations +

+

+ L'idée : mesurer chaque navire qui entre et sort du Golfe, comparer les niveaux sonores + à une zone de référence hors chenal, et croiser ces données avec la qualité de l'eau + du bassin portuaire. Un protocole directement inspiré du programme ECHO (port de + Vancouver), transposé à l'échelle d'un port français. +

+ +
    + {rocks.map((r) => ( +
  1. + + {r.id} + +
    +
    {r.label}
    +
    {r.role}
    +
    +
  2. + ))} +
+ +
+ Et après ? Une fois le pilote validé, la logique + se réplique : Golfe du Morbihan (15+ ports), façade Nord Atlantique – Manche Ouest, + puis extension à d'autres façades. Chaque rocher ajouté augmente la valeur du réseau. +
+
+
+
+