✈️🚢🛰️🛡️ Dossier d'Architecture Technique & d'Exploitation (DAT / DEX) — Cyberdéfense & Défense Souveraine

AEROSUP v2.1 — Supervision Globale Multi-Domaines (Air, Mer, Terre, Espace), Cockpit RSSI Locate IP & Menaces Cyber CTV-SIC, APIs Officielles Flightradar24 / AeroDataBox & Sécurité Zéro-Secret

Plateforme temps réel (100% données réelles) et historique de suivi d'aéronefs (Flightradar24 REST API v1, AeroDataBox RapidAPI, OpenSky, ADS-B 1090 MHz), de navires (AIS VHF), de satellites & ISS (Globe 3D Orbital), de reconstitution boîte noire de crashs, doublée d'un Cockpit RSSI de localisation d'adresses IP (Locate 🔍) et de visualisation des attaques cyber en direct (CTV-SIC) avec authentification Zéro-Secret sur disque, MFA (OTP Mail / Authenticator) et OAuth 2.0 (Google & Apple).

Version : 2.1 (2026-11-06)
Serveur DMZ : Guacamole-01 (192.168.4.103:3000)
Accès LAN / Réunion : http://192.168.1.212:8300
Base de données : SQLite WAL Relationnelle (/home/alain/aerosup/data/aerosup.db)
Clé Maîtresse Admin (Disque) : /home/alain/aerosup/data/admin_master.key
Auteurs : Alain Kamuleta & Zack (Antigravity)

🚀 Synthèse Exécutive des Nouvelles Fonctionnalités d'AEROSUP v2.1 (Déployées en Production)

Cette section récapitule l'ensemble des évolutions majeures implémentées et mises en production sur Guacamole-01 (http://192.168.1.212:8300) :

🔐 1. Authentification « Zéro Secret dans le Navigateur » & Gouvernance MFA

  • Suppression totale de toute clé ou mot de passe dans le JavaScript et dans le navigateur : le bouton de pré-remplissage, le champ masterKeyFullForDemo et les aperçus de codes TOTP ont été intégralement retirés du code client et des réponses API. Aucun mot de passe en clair n'existe dans le code ni dans .env.
  • Clé Maîtresse exclusivement sur le disque du serveur : stockée dans /home/alain/aerosup/data/admin_master.key (permissions 0600). L'Administrateur va chercher la clé lui-même sur le disque et la copie-colle dans l'interface.
  • Écran d'accueil d'authentification standardisé : propose d'emblée 🌐 Continuer avec Google, 🍎 Continuer avec Apple ou Login & Mot de passe.
  • Activation / Désactivation du MFA par l'Administrateur : une fois connecté, l'Administrateur décide d'activer ou de désactiver le MFA Global. Si le MFA est désactivé, la connexion se fait uniquement par Login + Mot de passe sans OTP. Si le MFA est activé, le système exige un code à 6 chiffres soit envoyé par E-mail OTP (et journalisé dans /home/alain/aerosup/data/outbox_otp.log), soit généré par Google / Microsoft Authenticator (TOTP RFC 6238).

🛡️✈️ 2. Cockpit RSSI (`Locate IP` & CTV-SIC Cyber) + Données 100% Réelles (Flightradar24 & AeroDataBox)

  • Vue Adresse IP RSSI (Locate 🔍) : barre de recherche directe en haut de la carte (🎯 IP RSSI : [ 51.83.40.131 ] [ Locate 🔍 ]) et dans l'onglet 🛡️ Cyber & IP permettant de géolocaliser instantanément n'importe quelle adresse IP (zoom automatique niveau 12, Ville, Pays, GPS, FAI/ASN BGP, Reverse DNS, Ports exposés, Score de menace Wazuh/Suricata).
  • Enrôlement de Serveurs D3X & Carte des Menaces Cyber Temps Réel (style CTV-SIC) : surveillance en direct des flux d'attaques cyber extérieures (arcs animés sur la Carte 2D et le Globe 3D) ciblant nos serveurs enrôlés à Roubaix (51.83.40.131 GAT-01, 57.129.41.83 Kimiia), Kinshasa (41.243.18.45), Kolwezi (197.157.210.88) et Sannois (82.64.112.90 / 192.168.1.41), avec possibilité d'enrôler n'importe quelle nouvelle IP à chaud et de bannir une IP attaquante sur CrowdSec / pfSense en 1 clic.
  • Mode Données 100% Réelles Uniquement + APIs Officielles Flightradar24 v1 & AeroDataBox (RapidAPI) : suppression des données simulées par défaut (realDataOnly: true). Plus de 60 aéronefs réels en vol + l'ISS en temps réel sont captés toutes les 15 secondes, et les connecteurs officiels Flightradar24 REST API v1 (fr24api.flightradar24.com) et AeroDataBox RapidAPI (aerodatabox.p.rapidapi.com) sont intégrés avec boutons de test en direct dans ⚙️ Paramètres.

