Skip to content

About

Où mettre les gares ? Simulateur citoyen d'implantation des gares du Réunion Express (débat public CNDP 2026)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

train.bus.re — « Où mettre les gares ? »

Simulateur citoyen d'implantation des gares du Réunion Express, le projet de train régional soumis au débat public CNDP du 19 août au 26 novembre 2026.

On pose des gares sur le tracé, on les déplace, et le temps de parcours Saint-Benoît → Saint-Joseph se recalcule en direct à partir des performances du matériel roulant. Le but est de rendre tangible l'arbitrage central du débat : chaque gare supplémentaire coûte environ 68 secondes à tous ceux qui la traversent, et fait gagner dix à vingt minutes à ceux qui habitent à côté.

Site 100 % statique — Vite + React + TypeScript + MapLibre GL + PMTiles. Pas de backend, pas de compte, tout l'état du scénario dans l'URL.

Outil citoyen indépendant. Ni la Région Réunion, ni la CNDP.

État actuel

Les lots 0 à 4 du plan sont livrés : la carte, le modèle, la pose des gares, le lien de partage, les onglets Profil et Espace-temps. Restent l'onglet Le compromis avec la population desservie, le commutateur de variantes et le recalage sur les temps du dossier.

npm install
npm run dev        # http://localhost:5173
npm test           # modèle TypeScript contre l'oracle Python (89 tests)
npm run build      # -> dist/, site 100 % statique

Ce dépôt contient aussi la conception et toutes les données :

PLAN.md la conception complète : sources, contrat de données, modèle, architecture, écrans, lots, risques. À lire en premier.
docs/modele-physique.md spécification du modèle de marche, presets de matériel, résultats de calibration
tools/ chaîne d'extraction des données, en Python, autonome
data/ données produites, versionnées

Les données

Le tracé officiel et les stations ont été récupérés depuis le visualisateur 3D publié par la Région Réunion et lié depuis le site du débat. Ce ne sont pas des reconstitutions : ce sont les géométries d'étude du projet. Voir PLAN.md §2.

data/
├── landweb/raw/          60 JSON bruts du visualisateur (la source, à conserver)
├── landweb/*.geojson     une couche par fichier, reprojetée en WGS84
├── routes/               20 tracés complets Saint-Benoît → Saint-Joseph
│   ├── SD-<n>_O-<m>.geojson           4 variantes Saint-Denis × 5 variantes Ouest
│   ├── SD-<n>_O-<m>.stations.json     stations projetées, avec leur PK
│   └── SD-<n>_O-<m>.profile.json      profil terrain + profil rail + pente
└── sources/              extraction texte du DMO, notes de provenance

Les 20 combinaisons font 133,8 à 140,1 km pour 25 à 29 stations, ce qui recoupe les ~140 km / ~25 stations annoncés au dossier du maître d'ouvrage. Contrôle : les 33 stations nommées se projettent à 0–27 m du tracé assemblé, dans le bon ordre géographique.

Reproduire la chaîne

Prérequis : Python 3, cs2cs (PROJ). Pour le fond de carte : pmtiles, tippecanoe.

python3 tools/extract_landweb.py                      # 60 couches -> GeoJSON WGS84
python3 tools/assemble_route.py                       # -> 20 tracés + stations
for f in data/routes/*.geojson; do
  python3 tools/build_profile.py "$f"                 # -> profil terrain + rail (API IGN)
done
python3 tools/build_route.py                          # -> public/data/routes/*.v1.json
python3 tools/build_road_times.py                     # -> public/data/road-times.json
sh tools/build_basemap.sh                             # fond + relief + glyphes -> public/
python3 tools/model_reference.py                      # tableaux de calibration

model_reference.py est l'oracle du portage TypeScript : forme close et intégration spatiale y coïncident à moins de 0,1 %, et il régénère tous les chiffres de docs/modele-physique.md. Les porter dans src/model/ doit laisser ces nombres inchangés.

Prochaine étape

Lot 5 du plan : population desservie et onglet Le compromis. Voir PLAN.md §7.

Déploiement

Le site est servi par nginx sur zorg.chtitux.org à l'adresse https://train.bus.re. Chaque push sur main déclenche .github/workflows/deploy.yml : tests, build, puis rsync de dist/ vers /var/www/train.bus.re/dist avec l'utilisateur github-actions, dont la clé ne peut qu'écrire dans ce dossier (rrsync). Les pull requests ne font que tester et builder.

Licences et attributions

  • Géométrie du projet : Région Réunion, via le visualisateur du débat public. Tracé d'étude, susceptible d'évoluer. Extraction datée du 2 septembre 2026.
  • Altimétrie : IGN RGE ALTI, Géoplateforme.
  • Fond de carte : OpenStreetMap (ODbL) via Protomaps.
  • MNT du relief : Mapzen / AWS elevation-tiles-prod.

About

Où mettre les gares ? Simulateur citoyen d'implantation des gares du Réunion Express (débat public CNDP 2026)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages