Publication

Publication

Introduction 

Ce document a pour but de faciliter l’usage du Back-Office SIM. Ce dernier est la chaîne de collecte et de distribution des données Information Voyageur en Île-de-France.

Le Back-Office Offre Théorique s’appuie sur les référentiels Arrêts et Lignes pour isoler les concepts relatifs aux arrêts et correspondances d’une part, et aux lignes commerciales d’autre part.

Ce document présente le format et les interfaces de publication (récupération en sortie des systèmes Île-de-France Mobilités) des données d’offre de transport en commun. Afin de proposer des exports relativement autoporteurs, certains formats proposés reprennent en propre des données issues du Référentiel Lignes et du Référentiel Arrêts.

Types de publications

La publication des fichiers depuis le BO s’effectuera par API (protocole RESTful). Les mécanismes sont détaillés dans le chapitre Interface de publication.

La publication des données permet de disposer au choix des données suivantes :

Export Offre IDF : Cet export contient l’offre théorique sur l’ensemble de la région Ile de France (toutes les lignes), mais pour une période de temps réduite.

Cette période sera fixée par Île-de-France Mobilités. Elle correspondra à la garantie d'exhaustivité et de qualité fixée dans les contrats (actuellement 3/4 semaines).

Une production quotidienne est prévue pour ce fichier. Cette période sera donc glissante et commencera le jour de la production de cet export par le BO Offre Théorique.

L'export contient aussi des fichiers reprenant les données des Référentiels..

Export par Ligne : Cet export contient l’offre théorique pour une ligne sur la plus grande période fournie par le transporteur responsable de celle-ci. 

Cette période reste limitée à une année maximum. Les périodes "passées" (antérieures à la date du jour) sont retirées lors de la production de chaque export, c'est-à-dire lors des mises à jour de l’offre de la ligne par le transporteur.

Contrairement à l'Export Offre IDF, cet Export ne contient qu'un fichier reprenant les données du Référentiel Lignes.

Règles et restrictions

Tableaux d’attributs

Les tableaux d’attributs dans les chapitres suivants précisent pour chaque objet NeTEx publié, la description et le traitement attaché à chacun des attributs de l’objet. Les tableaux sont constitués de 4 colonnes : 

Donnée

Type

Cardinalité

Description et traitement

Nom NeTEx de la donnée (attribut ou élément de structure)

Type XML de la donnée

Précise le caractère obligatoire ou optionnel et dans le cas d’une occurrence multiple, les valeurs minimales et maximales possibles

(* pour indiquer aucune limite).

Si cette cardinalité est différente de celle de NeTEx, les deux sont indiquées. Ex :

0 :* (NeTEx)

1 :1 (BO IDFM)

Rappelle pour les données exploitées leur définition issue du Profil IDFM et précise, si nécessaire, comment elles sont produites par le BO IDFM.

 

Pour les attributs ayant une cardinalité commençant par "0:" (attribut non obligatoire), la balise ne sera présente en publication que si la valeur est renseignée.

Règle d’exploitation des informations NeTEx 


Les couleurs utilisées dans les tableaux permettent de mettre en valeur les objets et attributs renseignés ou non lors de la publication par le BO Offre Théorique. 

Deux cas de figure sont possibles :

  • Information (donnée ou objet) non publiée : l’information est citée et si nécessaire, une interprétation de son absence est proposée.

  • Donnée ou objet publié : l’information est publiée ; toutefois, si elle est optionnelle, elle n’est présente que si elle est valorisée. Sauf mention contraire, les valeurs par défaut proposées par NeTEx ou le Profil seront toujours renseignées.

Delivery et Frames

Cadres de version ou frames

Les cadres de version sont de 2 types :

  • GeneralFrame : Contient uniquement des objets métiers. La liste des objets présents dépend de l’attribut ‘TypeOfFrameRef’ du cadre et est définie par le Profil IDF

  • CompositeFrame : Contient uniquement d’autres cadres de versions, la liste des cadres de version présents  dépend de l’attribut ‘TypeOfFrameRef’ du cadre et est définie par le Profil IDF.

Chaque fichier XML respecte les règles de format du Profil IDF ; ils sont donc tous composés d’un objet racine de type ‘PublicationDelivery’. Cet objet contient ensuite les cadres de versions qui sont structurés comme indiqué dans le chapitre ‘PublicationDelivery’.