🏛️ 1. Fonctionnement Global & Architecture Multi-Domaines

AEROSUP v2.0 est une console tactique souveraine permettant de visualiser sur une Carte 2D sombre et sur un Globe 3D Orbital l'ensemble des mobiles émettant un signal radiofréquence ou transpondeur (avions commerciaux, hélicoptères, cargos et patrouilleurs maritimes AIS, satellites en orbite basse/géostationnaire dont l'ISS, drones et véhicules tactiques), de les placer sous surveillance autonome 24h/24 et de rejouer leurs trajectoires passées comme une boîte noire (à l'image de adsbview-ai.com).

🔄 1. Collecte Automatique (Cycle 15s)

Un démon Node.js (src/collector.js) interroge toutes les 15 secondes les API configurées (OpenSky Network, WhereTheISS, AIS VHF, CelesTrak) ainsi que les 29 sondes mondiales et enregistre immédiatement chaque position dans la base relationnelle SQLite locale.

🎯 2. Agent de Surveillance 24/7 (Hors-Ligne)

Même lorsqu'aucun opérateur n'est connecté à l'interface Web, l'agent d'arrière-plan continue de suivre les avions, hélicoptères et navires placés sous surveillance (1 semaine, 2 semaines, 1 mois, 2 mois) entre leur point de départ A et leur point d'arrivée ou de perte de signal B.

🎙️ 3. Copilote Vocal Bidirectionnel

L'opérateur pilote la carte et le globe à la main ou à la voix : zoom/dézoom vocal, détection temps réel au-dessus d'une commune (ex: Sannois), affichage des satellites au-dessus de l'Europe sur le Globe 3D, ou lancement d'un replay de crash.

🖥️ 2. Fonctionnement Détail par Détail & Tuile par Tuile

Tuile / Composant IHM Emplacement Fonctionnement Détaillé & Actions Opérateur
Bandeau Télémétrie & Statut Barre supérieure (Centre) Affiche en temps réel l'état du démon (LIVE 15s ou HISTORIQUE / REPLAY), le nombre d'aéronefs (AIR), de navires (MER), de satellites (ESPACE), de sondes actives (29 SONDES) et le nombre total d'enregistrements stockés dans SQLite.
Bascule 🗺️ Carte 2D / 🌍 Globe 3D Barre supérieure (Droite) Permet de passer instantanément de la carte tactique Leaflet 2D (idéale pour le suivi de piste, les rues de Sannois ou le relief du Kivu) au Globe 3D Orbital (idéal pour visualiser la Terre entière et les courbes d'orbites des satellites et de l'ISS).
Raccourcis Géographiques & Survol Barre flottante centrale (Haut) 6 boutons d'action immédiate pour les démonstrations :
• 📍 Survol Sannois (95) : zoome à l'échelle locale sur Sannois (48.9719° N, 2.2575° E), trace un cône radar de 22 km et isole tous les avions et hélicoptères qui passent au-dessus de Sannois.
• 🌍 Afrique Centrale (RDC) : centre la carte sur Kinshasa, Goma, Kolwezi/Lubumbashi, Brazzaville, Douala et Libreville.
• 🌍 Afrique Est & Ouest : bascule sur Nairobi, Addis-Abeba, Kigali, Djibouti, Dakar, Abidjan et Lagos.
• 🗽 USA & Amériques : affiche les sondes et vols de New York JFK, Miami, Los Angeles, Montréal, São Paulo, Bogota et Buenos Aires.
• 🛰️ Satellites & ISS (Globe 3D) : ouvre le Globe 3D centré sur l'Europe avec les trajectoires spatiales.
• 💥 Replay Crash 9Q-CGO (Kivu) : lance immédiatement la reconstitution boîte noire du crash au Nord-Kivu.
Onglet Gauche 1 : 📡 Flotte (45+) Panneau gauche Contient les 5 filtres rapides (Tous, ✈️ Air, 🚢 Mer, 🛰️ Sat, 🚓 Sol), la barre de recherche temps réel par indicatif/pays/sonde, la liste déroulante des émetteurs et la fiche technique détaillée avec boutons 🎯 Mettre en surveillance et ⏪ Replay Trajet.
Onglet Gauche 2 : 🎯 Replay & Veille Panneau gauche Regroupe deux briques majeures :
1. Boîtes Noires & Replays Crashs : 4 scénarios pré-enregistrés (Crash 9Q-CGO en RDC, Mayday 5N-BJM au Nigeria, Atterrissage Piste 26R du vol AFR082, Transit maritime MV-KONGO-STAR vers Matadi) + champ de replay libre.
2. Surveillance Autonome 24/7 : formulaire permettant d'enregistrer un avion, un hélicoptère ou un navire sous écoute permanente pendant 1 semaine, 2 semaines, 1 mois ou 2 mois.
Onglet Gauche 3 : 🌐 29 Sondes Panneau gauche Affiche les 29 sondes mondiales filtrables par continent (Europe, Afrique Centrale, Afrique de l'Est, Afrique de l'Ouest/Sud, Amérique du Nord, Amérique du Sud) ainsi que le formulaire + Déployer / Enrôler une nouvelle sonde.
Lecteur Temporel (Time-Slider) Bas de l'écran Apparaît automatiquement en mode Historique ou Replay Crash. Permet de faire glisser le temps manuellement ou de lancer la lecture automatique (▶ Play / ⏸ Pause) en vitesse 1x, 2x ou 5x.

🗄️ 3. Base de Données Souveraine, Volumétrie & Moteur de Replay (Style adsbview-ai.com)

Réponse d'architecture sur la Base de Données et la Volumétrie :
Oui, nous avons intégré une véritable base de données relationnelle SQL (SQLite en mode transactionnel WAL, stockée dans /home/alain/aerosup/data/aerosup.db et 100 % compatible avec MySQL / MariaDB / PostgreSQL grâce à un schéma SQL standardisé dans schema.sql).

📊 Est-ce que l'enregistrement continu représente beaucoup trop de données ?

Stratégie d'enregistrement Fréquence Nombre de lignes SQL / jour Volume Disque / mois Verdict & Choix retenu dans AEROSUP
Enregistrement brut mondial intégral (15 000 avions simultanés dans le monde entier) Toutes les 15s ~86,4 millions de lignes / jour ~310 Go / mois Trop lourd inutilement — Stocker chaque seconde de tous les avions de la planète sature vite un serveur léger.
Mode Hybride Intelligent AEROSUP (Flotte régionale + Cibles mises en Surveillance) Toutes les 15s (24h/24) ~5 760 lignes / jour par cible surveillée ~12 Mo à 45 Mo / mois Optimal & Actif — Permet de garder 1 semaine, 2 semaines, 1 mois ou 2 mois d'historique complet sans jamais dépasser quelques dizaines de mégaoctets !

⏪ Fonctionnement du Mode « Surveillance 24/7 » et du Replay de Crash

  1. Mise en surveillance d'un avion, hélicoptère ou navire : Dans l'onglet 🎯 Replay & Veille (ou à la voix : « Mets l'avion AFR082 en surveillance pendant un mois »), vous saisissez la référence de l'appareil et la durée (1 semaine, 2 semaines, 1 mois, 2 mois).
  2. Enregistrement en arrière-plan sans opérateur connecté : Si l'avion décolle à 12h00 et atterrit à 16h00 alors que personne n'est connecté à l'application, le démon collector.js qui tourne en tâche de fond sur le serveur DMZ enregistre chaque position horodatée dans la table vols_positions et incrémente le compteur dans cibles_surveillance.
  3. Consultation et Replay à 22h00 (ou après un crash) : Lorsque vous vous connectez le soir, vous cliquez sur ⏪ Replay en face de l'appareil (ou sur l'un des scénarios boîte noire comme CRASH-9Q-CGO en Afrique Centrale). La carte trace la route complète du point de décollage A jusqu'au point B (piste d'atterrissage 26R ou point exact de perte du signal transpondeur 💥 PERTE SIGNAL / CRASH), et le Time-Slider fait avancer l'avion minute par minute avec ses paramètres d'altitude, de vitesse et de cap.

