#AutoTranslate
Description rapide
Les données de formation sont des informations sur les wagons (et locomotives) d’un train, y compris la composition d’un train. Les données de formation comprennent non seulement la position de chaque wagon dans un train, mais aussi les caractéristiques de chaque wagon.
Depuis l’automne 2024, nous proposons une API REST qui fournit les données de formation d’un train pour un numéro de train donné pour un jour d’exploitation donné sous la forme d’une structure de données JSON.
Nos données de formation vous permettent par exemple de savoir quelle voiture d’un train donné (avec un numéro de train donné) offre un accès à plancher surbaissé, c’est-à-dire un accès confortable pour les fauteuils roulants ou les poussettes.
Cliquer sur le bouton «Train Formation VisualizationNous proposons également une visualisation permettant d’afficher les données de l’API pour un train, voir capture d’écran ci-dessous. Pour ce faire, le numéro de train doit d’abord être déterminé à partir d’un horaire en ligne, p. ex. https://www.bls.ch.
https://opentdatach.github.io/train-formation-view
Accès à l’API
À noter:
Remarque: Une description de l’accès aux API se trouve ici: Howto: Accès à nos API avec des clés d’API.
Description métier
Qui est impliqué?
Le service est fourni par l’équipe Tâches systémiques Information à la clientèle Plus (SKI+) sur mandat de l’Office fédéral des transports (OFT) en Suisse.
Nous obtenons les données sur les compositions à partir de ces deux systèmes:
- Le service de formation (FOS) des CFF, auprès de laquelle différentes entreprises de transport ferroviaire (EVU) de leurs données de formation. La liste des EVU est limitée aux personnes qui ont donné leur accord pour l’utilisation de leurs données de formation.
- L’interface avec les moyens de transport du système en temps réel (CUS) des tâches systémiques d’information à la clientèle (SKI). CUS gère les données en temps réel de tous les moyens de transport des transports publics en Suisse.
Tandis que l’interface FOS ne fournit que les informations détaillées sur les compositions, l’interface CUS fournit également des informations complémentaires, notamment la position des véhicules (secteurs) sur la voie des arrêts.
Pourquoi opentransportdata.swiss propose-t-il cela?
Les données sur la formation d’un train peuvent être utilisées pour informer les utilisateurs:
- dans quel secteur d’une voie de la gare il est possible d’embarquer un train accessible en fauteuil roulant, ce qui est particulièrement important dans le cadre de la loi sur l’égalité pour les handicapés (LHand);
- la voiture dans laquelle sont installés des crochets pour vélos,
- combien de places sont disponibles en général dans une voiture,
- en combinaison avec notre Prévisions d’occupation permet même d’afficher le taux d’occupation prévu du train,
- quels types de locomotives et de wagons circulent sur quelles lignes, pour les passionnés de train ou pour les entreprises de transport qui combinent leurs services avec d’autres chemins de fer.
Description technique
Quels sont les services (points d’extrémité d’interfaces) proposés par notre service Train Formation?
Notre Train Formation Service prend en charge les trois variantes de demande suivantes. Les détails des demandes sont également documentés via l’interface OpenAPI:
- Basées sur les arrêts – https://api.opentransportdata.swiss/formation/v2/formations_stop_based:
- Ce service fournit les compositions pour chaque arrêt du parcours d’un train.
- Paramètres:
- Le nom d’un EVU.
- Un jour d’exploitation: Jour pour lequel la formation doit être consultée. La date ne peut pas se situer dans le passé. Attention: la date peut uniquement être celle d’aujourd’hui (car les données en temps réel du CUS sont incluses).
- Le numéro de train, également appelé numéro du moyen de transport: Le train pour lequel la formation fait l’objet d’une demande. Ce numéro peut être obtenu de différentes manières, notamment via nos données d’horaire dans différents formats de données.
- Valeurs de retour: une structure de données JSON avec:
- les arrêts d’un train, avec les détails des arrêts, la formation avec laquelle le train part des arrêts, et quand, de quelle voie, et avec quelles locomotives/voitures jusqu’où. Il est essentiel d’indiquer la composition sous une forme compacte, issue de CUS.
- Cette requête ne contient pas tous les détails sur chaque wagon.
- Nous décrivons ci-après l’interprétation de la chaîne de formation courte.
- Cas d’application possible: Afficher la formation d’un train sur une voie pour un arrêt spécifique.
- Basée sur le train – https://api.opentransportdata.swiss/formation/v2/formations_vehicle_based:
- Ce service fournit les formations par véhicule (c’est-à-dire par élément de formation) du train.
- Paramètres:
- Les mêmes que sur
formations_stop_based. - Jour d’exploitation: Jour pour lequel la formation doit être consultée. Cette date peut être fixée jusqu’à trois jours dans le futur.
- Les mêmes que sur
- Valeurs de retour: une structure de données JSON avec:
- les éléments de la formation avec les détails de chaque véhicule, la position du véhicule dans la formation ainsi que les arrêts où le véhicule s’arrête le long du parcours, avec les détails des arrêts, la voie et le secteur où le véhicule s’arrête aux arrêts respectifs.
- Cette requête n’inclut pas la vue d’ensemble du train le long des arrêts.
- Cas d’application possible: Le suivi d’un wagon spécifique.
- Basées sur les arrêts et les trains – https://api.opentransportdata.swiss/formation/v2/formations_full
- Ce service fournit les compositions par arrêt et par véhicule.
- Les paramètres sont identiques à ceux des formations_stop_based et formations_vehicle_based.
- Valeurs de retour: une structure de données JSON avec les arrêts et les éléments de formation comme dans les variantes décrites ci-dessus.
- Informations sur le statut du service – https://api.opentransportdata.swiss/formation/v2/health
- Ce point de terminaison fournit le statut de l’état de fonctionnement actuel.
- Paramètres: aucun.
- Valeurs de retour: une structure de données JSON avec l’état de fonctionnement actuel du service.
Paramètres de requête
Les paramètres suivants sont transmis en tant que paramètres de requête (query parameters) après un «?» dans l’URL (GET request):
| Paramètres | Description de la valeur et exemple de valeur |
|---|---|
evu |
Le EVU (entreprise de transport ferroviaire) pour laquelle la demande doit être faite. Sont actuellement soutenus: BLSP, CFF Voyageurs, MBC, ÖBB, RhB, SOB, Thurbo, TPF, TRN, VDBB, ZB. |
operationDate |
La date à laquelle le train part et pour laquelle on souhaite faire la demande. Exemple: 2024-09-18. |
trainNumber |
Numéro de train dont on souhaite consulter les données de formation. Exemple: 2806. |
Exemple de demande: https://api.opentransportdata.swiss/formation/v2/formations_stop_based?evu=BLSP&operationDate=2025-08-28&trainNumber=2806
Réponse
Nous ne décrivons pas ici le modèle de données complet, mais renvoyons plutôt au YAML suivant:
Interprétation de la chaîne courte de la formation:
En principe, la structure de la chaîne diffère selon qu’une voie comporte des secteurs ou que nous les connaissons.
Dans tous les cas, les règles suivantes s’appliquent pour la mise en place:
| Élément | Description |
|---|---|
| Secteur | Lettre („A“ … „Z“) |
| Statut | „-“ Véhicule fermé
„>“ Véhicule avec groupes qui montent à ce PE
„=“ Véhicule (partiellement) réservé pour les groupes en transit
„%“ Véhicule ouvert, mais non desservi (uniquement pour les voitures-restaurants)
Remarque: «fermé» ne peut apparaître que seul, les autres caractères peuvent être combinés |
| [ | Démarrage du groupe de véhicules appartenant au train
Remarque: Il est ainsi possible de différencier les véhicules garés ou à retirer des véhicules faisant partie d’un train en marche. |
| ]
|
Fin du groupe de véhicules appartenant au train
Remarque: Il est ainsi possible de différencier les véhicules garés ou à retirer des véhicules faisant partie d’un train en marche. |
| (
|
aucun passage possible jusqu’au véhicule voisin de ce côté
Remarque: Calcul réalisé à partir de données de base et d’hypothèses. Il n’est pas possible de garantir que ces données correspondent en toutes circonstances à la réalité. |
| )
|
aucun passage possible jusqu’au véhicule voisin de ce côté
Remarque: Calcul réalisé à partir de données de base et d’hypothèses. Il n’est pas possible de garantir que ces données correspondent en toutes circonstances à la réalité. |
| TypeVéhKI
|
Type de véhicule du point de vue de l’information clientèle. Ces termes signifient:
– Voiture «1» 1re classe – Voitures voyageurs «2» de 2e classe (y compris A/AB déclassées) – Voitures «12» 1re et 2e classes – Voiture-couchettes «CC» – Voiture-familles «FA» – Voiture-lits «WL» – Restaurant «WR» (voiture bistro, voiture-restaurant, etc.) – Voiture-restaurant et voiture à places assises combinées «W1» 1re classe – voiture-restaurant et voiture à places assises «W2» de 2e classe – véhicule moteur «LK» – Fourgon à bagages «D» – Wagon fictif «F» – «K» Véhicule sans classe – Voitures garées «X» Remarque: CUS convertit le type de véhicule obtenu à partir du FOS en un «type d’IA» générique. Les variantes suivantes sont alors utilisées: 1. Transformation de véhicules trop longs: CUS peut décomposer (configuration) les rames automotrices qui ne fournissent pas la source par voiture, mais en tant que véhicule (surlong) en voitures isolées. La chaîne n’affiche alors pas 1 véhicule (généralement de type „12“) mais 2…n véhicules de type „1“, „2“, „12“ ou „D“. Le nombre se calcule à partir du nombre de véhicules constaté par le client. Les véhicules de ce type qui ne conduisent pas la première classe au milieu du train sont en règle générale transformés en voitures de type „K“ transformée.
2. Transformation de véhicules individuels sur la base d’expressions régulières: Tous les véhicules individuels sont transformés en véhicules d’information à la clientèle génériques, sous la forme d’expression régulière et hiérarchisée. 3. Transformation de véhicules individuels en raison du nombre de places assises: Si aucune expression régulière de 2) ne correspond, le type est déterminé sur la base du nombre de places assises en 1re et 2e classe. Si le véhicule ne dispose pas de places assises, le type est indiqué „D“ attribuée.
Remarque concernant “F”: Sur les voies avec secteurs, le delta entre la longueur du train et la longueur des bordures d’arrêt à l’avant et/ou à l’arrière est comblé par des véhicules fictifs.
Remarque concernant “X”: les wagons garés influent sur l’affectation des véhicules d’un train aux secteurs, mais ne font pas partie du train concerné. |
| N° d’ordre | Numéro d’ordre pour la réservation de place individuelle affiché sur les voitures pour les passagers (numéro à 1 à 3 chiffres) |
| Offre | Liste des offres liées aux véhicules. Celles-ci comprennent:
– „BHP“ Emplacements pour fauteuils roulants
– „BZ“ Espace affaires
– „FZ“ Espace familles
– „KW“ Plate-forme pour poussettes
– „NF“ Véhicule avec accès à plancher surbaissé
– „VH“ Crochets et plates-formes pour vélos
– „VR“ crochets et plates-formes pour vélos soumis à l’obligation de réservation |
Quels sont les notions et concepts les plus importants à connaître?
Nous utilisons les éléments suivants comme partie intégrante de notre interface (sans éléments de conteneur):
StopPoint- Un StopPoint est un arrêt qui fait partie de l’horaire.
StopTime- Les heures de départ et d’arrivée.
Track- La voie au StopPoint.
FormationShortString- Brève représentation de la composition (telle que définie par CUS).
VehicleGoal- Quels wagons resteront ensemble jusqu’à quelle destination, vu d’un arrêt.
JourneyMetaInformation- Identification univoque du convoi.
TrainMetaInformation- Propriétés descriptives du train.
FormationMetaInformation- Informations détaillées sur l’ensemble de la formation, comme le nombre de véhicules.
ScheduledStop- StopPoint, StopTime, Track, Des informations détaillées sur la situation du train à la halte ou à l’arrêt (p. ex. arrêt ou passage sans arrêt), ainsi que sur les écarts par rapport au trajet (retards à l’arrivée, p. ex.).
VehicleIdentifier- Attributs permettant d’identifier un véhicule de manière univoque, p. ex. european vehicle number (EVN). Une particularité réside dans le fait qu’un véhicule peut faire partie d’un train articulé et donc ne pas avoir ses propres EVN mais seulement une «générée». Dans ce cas, la «Parent-EVN».
WheelchairSymbolProperties- Caractéristiques nécessaires pour déterminer le symbole de fauteuil roulant (voir aussi Accessibilité de l’information sur l’horaire).
AccessibilityProperties- Autres propriétés pouvant être utilisées dans le cadre d’une présentation adaptée aux personnes handicapées.
PictoProperties- Indication si les différents pictogrammes sont représentés sur un véhicule.
DirectTrolleyInformation- Quand la formation représente des voitures directes.
VehicleRelation- Cet élément permet d’assurer le suivi des courses précédentes et suivantes d’une formation donnée, qui peut aussi être une course de voiture directe.
VehicleProperties- Caractéristiques d’un véhicule en tant que partie d’une formation, c’est-à-dire un élément de formation, ainsi que d’où et jusqu’où le wagon fait partie de la formation.
FormationVehicleAtScheduledStop- Représentation de la composition par arrêt (pour la requête vehicle_based).
VehicleRelationship- La relation de voyage, c’est-à-dire la manière dont le voyage change entre deux parcours (p. ex. en cas de suppression)
VehicleRelationshipDetails- Détails d’une relation de voyage.
Restrictions
- Les données se limitent aux entreprises de transport ferroviaire (EVU), qui mettent leurs formations à disposition via les Chemins de fer fédéraux suisses (CFF) et qui ont accepté que leurs données soient publiées sous forme de données ouvertes.
- Le service met à disposition l’ensemble des données et les données relatives aux véhicules uniquement si toutes les sources disposent de toutes les données requises. Cela est particulièrement important compte tenu du fait que CUS ne dispose que de données pour aujourd’hui.
- Concrètement, les données proviennent du système en temps réel SKI (CUS – CUstomer Information System – VerkehrsMittel VM) et les Formation Services (FOS) des CFF.
