naivo.fr — Assistant de sécurité en montagne

Plateforme décisionnelle nivo-météo fusionnant données open-data et pipelines SIG haute performance.
Auteur·rice

Nicolas Decoopman

Mots clés

sécurité montagne, aide à la décision, bera, modélisation géographique, préparation de sorties, gestion des risques, data engineering, open data, SIG, Python, PostGIS

DE 10 SOURCES DISPARATES À UNE PLATEFORME UNIQUE D’AIDE À LA DÉCISION EN MONTAGNE.

Impact et reconnaissance
  • Plateforme utilisée en conditions réelles par des pratiquants de ski de randonnée.
  • Centralisation de données officielles (Météo-France) et collaboratives (Skitour et Camptocamp).
  • Pipeline GIS automatisé générant des calques topographiques (pentes, ombrages, courbes) à 25m de résolution.
  • Sélectionné par data.gouv.fr pour le suivi des sorties de données en décembre 2025 (1).
  • Couverture médiatique nationale et régionale (4).

Le challenge technique :

1 Contexte et problématique

La préparation d’une sortie en montagne repose sur l’analyse de sources fragmentées : bulletins d’estimation des risques d’avalanche, relevés de stations automatiques, webcams, conditions de terrain et prévisions météo. Cette dispersion augmente la charge cognitive et le risque d’erreur. naivo centralise et spatialise ces données sur une carte interactive pour offrir une lecture immédiate des conditions.

2 Données

  • Météo-France DPBRA : bulletins d’Estimation des Risques d’Avalanche. Parsing XML robuste (gestion de namespaces, champs optionnels) vers JSON normalisé.
  • Météo-France PaquetObs : relevés horaires CSV (température, vent, rafales, neige) pour 6 départements alpins.
  • Skitour API : conditions de skiabilité et sorties récentes. Double mode d’extraction (backfill par date / incrémental par ID).
  • Spotair / Windy : URLs de webcams géoréférencées.
  • IGN / Copernicus : modèles Numériques de Terrain (DEM) pour le calcul des pentes > 30 degrés.
  • Open-Meteo : prévisions météo haute résolution et modèles de surface.
  • Meteoblue : météogrammes générés à la volée via le proxy Cloudflare Worker.

3 Approche et méthodologie

Workflow :

  1. Extraction API : scripts Python dédiés par source (Météo-France, Skitour, Spotair, Windy) avec authentification OAuth2/Bearer, rate limiting configurable et retry.
  2. Transformation : parsing XML/CSV vers JSON/SQLite normalisé. Nettoyage HTML, déduplication par clé naturelle (sortie_id).
  3. Pipeline GIS : GDAL (clip DEM par départements, reprojection EPSG:3857, hillshade, slope RGBA, contours vectoriels, Terrain-RGB).
  4. Tiling : Tippecanoe (vector tiles) et gdal_translate/gdaladdo (raster tiles) vers MBTiles, puis conversion PMTiles.
  5. Distribution : Cloudflare Worker (3 routes : /meteogram avec cache geospatial, /head pour le health-check webcam, /img pour le proxy CORS).
  6. Frontend : Astro et React et MapLibre GL JS.

Justification de l’architecture :

L’utilisation de PMTiles élimine le besoin d’un serveur cartographique (MapServer, GeoServer), réduisant les coûts d’infrastructure à zéro (Cloudflare R2 et Workers). L’ETL incrémental (curseur d’ID persistant en SQLite) minimise les appels API et garantit la fraîcheur des données.

  • Data Engineer

    • Conception de 5 connecteurs API avec gestion unifiée du rate limiting (RateLimiter configurable, MAX_RPM).
    • Pipeline ETL dual-mode (backfill/incrémental) avec persistance d’état SQLite.
    • Parsing XML robuste du BERA Météo-France (962 lignes, gestion de 5 types de situations avalancheuses).
    • Proxy Cloudflare Worker avec allowlist de 100+ domaines, normalisation de coordonnées pour le caching geospatial.
  • Full-Stack Engineer

    • Application Astro/React avec rendu cartographique MapLibre GL JS.
    • Hooks React dédiés (useBeraData, useBeraPdf) pour le chargement asynchrone des données BERA.
    • Composants interactifs : StationCharts, MassifSearch, MiniMap.

4 Technologies utilisées

  • Backbone : Python 3.11+, Rasterio, lxml (XML parsing).
  • GIS Pipeline : GDAL (gdalwarp, gdaldem, gdal_contour), Tippecanoe, PMTiles CLI.
  • Data Storage : SQLite (conditions, relevés), GeoJSON, Parquet.
  • Infrastructure : Cloudflare Workers (JavaScript), Cloudflare R2, PMTiles.
  • Frontend : Astro, React, MapLibre GL JS, TypeScript.
  • APIs intégrées : Météo-France DPBRA, Météo-France PaquetObs, Skitour, Spotair, Windy, Meteoblue.

5 Lien vers le projet

Accéder à naivo.fr

6 Cas d’usage et perspectives

  • Usage : aide à la décision pour le ski de randonnée et l’alpinisme, utilisée avant chaque sortie.
  • Perspectives : extension géographique (Pyrénées, Alpes Suisses/Italiennes), intégration de capteurs temps réel supplémentaires et exploitation des données historiques pour l’analyse de tendances.

7 Références et reconnaissance

1.
data.gouv.fr. Suivi des sorties de données — Décembre 2025 [Internet]. Etalab; 2025. Disponible sur: https://www.data.gouv.fr/posts/suivi-des-sorties-decembre-2025
2.
Libéré LD. Il a inventé un site web gratuit pour faciliter la préparation des randonnées. 2026; Disponible sur: https://www.ledauphine.com/culture-loisirs/2026/01/05/il-a-invente-un-site-web-gratuit-pour-faciliter-la-preparation-des-randonnees
3.
Montagne MS en. Naivo, l’outil malin pour préparer ses sorties en ski de randonnée [Internet]. 2025. Disponible sur: https://www.mon-sejour-en-montagne.com/bons-plans/naivo-l-outil-malin-pour-preparer-ses-sorties-en-ski-de-randonnee/
4.
Route LB. Paroles de montagnards — Nicolas. 2025; Disponible sur: https://www.labelleroute.com/articles/paroles-de-montagnards/nicolas