🛰️ 4. Visualisation des Satellites, de l'ISS & Globe 3D Orbital

AEROSUP v2.0 intègre le suivi spatial temps réel et un Globe 3D interactif (🌍 Globe 3D) affichant la ligne de trajectoire orbitale projetée sur 90 minutes ainsi que la ligne nadir reliant chaque satellite à la surface terrestre :

Identifiant / Nom NORAD ID Type d'Orbite & Altitude Catégorie / Statut Intérêt Opérationnel
ISS (ZARYA) 25544 LEO Basse (418 km · 27 600 km/h) STATION_HABITEE Interrogation temps réel de l'API wheretheiss.at + propagateur orbital Kepler.
CSO-3 (DEFENSE) 60118 SSO Héliosynchrone (800 km) NOUVEAU_SATELLITE Nouveau satellite souverain d'observation optique très haute résolution (survol Europe / Sannois).
STARLINK-31420 59102 LEO Constellation (548 km) NOUVEAU_SATELLITE Nouveau satellite LEO Direct-to-Cell fraîchement mis sur orbite au-dessus de l'Europe.
SENTINEL-2B (ESA) 42063 SSO Copernicus (786 km) ACTIF_NOMINAL Observation multispectrale des terres émergées (Europe & Afrique).
EUTELSAT-KONNECT 46326 GEO Géostationnaire (35 786 km) ACTIF_NOMINAL Couverture télécom très haut débit sur la RDC (Afrique Centrale) et l'Europe.
ENVISAT-EOL 27386 LEO Dérive (764 km) FIN_DE_VIE_EOL Satellite en fin de vie (8 tonnes, inactif) surveillé pour le risque de collision orbitale.
COSMOS-2499-DEB 39765 LEO Périgée Bas (285 km) FIN_DE_VIE_EOL Objet spatial en fin de vie / débris en déclin rapide d'altitude (surveillance de rentrée atmosphérique).