PublicationDelivery

Données caractérisant l’objet PublicationDelivery :

Donnée

Type

Cardinalité

Description

version

xsd:NMTOKEN

1:1

Version du profil :

1.04:FR1-NETEX-x.y-z 

Avec : x.y : version du profil NETEX

z : version du Back Office Île-de-France Mobilités

PublicationTimestamp

xsd:dateTime

1:1

Date/heure de production du fichier format  : 

AAAA-MM-JJThh:mm:ssZ

ParticipantRef

ParticipantCodeType

1:1

Référence du BO IDFM : 

FR1-OFFRE 

dataObjects

dataObjectsRel

Structure

1:1

CompositeFrame de type : 

  • FR1:TypeOfFrame:NETEX_OFFRE_LIGNE:

  • FR1:TypeOfFrame:NETEX_IDF:

ou GeneralFrame de type :

  • FR1:TypeOfFrame:NETEX_COMMUN:

  • FR1:TypeOfFrame:NETEX_CALENDRIER:

  • FR1:TypeOfFrame:NETEX_STRUCTURE:

  • FR1:TypeOfFrame:NETEX_HORAIRE:

  • FR1:TypeOfFrame:NETEX_ARRET_IDF:

Entités abstraites et héritage

NeTEx définit une hiérarchie d’objets et certains attributs des objets publiés sont issus de ces héritages. Afin de simplifier la lecture des attributs relatifs à chaque objet intervenant dans la publication, les attributs issus d’un héritage ne sont rappelés seulement s’ils sont présents dans la publication de l’objet considéré.

Dans le cas de l’utilisation  d’un attribut hérité dans un objet publié, une nomenclature  est utilisée dans les tableaux d’attributs pour les repérer : le nom de l’attribut en question est précédé d’une abréviation entre parenthèses. Cette abréviation correspond au nom de l’objet qui fournit l’attribut en héritage. :

  • (E) pour l’objet ENTITY

  • (EIV) pour l’objet EntityInVersion

Entity (E)

Donnée

Type

Cardinalité

Description et traitement

id

ObjectIdType

1:1

Identifiant unique (et pérenne autant que possible) de l'objet.

Les actions du système Île-de-France Mobilités au cours du traitement des données dans le BO Offre ne permettent pas de garantir une traçabilité entre leur import/saisie dans ceux-ci et leur publication (cf Différences entre les données importées/saisies dans le BO Offre et celles exportées)

Pour les entités versionnées, le couple (id/version) est unique dans un fichier.

Limité à 255 caractères

Règle de syntaxe des identifiants :

Les identifiants des objets, autres que les arrêts, respectent la codification suivante : 

