# Archives ferroviaires MaxRail

Archives quotidiennes disponibles sur https://archive.maxrail.app/.

## Organisation

Les transporteurs sont à la racine. Quand une source regroupe plusieurs
transporteurs, son fournisseur ou agrégateur est à la racine : DELFI, Entur,
Fintraffic ou OVAPI. Ces flux bruts conservent la couverture de la source.

Le deuxième niveau indique le format. Un troisième niveau distingue les flux,
ou une provenance particulière quand nécessaire.

```text
sncf/
  siri-et/siri-et-YYYY-MM-DD.tar.zst
  siri-sx/siri-sx-YYYY-MM-DD.tar.zst
  jsonl/
    tgvmax/tgvmax-YYYY-MM-DD.jsonl.zst
    rame-compo/rame-compo-YYYY-MM-DD.jsonl.zst
delfi/
  siri-et/siri-et-YYYY-MM-DD.tar.zst
sbb/
  siri-et/siri-et-YYYY-MM-DD.tar.zst
renfe/gtfs-rt/
  trip-updates-ld/trip-updates-ld-YYYY-MM-DD.tar.zst
  vehicle-positions-ld/vehicle-positions-ld-YYYY-MM-DD.tar.zst
  trip-updates/trip-updates-YYYY-MM-DD.tar.zst
  vehicle-positions/vehicle-positions-YYYY-MM-DD.tar.zst
  alerts/alerts-YYYY-MM-DD.tar.zst
ovapi/gtfs-rt/
  train-updates/train-updates-YYYY-MM-DD.tar.zst
  trip-updates/trip-updates-YYYY-MM-DD.tar.zst
  vehicle-positions/vehicle-positions-YYYY-MM-DD.tar.zst
  alerts/alerts-YYYY-MM-DD.tar.zst
entur/gtfs-rt/
  trip-updates/trip-updates-YYYY-MM-DD.tar.zst
  vehicle-positions/vehicle-positions-YYYY-MM-DD.tar.zst
  alerts/alerts-YYYY-MM-DD.tar.zst
fintraffic/gtfs-rt/
  trip-updates/trip-updates-YYYY-MM-DD.tar.zst
  vehicle-positions/vehicle-positions-YYYY-MM-DD.tar.zst
irishrail/xml/
  current-trains/current-trains-YYYY-MM-DD.tar.zst
sncb/gtfs-rt/
  trip-updates/trip-updates-YYYY-MM-DD.tar.zst
eurostar/gtfs-rt/
  realtime/realtime-YYYY-MM-DD.tar.zst
  gtfs-be/trip-updates/trip-updates-YYYY-MM-DD.tar.zst
trenitalia/gtfs-rt/
  france/realtime/realtime-YYYY-MM-DD.tar.zst
```

Les dossiers apparaissent lorsqu'ils contiennent un objet. Ce document décrit
également les flux configurés qui attendent leur premier upload. Aucun GTFS
statique n'est archivé actuellement ; les futurs GTFS pourront être rangés
sous `<provider>/gtfs/`.

## Sources et couverture

| Racine | Source et portée |
| --- | --- |
| `sncf` | SNCF France : SIRI-ET, SIRI-SX, offres TGVmax et compositions |
| `delfi` | Allemagne, DELFI via Mobilithek, offre 832259263033151488 : rail régional/SPNV ; pas un flux complet ICE |
| `sbb` | OpenTransportData Swiss : SIRI-ET, dont les trains internationaux présents dans le périmètre suisse |
| `renfe` | Renfe Espagne : LD (grande vitesse, longue/moyenne distance) et Cercanías |
| `ovapi` | Agrégateur néerlandais : TrainUpdates et flux nationaux multimodaux |
| `entur` | Agrégateur national norvégien multimodal |
| `fintraffic` | Digitraffic Finlande : prévisions et positions ferroviaires |
| `irishrail` | Irish Rail : trains actuellement en circulation, positions et messages XML |
| `sncb` | SNCB Belgique, relais GTFS.be |
| `eurostar` | Flux officiel européen (`realtime`) et relais GTFS.be séparé (`gtfs-be/trip-updates`) |
| `trenitalia` | Réseau Trenitalia France ; pas le réseau intérieur italien |

Publications des sources :

- SNCF : https://transport.data.gouv.fr/datasets/horaires-sncf
- DELFI : https://mobilithek.info/offers/832259263033151488
- SBB : https://opentransportdata.swiss/de/cookbook/realtime-prediction-cookbook/siri-et-pt/
- Renfe : https://data.renfe.com/es/
- OVAPI : https://gtfs.ovapi.nl/nl/
- Entur : https://developer.entur.org/pages-real-time-api/
- Fintraffic : https://www.digitraffic.fi/en/railway-traffic/
- Irish Rail : https://api.irishrail.ie/realtime/index.htm
- SNCB / relais Eurostar : https://data.gtfs.be/rt/
- Eurostar officiel : https://transport.data.gouv.fr/datasets/eurostar-gtfs-plan-de-transport-et-temps-reel
- Trenitalia France : https://transport.data.gouv.fr/datasets/horaires-des-trains-trenitalia-france

## Contenu et lecture

Les `.tar.zst` contiennent un dossier `YYYY-MM-DD/` et les captures brutes du
jour : `.pb` (GTFS-Realtime protobuf), `.json` (GTFS-Realtime Renfe), `.xml`
(SIRI ou Irish Rail). Mobilithek conserve aussi les `.payload` et les
métadonnées `.json`. Les fichiers gzip locaux sont décompressés avant la
compaction zstd ; les octets du contenu source sont conservés.

Les `.jsonl.zst` contiennent un fichier JSON Lines : une ligne JSON par entrée.
TGVmax est normalisé et trié ; les compositions sont un export quotidien de
l'application. Ce sont des exports structurés, pas du GTFS.

Exemples de décompression :

```sh
zstd -d --long=30 trip-updates-2026-09-30.tar.zst
tar -xf trip-updates-2026-09-30.tar
zstd -d tgvmax-2026-09-30.jsonl.zst
```

Les dates et heures de fichiers suivent Europe/Paris. Les jours terminés sont
compactés et uploadés chaque jour à 05:15. Des journées manquantes peuvent
être rattrapées tant que les captures locales existent. Une absence de fichier
ne permet pas de conclure qu'aucun train n'a circulé.

Les licences et exigences d'attribution restent celles de chaque source.
La publication de ces archives ne change pas ces licences.

## Changement d'arborescence

Depuis le 30 septembre 2026, les préfixes pays ont été remplacés par les
racines ci-dessus. Par exemple, `de/siri-et/` devient `delfi/siri-et/`,
`es/renfe/` devient `renfe/gtfs-rt/`, et `sncf/tgvmax/` devient
`sncf/jsonl/tgvmax/`. Les anciens objets ont été copiés puis vérifiés avant
suppression de leur ancienne clé. Leur contenu et leurs noms de fichier
restent identiques. Les anciennes URL ne sont pas maintenues.