🎙️ 5. Guide Complet du Contrôle Vocal (Activer/Désactiver le Micro, Zoomer & Piloter)

🟢 Comment ACTIVER le Microphone

1. Cliquez sur le bouton 🎙️ Voix situé en haut à droite de la barre de navigation.
2. Lors de la première utilisation, autorisez le navigateur à accéder au microphone.
3. Le bouton devient rouge clignotant 🔴 Écoute... : énoncez clairement votre demande en français.

🔴 Comment DÉSACTIVER le Microphone

1. Le microphone se coupe automatiquement dès que vous terminez votre phrase pour exécuter la commande et énoncer la réponse à haute voix (Text-to-Speech).
2. Pour l'interrompre manuellement à tout instant, cliquez simplement une seconde fois sur le bouton 🔴 Écoute... : il repasse immédiatement à l'état inactif 🎙️ Voix.

🔍 Comment Zoomer, Dézoomer et Piloter par la Voix (Catalogue des Commandes)

Intention Opérateur Phrase à prononcer au microphone (ou à cliquer dans les puces rapides) Action exécutée par AEROSUP (SQL + Carte 2D / Globe 3D + Voix TTS)
Survol Temps Réel de Sannois « Montre-moi tous les avions qui passent au-dessus de Sannois » Zoome au niveau 12 sur Sannois (95110), trace un anneau radar de 22 km autour de SONDE-SANNOIS et énonce à haute voix la liste des avions et hélicoptères en survol immédiat (ex: AFR189, BAW304, TVF4212, SAMU-95H).
Satellites au-dessus de l'Europe & Globe 3D « Montre-moi les satellites qui passent en ce moment au-dessus de l'Europe » ou « Où est l'ISS ? » Bascule automatiquement l'écran sur le Globe 3D Orbital orienté sur l'Europe, trace les lignes de trajectoire spatiale de l'ISS, des nouveaux satellites (CSO-3, STARLINK-31420) et des satellites en fin de vie (ENVISAT-EOL), et lit le rapport oralement.
Zoomer / Dézoomer à la voix « Zoome », « Rapproche la carte » / « Dézoome », « Recule la carte » Augmente ou diminue de 2 crans le niveau de zoom sur la Carte 2D ou l'échelle de la caméra sur le Globe 3D.
Rejouer un Crash (Boîte Noire) « Fais-moi un replay du crash de l'avion 9Q-CGO » Charge la boîte noire du vol 9Q-CGO entre Goma et Shabunda (RDC), affiche le marqueur 💥 Perte Signal à 890m et lance la lecture séquentielle sur le Time-Slider.
Mettre un avion ou navire en surveillance « Mets le navire MV-KONGO-STAR en surveillance pendant un mois » Enregistre la cible dans la table SQLite cibles_surveillance pour 30 jours d'écoute autonome 24h/24.
Requête Historique SQL « Montre-moi les vols d'hier entre 14h et 15h » Exécute la requête SQL sur vols_positions, affiche les trajectoires d'hier et active le Time-Slider.
Navigation Continentale « Montre-moi l'Afrique Centrale » / « Centre sur Kinshasa » / « Montre les États-Unis » Déplace la caméra vers le continent ou la ville demandée et affiche les sondes locales.

⚙️ 6. Comment Paramétrer les Fournisseurs d'API & Ajouter les Clés