[CODESPACE]:[type d'objet]:[identifiant technique]:LOC

Avec :

[CODESPACE] : Indication sur le fournisseur de la donnée. Il prend la valeur du code organisation qui a produit (import ou saisie) la donnée. Dans le Back Office Offre, les objets résultant d'une fusion entre deux objets provenant d'organisations différentes (action automatique lors de l'agrégation) prennent un code propre au BO. 

Note : Les frames indiquent comme CODESPACE le code du BO qui les a produites.

[type d'objet] : Classe de l'objet sous la forme du nom du tag XML qui le porte

[identifiant technique] : Identifiant unique composé de caractères numériques, alphabétiques majuscules et minuscules sans accentuation, de ‘tiret’(-) et de ‘souligné’ (_). Pour les données importées dans le BO Offre, l'identifiant technique indiqué dans le fichier est préfixé par l'identifiant de la ligne issu du Référentiel Lignes (sauf pour les objets calendriers). En cas de fusion, l'identifiant de l'objet résultant correspond à celui de l'objet le plus récent (cf Différences entre les données importées/saisies dans le BO Offre et celles exportées).

LOC : permet de préciser que l'identifiant a été défini de façon locale entre les parties engagées dans l'échange, et qu'il ne fait donc pas partie du référentiel partagé (régional, national, etc.). L'utilisation de ce qualificatif est obligatoire quand l'identifiant est local (hors identifiants du Référentiel Arrêts ou du Référentiel Lignes).

EntityInVersion (EIV) hérite de Entity :

Donnée

Type

Cardinalité 

Description et traitement

dataSourceRef

DataSourceIdType

0:1

Identifiant de la source des données.

  • Si la donnée a été importée : code de l'organisation origine de la donnée. 

Attention, contrairement au CODESPACE, si la donnée a été saisie ou modifiée manuellement dans le BO, le dataSourceRef est renseigné avec un code propre au BO (FR1-OFFRE_EDITION)

  • Si la donnée est issue d'une fusion automatique de plusieurs données provenant de datasource différents : code propre au BO (FR1-OFFRE_AUTO)

version

VersionIdType

1:1

Version fixé à any

Si l'attribut hérité n'est pas obligatoire, il n'est pas rappelé dans les tableaux suivants.

Règles de syntaxe des références

Pour certains attributs, il est attendu des références à des objets dits ‘internes’ (l’objet référencé doit être défini dans le même fichier XML)  ou à des objets ‘externes’ (l’objet référencé est présent dans un autre fichier du jeu de données ou dans une autre source de données comme par exemple dans le Référentiel Arrêts).

Ces références comportent 2 champs obligatoires : l’identifiant de l’objet référencé et sa version.

Syntaxe pour les références à un objet du jeu de données:

  • Référence interne (objet dans le même fichier) : 

<ObjetRef ref="[ID de l'objet]" version="any" />
  • Référence externe (objet dans un fichier différent du même jeu de données)

<ObjetRef ref="[ID de l'objet]"> version="any"</ObjetRef >

Avec : 

[ID de l'objet] : l’attribut respecte la syntaxe des identifiants (voir Entités abstraites et héritages

Exemple :

Référence au sein d'un fichier offre_[ID Ligne C]_[Nom Ligne C].xml :

<RouteRef  ref="TRANDEV:Route:1234:LOC" version="any"/>

Référence d'un fichier offre_[ID Ligne C]_[Nom Ligne C].xml à calendriers.xml :

<DayTypeRef  ref="TRANDEV:DayType:64:LOC"> version="any"</DayTypeRef>

Syntaxe pour les références à un objet stocké dans le Référentiel Lignes (ou ligne(s).xml) ou dans le Référentiel Arrêts (ou arrets.xml) : 

<LineRef ref="FR1:Line:[ID LIGNE C]:">version="any"</LineRef>

<OperatorRef ref="FR1:Operator:[ID TRANSPORTEUR]:LOC">version="any"</OperatorRef>

<QuayRef ref="FR::Quay:[ID ZDEP]:FR1">version="any"</QuayRef>

Avec : 

[ID LIGNE C] : Identifiant de la ligne commerciale dans le Référentiel Lignes

[ID TRANSPORTEUR] : Identifiant du transporteur dans le Référentiel Lignes

[ID ZDEP] : Identifiant de la Zone d'Embarquement Particulière dans le Référentiel Arrêts

Organisation des publications

FICHIERS OFFRE : Les exports Offre sont au format NETEX et se présentent sous la forme d’un ensemble de fichiers réunis au sein d’une archive ZIP.

Export Offre IDF : 

Où :

[AAAAMMJJ_AAAAMMJJ] : dates de début et de fin de la période de publication (dates inclues)

[ID Transporteur]_[Nom Transporteur] : identifiant et nom du transporteur principal de la ligne, indiqué dans le Référentiel Lignes.

[ID Ligne C]_[Nom Ligne C] : identifiant et nom court de la ligne commerciale, issu du Référentiel Lignes.

Le regroupement par transporteur principal et non par organisation, permet, si l'offre est transmise dans le Back Office Offre par deux organisations différentes, d'obtenir les deux offres agrégées dans un même fichier en publication.

Note : Ce cas de deux fournisseurs doit rester exceptionnel. En effet, pour les lignes en pool par exemple, un seul fournisseur pour l'offre théorique sera désigné (principe identique au fonctionnement actuel). 

Ce système permettra notamment de gérer les changements d'exploitant pour une ligne à une date t. 

Export Offre Ligne :

Où :

[AAAAMMJJThhmmsZs] : date de production du fichier d'export (=date et heure UTC de dernière mise à jour de l'offre pour la ligne)

[ID Ligne C]_[Nom Ligne C] : identifiant et nom court de la ligne commercial, issu du Référentiel Lignes.

Note : Pour les deux types d'export, les noms extraits du Référentiel Lignes sont transformés si nécessaire pour ne contenir que des caractères valides comme nom de fichier et de dossier, les caractères autres que : 

  • les lettres alphabétiques latines majuscules et minuscules non diacritiques,

  •  les chiffres,

  •  le ‘tiret’ et le ‘souligné’ 

sont remplacés par des ‘souligné’.

Contenu des publications

Chaque fichier xml contient des données relatives à un ou plusieurs cadres de version :

 

  • commun.xml : Contient les objets du cadre de version NETEX_COMMUN. Ce fichier est optionnel ; il n’est présent que si la ligne ou au moins une ligne du transporteur contient des notes sur ses courses (NOTICE au sens NeTEx).

  • calendriers.xml : Contient les objets du cadre de version NETEX_CALENDRIER. Il définit la validité de l'export (ValidBetween) et le calendrier d'application des courses (stockées dans le fichier offre_[ID Ligne C]_[Nom Ligne C].xml)

  • offre_[ID Ligne C]_[Nom Ligne C].xml : Chaque fichier contient les données d’offre pour une ligne réparties dans les cadres de version NETEX_STRUCTURE et NETEX_HORAIRE. Ceux-ci sont regroupés au sein d’un cadre de version de type NETEX_OFFRE_LIGNE. 

  • ligne(s).xml : Contient la définition des lignes, des réseaux et transporteurs selon le format de publication du Référentiel Lignes. Pour l'export complet, l’ensemble des objets du Référentiel Lignes actifs, ou connus du BO Offre, est publié. Pour l'export par ligne, seule la ligne concernée est décrite.

  • arrets.xml : Contient la définition des "arrêts" selon le format de publication du Référentiel Arrêts. L’ensemble des objets du Référentiel Arrêts déclarés actifs ou encore référencés par une offre est publié.

 Ce fichier est publié uniquement dans l'Export Offre IDF. 

Modélisation des données métier échangées

Les données sont échangées selon la norme NeTEx et s'appuient sur le Profil d’échange IDF défini par Île-de-France Mobilités. Les schémas suivant présentent les objets publiés par BO Offre Théorique.

Les objets représentés sont regroupés dans des cadres de version (ou ‘Frames’) qui servent de conteneurs pour transporter les objets. 

Chaque cadre de version est identifié par une couleur distincte : 

  • NETEX_LIGNE (raccourci de FR1:TypeOfFrame:NETEX_OFFRE_LIGNE:)

  • NETEX_STRUCTURE (raccourci de FR1:TypeOfFrame:NETEX_STRUCTURE:)

  • NETEX_HORAIRE (raccourci de FR1:TypeOfFrame:NETEX_HORAIRE:)

  • NETEX_CALENDRIER (raccourci de FR1:TypeOfFrame:NETEX_CALENDRIER:)

  • NETEX_COMMUN (raccourci de FR1:TypeOfFrame:NETEX_COMMUN:) 



Pour les données Référentiel Ligne et Référentiel Arrêts, seuls les cadres de versions sont indiqués dans la suite de ce document. Leur contenu sera similaire aux sorties des web-services des Référentiels. Cela concerne les cadres suivants : 

  • NETEX_ARRET_IDF (raccourci de FR1:TypeOfFrame:NETEX_ARRET_IDF:) 

  • NETEX_IDF (raccourci de FR1:TypeOfFrame:NETEX_IDF:)

 

Données NeTEx publiées

Les données caractérisant les cadres de version de chaque fichier (illustrés en vert et en orange dans les schémas Contenu des publications) sont précisées dans les chapitres suivants.

Données d’offre

Les frames suivantes sont publiées aussi bien pour l’offre complète que pour une offre par ligne. 

Fichier commun.xml

Organisation et hiérarchie du cadre de version

Dans celui-ci ne seront traités que des objets de type ‘NOTICE’, ‘ORGANISATIONAL_UNIT’, ‘BOOKING ARRANGEMENT' et 'FLEXIBLE STOP PLACE’. 

Seules les notes portant sur les courses sont inclues dans le fichier commun.xml (notes produites dans le BO Offre Théorique). Les notes portant sur une ligne entière (produites depuis les IHM du Référentiel Ligne) sont dans le cadre NETEX_COMMUN du fichier ligne(s).xml

Description de la General Frame :  NETEX_COMMUN

Donnée

Type

Cardinalité

Description

(E) id

ObjectIdType

1:1

[CODESPACE BO]:GeneralFrame: NETEX_COMMUN-AAAAMMJJThhmmssZ:LOC

(EIV) version

VersionIdType

1:1

Version de la NT60

dataSourceRef

DataSourceIdType

0:1

FR1-OFFRE_AUTO

TypeOfFrameRef

TypeOfFrameRef

0:1

FR1:TypeOfFrame:NETEX_COMMUN:

members

EntityInFrame

0 :*

Contient la liste des objets publiés dans la Frame (voir ci-après)

Objet : NOTICE (Note) : Un texte à vocation informationnelle, en général concernant des exceptions d'utilisation, et rattaché dans le cadre du fichier commun.xml à SERVICE JOURNEY (Courses)

Donnée

Type

Cardinalité

Description

(E) id

ObjectIdType

1:1

[CODESPACE]:Notice:[Id technique]:LOC

(EIV) version

VersionIdType

1:1

Version fixé à any

Text

MultilingualString

0:1 1:1

Texte de la NOTICE (note)

PublicCode

xsd:normalizedString

1:1

Code publique de la NOTICE (note)

TypeOfNoticeRef

TypeOfNoticeRef

1:1

Type de Notice : Seule les notices de type ‘ServiceJourneyNotice’ sont publiées ici.

Les notices de type 'LineNotice' sont publiées dans le fichier ligne(s).xml (informations issues du Référentiel Lignes)


Exemple de restitution de l’objet "NOTICE" au niveau d’un média IV (fiche horaire) :

La référence à la note ("NoticeAssignement") se trouve au niveau de l'objet SERVICE JOURNEY (Course), présent dans le(s) fichier(s) offre_[ID Ligne C]_[Nom Ligne C].xml publiés dans le même dossier. 

Objet : ORGANISATIONAL_UNIT (Unité organisationnelle) : Entité productrice de données, son identifiant correspond aux références DatasourceRef des objets publiés

Donnée

Type

Cardinalité

Description

(E) id

ObjectIdType

1:1

FR1:OrganisationalUnit:[Id technique]:

(EIV) version

VersionIdType

1:1

Version fixé à any

Name

MultilingualString

0:1

Nom de l’organisation

TypeOfOrganisationPartRef

TypeOfOrganisation­PartRef

0:1 1:1

FR1_Organisation

Objet : BOOKING ARRANGEMENT (Conditions de réservation) : L’ensemble des conditions de réservation d’une offre de transport à la demande.

EN ATTENTE DE CONFIRMATION

Donnée

Type

Cardinalité

Description

(E) id

ObjectIdType

1:1

Identifiant de la note

Préconisation : [CODESPACE]:BookingArrangement:[id interne]:LOC

(EIV) version

VersionIdType

1:1

Version unique ou ’any’

(E) Name

MultilingualString

1:1

Nom des Conditions de réservation (BOOKING ARRANGEMENT)

BookingContact

ContactDetails

0:1

Informations générales de contact du service de réservation (contient un numéro de téléphone, généralement le Service client, et un lien vers le site web du service).

BookingMethods

BookingMethodEnum

1:*

Méthode de réservation à utiliser (plusieurs valeurs possibles):

  • callDriver (appeler le conducteur)

  • callOffice (appeler un centre d’appel)

  • online (via Internet)

  • other (autre)

  • phoneAtStop (par téléphone à l’arrêt)

  • text (envoyer un message SMS pour réserver)

  • none

Il faut au moins une valeur, a priori online si BookingUrl est défini.

BookingAccess

BookingAccessEnum

0:1

Précise qui peut faire la réservation:

  • public (tout le monde)

  • authorisedPublic (personnes autorisée)

  • staff (le personnel d’exploitation)

  • other

BookWhen

PurchaseWhenEnumeration

1:1

Précise quand la reservation peut-être faite

Ce document est la propriété d'enRoute et ne peut être reproduit sans son accord écrit