Aller au contenu
Tous les projets
2026·Conception et développement full-stackEn développement

Pyro Radar

Suivi des feux de forêt en temps réel à l'échelle mondiale, à partir de six sources satellitaires agrégées et affichées sur une carte vectorielle.

Vue 3MapLibre GLAdonisJSPostGISPostgreSQLSSE

En bref

  • Six sources satellitaires agrégées, des orbites polaires aux géostationnaires
  • Estimation des zones brûlées calculée directement en PostGIS
  • Diffusion temps réel par Server-Sent Events, sans polling

L'idée

Les données de détection d'incendies sont publiques, gratuites et abondantes — la NASA, l'ESA, la NOAA et la JAXA les diffusent en continu. Elles sont aussi diffusées dans des formats hétérogènes, à des cadences différentes, avec des couvertures géographiques qui se recouvrent partiellement.

Pyro Radar fusionne ces flux en une carte unique, mondiale, rafraîchie en continu.

Les sources

SourceCouvertureCadence
NASA FIRMS (VIIRS / MODIS)MondePassages orbitaux
GOES-18 / 19Amériques10 min
Meteosat MTG (LSA SAF)Europe / Afrique10 min
Himawari-9Asie / Océanie10 min
Sentinel-3 SLSTR (Copernicus)MondePassages orbitaux

Les satellites géostationnaires apportent la fréquence, les orbites polaires apportent la résolution. Chaque source supplémentaire s'active dès que ses identifiants sont présents dans la configuration, et est ignorée sinon — le projet tourne donc avec la seule clé NASA FIRMS, gratuite et immédiate.

Le travail technique

Ingestion. Chaque source a son propre format : CSV pour FIRMS, NetCDF pour GOES, HDF5 pour MTG. Un ingesteur par source normalise vers un schéma commun de détections géolocalisées avec puissance radiative.

Zones brûlées. Les détections ponctuelles sont regroupées puis converties en polygones estimés directement en PostGIS. Le calcul se fait par lots pour éviter les pics mémoire — charger toutes les zones d'un coup faisait tomber Postgres.

Vent. Les données GFS ne sont téléchargées et décodées (GRIB, via ecCodes) qu'autour des feux actifs. Télécharger la grille mondiale aurait représenté plusieurs gigaoctets par cycle pour une information utile sur quelques dizaines de kilomètres carrés.

Temps réel. Les nouvelles détections sont poussées au navigateur par Server-Sent Events. Pas de polling, pas de WebSocket bidirectionnel là où un flux descendant suffit.

Carto. MapLibre GL avec fond OpenFreeMap et vue satellite hybride Esri World Imagery — les deux sans clé d'API, donc sans quota ni facturation surprise.

Ce que j'en retire

Ajouter une zone de couverture, c'est une ligne de SQL. Cette contrainte de conception, posée tôt, a évité que la logique géographique se disperse dans le code applicatif.

Projet suivant

DataBridge SuperMap