Cliquez sur l'icône Engrenage (⚙️) en haut à droite pour ouvrir la modale de configuration. Les paramètres sont sauvegardés à la fois dans le localStorage du navigateur et dans la table SQLite configuration_systeme du serveur :

🔐 7. Sécurité Zéro-Secret : Clé Maîtresse sur Disque, Gouvernance MFA (OTP Mail & Authenticator) & Guide Pas-à-Pas OAuth Google / Apple

🛡️ 1. Zéro Secret dans le Navigateur (Clé sur Disque)

Aucune clé, aucun mot de passe ni aucun code OTP n'est stocké dans le code JavaScript ni renvoyé par l'API au navigateur. La clé maîtresse de l'Administrateur est générée et stockée exclusivement sur le disque du serveur dans /home/alain/aerosup/data/admin_master.key (permissions 0600). L'Administrateur la récupère sur le disque et la copie-colle pour s'authentifier.

📲 2. Gouvernance MFA par l'Administrateur (ON / OFF)

Une fois connecté, l'Administrateur décide d'activer ou de désactiver l'Authentification Multi-Facteurs (MFA Global) :
• MFA Désactivé : Connexion directe par Login + Mot de passe sans OTP.
• MFA Activé : Exige un code à 6 chiffres soit envoyé par E-mail OTP (journalisé aussi dans data/outbox_otp.log), soit généré par Google / Microsoft Authenticator (TOTP RFC 6238).

🌐🍎 3. Connexion Fédérée OAuth 2.0 Google & Apple

Les boutons « Continuer avec Google » (/api/auth/google/start) et « Continuer avec Apple » (/api/auth/apple/start) exécutent le flux officiel OAuth 2.0 / OpenID Connect avec vérification du jeton JWT sur le backend Node.js.

📘 7.1 Guide Pas-à-Pas Complet : Créer et Configurer les Clés « Se connecter avec Google » (Google Cloud Console)

Voici les étapes exactes dans la Google Cloud Console pour obtenir les 2 clés (GOOGLE_CLIENT_ID et GOOGLE_CLIENT_SECRET) :

  1. 1. Créer ou sélectionner un projet Google Cloud :
  2. 2. Configurer l'Écran d'autorisation OAuth (OAuth consent screen) :
    • Dans le menu de gauche, cliquez sur Écran d'autorisation OAuth (ou Google Auth Platform > Overview).
    • Choisissez le type d'utilisateur :
      • Interne (si réservé aux comptes de votre Google Workspace), ou
      • Externe (pour autoriser n'importe quel compte @gmail.com).
    • Remplissez :
      • Nom de l'application : AEROSUP — Supervision D3X
      • Adresse e-mail d'assistance utilisateur : votre adresse e-mail.
    • Dans l'étape Champs d'application (Scopes), ajoutez les 3 scopes OpenID standards :
      • openid
      • .../auth/userinfo.email
      • .../auth/userinfo.profile
    • Si l'application est en mode Testing, ajoutez votre adresse Gmail dans Utilisateurs test (Test users) (ou cliquez sur Publier l'application).
  3. 3. Créer les Clés OAuth 2.0 (ID client & Code secret du client) :
    • Allez dans Identifiants (Credentials) ➔ cliquez en haut sur + Créer des identifiants ➔ ID client OAuth.
    • Type d'application : sélectionnez Application Web.
    • Nom : AEROSUP Web Client.
    • Origines JavaScript autorisées (Authorized JavaScript origins) : cliquez sur Ajouter un URI et mettez :
      • http://192.168.1.212:8300 (ou votre nom de domaine public HTTPS, ex: https://aerosup.d3x.org)
    • URI de redirection autorisés (Authorized redirect URIs) : cliquez sur Ajouter un URI et mettez :
      • http://192.168.1.212:8300/api/auth/google/callback (et/ou https://aerosup.d3x.org/api/auth/google/callback)
    • Cliquez sur Créer.
  4. 4. Récupérer et renseigner les 2 clés dans AEROSUP :
    • Une fenêtre s'ouvre avec :
      1. ID client (GOOGLE_CLIENT_ID) : de la forme 1234567890-abcdefg.apps.googleusercontent.com
      2. Code secret du client (GOOGLE_CLIENT_SECRET) : de la forme GOCSPX-xxxxxxxxxxxxxxxxxxxx
    • Ouvrez AEROSUP ➔ ⚙️ Paramètres (en haut à droite) ➔ Section 3. Connexion Fédérée OAuth 2.0 (Google & Apple), collez ces deux valeurs et cliquez sur 💾 Enregistrer (ou placez-les dans /home/alain/aerosup/.env). Dès qu'elles sont enregistrées, le bouton « Continuer avec Google » redirige directement vers le portail officiel Google.

🍎 7.2 Guide Pas-à-Pas Complet : Créer et Configurer les Clés « Se connecter avec Apple » (Sign in with Apple)

Pour Apple, tout se passe sur le portail Apple Developer (nécessite un compte Apple Developer Program actif) où vous allez créer 4 éléments (APPLE_CLIENT_ID, APPLE_TEAM_ID, APPLE_KEY_ID et la clé privée .p8) :

  1. 1. Récupérer votre APPLE_TEAM_ID :
    • Connectez-vous sur https://developer.apple.com/account
    • En haut à droite sous votre nom (ou dans Membership details), notez votre Team ID à 10 caractères alphanumériques (ex : 8A9B2C3D4E).
  2. 2. Étape 1 — Créer un App ID primaire :
    • Allez dans Certificates, Identifiers & Profiles ➔ Identifiers ➔ cliquez sur le bouton + ➔ sélectionnez App IDs ➔ Continue ➔ choisissez App.
    • Description : AEROSUP D3X App
    • Bundle ID (Explicit) : org.d3x.aerosup
    • Dans la liste Capabilities, cochez Sign In with Apple ➔ cliquez sur Continue puis Register.
  3. 3. Étape 2 — Créer le Services ID (c'est votre APPLE_CLIENT_ID Web) :
    • Retournez dans Identifiers ➔ cliquez sur + ➔ sélectionnez Services IDs ➔ Continue.
    • Description : AEROSUP Web Login
    • Identifier : org.d3x.aerosup.web (c'est cette valeur exacte qui sera votre APPLE_CLIENT_ID).
    • Cliquez sur Continue ➔ Register, puis recliquez sur org.d3x.aerosup.web dans la liste pour le configurer :
      • Cochez Sign In with Apple et cliquez sur le bouton Configure à droite :
      • Primary App ID : sélectionnez AEROSUP D3X App (org.d3x.aerosup).
      • Domains and Subdomains : entrez le domaine HTTPS public de votre application (ex : aerosup.d3x.org — remarque : Apple exige un nom de domaine avec HTTPS, Apple n'accepte pas une IP brute dans ce champ).
      • Return URLs (Redirect URI) : entrez https://aerosup.d3x.org/api/auth/apple/callback.
      • Cliquez sur Next ➔ Done ➔ Continue ➔ Save.
  4. 4. Étape 3 — Créer la Clé Privée .p8 et récupérer le APPLE_KEY_ID :
    • Dans le menu de gauche, cliquez sur Keys ➔ cliquez sur le bouton +.
    • Key Name : AEROSUP Sign in with Apple Key.
    • Cochez Sign In with Apple ➔ cliquez sur Configure ➔ choisissez votre Primary App ID (org.d3x.aerosup) ➔ Save ➔ Continue ➔ Register.
    • Notez le Key ID (10 caractères, ex : 9X8Y7Z6W5V) — c'est votre APPLE_KEY_ID.
    • Cliquez sur Download pour télécharger le fichier AuthKey_9X8Y7Z6W5V.p8 (attention : Apple ne permet de le télécharger qu'une seule fois) et déposez-le sur le serveur dans /home/alain/aerosup/data/apple_auth_key.p8.
  5. 5. Renseigner les clés dans AEROSUP :
    • Dans AEROSUP ➔ ⚙️ Paramètres ➔ Section 3, renseignez :
      • Apple Service ID (CLIENT_ID) : org.d3x.aerosup.web
      • Apple Team ID : vos 10 caractères (8A9B2C3D4E)
      • Apple Key ID : les 10 caractères de la clé .p8 (9X8Y7Z6W5V)
    • Cliquez sur 💾 Enregistrer.

📡 8. Dossier Complet sur les Sondes : Définition, Inventaire Mondial (29 Sondes) & Déploiement Souverain D3X

8.1 Qu'est-ce qu'on entend par une « Sonde » dans AEROSUP ?

8.2 Comment ajouter une sonde dans l'application et comment notre plateforme D3X peut déployer ses propres sondes ?

Oui, nous pouvons déployer notre propre réseau souverain de sondes physiques et logicielles !
1. Ajout immédiat dans l'interface Web : Ouvrez l'onglet 🌐 29 Sondes à gauche, cliquez sur + Déployer / Enrôler une nouvelle sonde, saisissez l'ID (ex: SONDE-KZI-02), la ville, le pays et les coordonnées GPS : la sonde est immédiatement créée en base SQLite et son anneau radar apparaît sur la Carte 2D et le Globe 3D.
2. Déploiement matériel souverain (Boîtier Sonde D3X à ~95 €) : Un simple Raspberry Pi 4 / Orange Pi équipé d'une clé radio RTL-SDR Blog V4 (1090 MHz / AIS 162 MHz) et d'une antenne colinéaire extérieure exécute notre conteneur Docker d3x-sonde-agent (basé sur readsb + ais-catcher + tunnel Nebula Mesh / WireGuard) et pousse ses trames toutes les 5 secondes vers POST http://192.168.4.103:3000/api/collect-now.
3. Déploiement automatisé par notre plateforme (Ansible / Usine D3X) : Tout comme nos satellites Wazuh (wss-001, wss-002, wss-003), notre contrôleur Ansible sur sonde-01 peut provisionner en 1 commande une nouvelle sonde sur n'importe quel VPS ou boîtier Raspberry Pi en Afrique, en Europe ou aux Amériques.

8.3 Inventaire Exhaustif des 29 Sondes Mondiales Intégrées dans AEROSUP v2.0

ID Sonde Continent / Région Ville & Pays Coordonnées GPS Portée Type de Capteur & Rôle Stratégique
SONDE-SANNOISEuropeSannois (95), France48.9719, 2.2575180 kmHybride ADS-B 1090MHz / LoRa Tactique D3X (Survol Sannois & IDF)
SONDE-CDG-01EuropeParis-CDG, France49.0097, 2.5479280 kmADS-B 1090MHz + MLAT Approche Pistes (26R/26L/08R/08L)
SONDE-ORY-02EuropeParis-Orly, France48.7262, 2.3652230 kmADS-B 1090MHz Approche Sud
SONDE-LYO-02EuropeLyon, France45.7256, 5.0811260 kmADS-B 1090MHz Couloir Rhône-Alpes
SONDE-MRS-AISEuropeMarseille, France43.3364, 5.2150320 kmHybride ADS-B + AIS VHF Maritime Méditerranée
SONDE-TLS-SATEuropeToulouse, France43.5600, 1.4800450 kmStation Sol Satellitaire S-Band / TLE (ISS, CSO-3, Sentinel, Envisat)
SONDE-FIH-01Afrique CentraleKinshasa, RDC-4.3858, 15.4446340 kmHybride ADS-B N'djili + AIS Fluvial/Estuaire Congo (Matadi)
SONDE-GOM-02Afrique CentraleGoma (Nord-Kivu), RDC-1.6708, 29.2385300 kmADS-B Haute Sensibilité + Balise ELT 406MHz (Veille Crash Grands Lacs)
SONDE-FBM-03Afrique CentraleLubumbashi / Kolwezi, RDC-11.5913, 27.5309320 kmHybride ADS-B + Télémétrie Convois Miniers Arc Cuprifère
SONDE-BZV-01Afrique CentraleBrazzaville, Congo-4.2517, 15.2530260 kmADS-B 1090MHz Pool Malebo
SONDE-DLA-AISAfrique CentraleDouala, Cameroun4.0061, 9.7195350 kmHybride ADS-B + AIS VHF Maritime Golfe de Guinée
SONDE-LBV-AISAfrique CentraleLibreville, Gabon0.4586, 9.4123300 kmHybride ADS-B + AIS VHF Maritime
SONDE-NBO-01Afrique de l'EstNairobi, Kenya-1.3192, 36.9278360 kmADS-B 1090MHz Longue Portée Afrique Orientale
SONDE-ADD-01Afrique de l'EstAddis-Abeba, Éthiopie8.9779, 38.7993380 kmADS-B Hub Continental + SatCom
SONDE-KGL-01Afrique de l'EstKigali, Rwanda-1.9686, 30.1395260 kmADS-B 1090MHz
SONDE-DAR-AISAfrique de l'EstDar es Salaam, Tanzanie-6.8781, 39.2026360 kmHybride ADS-B + AIS Maritime Océan Indien
SONDE-JIB-AISAfrique de l'EstDjibouti11.5473, 43.1594400 kmSurveillance Stratégique AIS Détroit Bab-el-Mandeb / Mer Rouge + ADS-B
SONDE-DSS-AISAfrique de l'OuestDakar, Sénégal14.6700, -17.0733380 kmHybride ADS-B Couloir Atlantique + AIS
SONDE-ABJ-AISAfrique de l'OuestAbidjan, Côte d'Ivoire5.2614, -3.9263320 kmHybride ADS-B + AIS Maritime
SONDE-LOS-AISAfrique de l'OuestLagos, Nigeria6.5774, 3.3212350 kmHybride ADS-B Hélicoptères Offshore Delta du Niger + AIS
SONDE-ACC-01Afrique de l'OuestAccra, Ghana5.6052, -0.1668290 kmADS-B 1090MHz
SONDE-JNB-01Afrique AustraleJohannesburg, Afrique du Sud-26.1392, 28.2460400 kmADS-B Hub Austral + Station Sol Spatiale
SONDE-JFK-01Amérique du NordNew York JFK, États-Unis40.6413, -73.7781380 kmHybride ADS-B 1090/UAT978 + AIS Atlantique Nord
SONDE-MIA-AISAmérique du NordMiami / Cap Canaveral, USA25.7959, -80.2870400 kmHybride ADS-B + AIS Caraïbes + Télémétrie Spatiale Floride
SONDE-LAX-01Amérique du NordLos Angeles, États-Unis33.9416, -118.4085380 kmHybride ADS-B + AIS Pacifique
SONDE-YUL-01Amérique du NordMontréal, Canada45.4706, -73.7408320 kmHybride ADS-B + AIS Voie Maritime du Saint-Laurent
SONDE-GRU-01Amérique du SudSão Paulo / Santos, Brésil-23.4356, -46.4731360 kmHybride ADS-B + AIS Atlantique Sud
SONDE-BOG-01Amérique du SudBogota, Colombie4.7016, -74.1469340 kmADS-B Haute Altitude Cordillère des Andes
SONDE-EZE-AISAmérique du SudBuenos Aires, Argentine-34.8222, -58.5358350 kmHybride ADS-B + AIS Río de la Plata

🛡️ 9. Cockpit RSSI : Vue Adresse IP (`Locate`) & Carte des Menaces Cyber Temps Réel (Intégration CTV-SIC)

En tant que RSSI (Responsable de la Sécurité des Systèmes d'Information), AEROSUP v2.1 intègre nativement une brique de cyberdéfense inspirée de notre cockpit CTV-SIC / SNM-DPI permettant d'unifier la supervision physique (Air, Mer, Terre, Espace) et la supervision cyber sur une seule et même carte :

🎯 1. Vue Adresse IP & Bouton `Locate 🔍`

Depuis la barre supérieure (🎯 IP RSSI : [ 51.83.40.131 ] [ Locate 🔍 ]) ou l'onglet 🛡️ Cyber & IP, saisissez n'importe quelle adresse IPv4/IPv6 (serveur D3X ou IP externe suspecte) et cliquez sur Locate (ou dites à la voix « Localise l'adresse IP 51.83.40.131 ») :

  • Zoom automatique (flyTo zoom 12) sur la localisation géographique exacte de l'IP avec réticule lumineux 🎯 IP IDENTIFIÉE.
  • Fiche complète d'intelligence RSSI : Ville, Pays, Coordonnées GPS, Opérateur / ASN BGP, Reverse DNS, Ports exposés, Score de menace Wazuh/Suricata (0–100).
  • Boutons d'action immédiate : 🛡️ Enrôler Serveur D3X ou 🚫 Ban CrowdSec.

🌐 2. Enrôlement de Serveurs D3X & Flux d'Attaques en Direct (Roubaix, Kinshasa, Kolwezi, Sannois)

Sur la même vue cartographique (2D et Globe 3D) où sont positionnés nos serveurs, AEROSUP trace en temps réel les arcs d'attaques cyber animés provenant d'adresses IP hostiles extérieures vers nos serveurs enrôlés :

  • Serveurs pré-enrôlés : 51.83.40.131 (GAT-01 OVH Roubaix), 57.129.41.83 (Kimiia-Server Roubaix, WG 10.0.88.16), 41.243.18.45 (Nœud Souverain Kinshasa RDC), 197.157.210.88 (DMZ SignDoc Kolwezi RDC) et 82.64.112.90 / 192.168.1.41 (Sonde-01 QG Sannois).
  • Ajout à chaud : Saisissez l'IP d'un nouveau serveur dans + Enrôler un Serveur D3X en Surveillance Cyber : il est géolocalisé automatiquement et les vecteurs d'attaques (SSH_BRUTEFORCE, DDOS_UDP_TURN, SQLI_WAF_BYPASS, C2_BEACON_TLS) s'affichent immédiatement en direct.

✈️ 10. Intégration Officielle Flightradar24 REST API v1 & AeroDataBox (RapidAPI) — Mode 100% Données Réelles

Le collecteur backend (src/collector.js) est câblé sur les spécifications officielles de production et fonctionne par défaut en mode Données 100% Réelles Uniquement :