Paramètres d'un Partenaire d'Échange

Paramètres d'un Partenaire d'Échange

Cette page est la référence exhaustive des paramètres d’un partenaire d’échange. Pour configurer un partenaire selon votre cas (collecte/diffusion, SIRI/GTFS-RT), partez des Guides Ara, qui indiquent les connecteurs et paramètres de chaque scénario ; cette page détaille ensuite chaque paramètre.

Paramètres obligatoires en fonction du type de connecteur

Les paramètres obligatoires dépendent du sens de l'échange — collecte (Ara est client) ou diffusion (Ara est serveur) — et du mode (requête / abonnement).

L'absence d'un paramètre obligatoire provoque une erreur de validation lors de la création ou de la mise à jour du partenaire.

Légende : ✓ = obligatoire · case vide = non requis.

Connecteurs SIRI

Sens

Mode

remote_code_space

remote_url

remote_credential

local_credential

Sens

Mode

remote_code_space

remote_url

remote_credential

local_credential

Collecte

Requête

 

Collecte

Abonnement

Diffusion

Requête

 

 

Diffusion

Abonnement

S'applique à tous les services SIRI : StopMonitoring, EstimatedTimetable, VehicleMonitoring, GeneralMessage, SituationExchange, FacilityMonitoring, ProductionTimetable, StopPointsDiscovery, LinesDiscovery. Les services Discovery n'existent qu'en mode Requête.

GTFS-RT

Connecteur(s)

Sens

remote_code_space

remote_url

Connecteur(s)

Sens

remote_code_space

remote_url

GTFS-RT collector

Collecte

Trip Updates / Vehicle Positions / Service Alerts Broadcaster

Diffusion

 

GTFS-RT fonctionne uniquement par interrogation (pas de mode abonnement). local_credential est optionnel en diffusion (clé d'API privée).

CheckStatus

Connecteur

remote_url

remote_credential

local_credential

Connecteur

remote_url

remote_credential

local_credential

SIRI CheckStatus Client — Ara interroge le statut du serveur distant

 

SIRI CheckStatus Server — Ara répond aux CheckStatus entrants

 

 

Autres connecteurs

Connecteur

remote_code_space

local_credential

Connecteur

remote_code_space

local_credential

GraphQL server

 

Push Collector

L'identifiant technique d'un connecteur (utilisé via l'API et dans les paramètres <connecteur>.xxx) est visible dans l'interface et listé dans Liste des paramètres. Exemple : SIRI EstimatedTimetable Request Broadcastersiri-estimated-timetable-request-broadcaster.

Format des paramètres

Tous les paramètres sont des chaînes de caractères, mais peuvent être interprétés comme entiers, tableaux, etc.

Type

Description

Exemple

Type

Description

Exemple

int

Entier. Une valeur incorrecte est interprétée comme 0.

456

bool

Booléen : true ou false. Une valeur incorrecte est interprétée comme false.

true

string

Chaîne de caractères.

external

[]string

Tableau de chaînes de caractères séparées par des virgules.

token1,token2

duration

Nombres décimaux (éventuellement signés) décrivant une durée, suivis d'une unité. Unités : ns, us (ou µs), ms, s, m, h.

300ms, -1.5h, 2h45m

Liste des paramètres

 

Paramètres de connexion

Ara effectue ses requêtes en OAuth si les 3 paramètres remote_authentication.oauth.client_id, remote_authentication.oauth.client_secret et remote_authentication.oauth.token_url sont définis. Le paramètre remote_authentication.oauth.scopes est à ajouter s'il est requis par le serveur OAuth.

Nom

Type

Description

Nom

Type

Description

local_credential

string

Token identifiant les requêtes entrantes ; doit être unique parmi les Partenaires d'un même référentiel

local_credentials

[]string

Liste de tokens identifiant les requêtes entrantes ; chacun doit être unique (par référentiel). S'additionne à un éventuel token défini dans local_credential

remote_credential

string

Identifiant d'Ara : RequestorRef de ses requêtes (collecte), ProducerRef de ses réponses et notifications (diffusion)

remote_authentication.oauth.client_id

string

Identifiant utilisé pour récupérer le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.client_secret

string

Secret utilisé pour récupérer le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.token_url

string

Adresse où le client HTTP d'Ara récupère le Token lors d'échanges utilisant OAuth

remote_authentication.oauth.scopes

[]string

Liste de scopes pour récupérer le Token lors d'échanges utilisant OAuth

siri.credential.header

string

Nom de l'en-tête HTTP dans lequel Ara place son credential (remote_credential) lors des appels SIRI / SIRI-Lite sortants

local_url

string

Adresse d'Ara envoyée dans le paramètre SIRI Address

remote_url

string

Adresse du partenaire distant

notifications.remote_url

string

Adresse à laquelle envoyer les notifications d'abonnement. En l'absence de ce paramètre, remote_url est utilisé

subscriptions.remote_url

string

Adresse à laquelle envoyer les demandes d'abonnement. En l'absence de ce paramètre, remote_url est utilisé

partner.status.maximum_retry

int

Nombre de CheckStatus consécutifs au statut Unknown avant de passer le statut du partenaire à Unknown

rate_limit_per_ip

int

Limite le nombre de requêtes par minute et par adresse IP reçues par Ara pour un partenaire

http.custom_headers

[]string

En-têtes HTTP spécifiques inclus dans chaque requête SIRI / SIRI-Lite du partenaire. Format : clef=valeur séparés par des virgules. Exemple : key1=value1,key2=value2,..

Paramètres d’identifiants

Ces paramètres définissent les espaces de code (types d'identifiants) utilisés pour faire correspondre les données échangées avec le partenaire. Chaque paramètre est surchargeable pour un connecteur de diffusion en le préfixant par l'identifiant du connecteur — ex. siri-stop-monitoring-request-broadcaster.remote_code_space.

Nom

Type

Description

Nom

Type

Description

remote_code_space

string

Espace de code par défaut utilisé pour les échanges avec le partenaire

vehicle_journey_remote_code_space

[]string

Espace(s) de code pour les identifiants de courses

vehicle_remote_code_space

[]string

Espace(s) de code pour les identifiants de véhicules

  • gtfs-rt-trip-updates-broadcaster

  • gtfs-rt-vehicle-positions-broadcaster

  • siri-estimated-timetable-request-broadcaster

  • siri-estimated-timetable-subscription-broadcaster

  • siri-general-message-request-broadcaster

  • siri-general-message-subscription-broadcaster

  • siri-lines-discovery-request-broadcaster

  • siri-lite-vehicle-monitoring-request-broadcaster

  • siri-production-timetable-subscription-broadcaster

  • siri-stop-monitoring-request-broadcaster

  • siri-stop-monitoring-subscription-broadcaster

  • siri-stop-points-discovery-request-broadcaster

  • siri-estimated-timetable-request-broadcaster

  • siri-estimated-timetable-subscription-broadcaster

  • siri-production-timetable-subscription-broadcaster

  • siri-stop-monitoring-request-broadcaster

  • siri-stop-monitoring-subscription-broadcaster

  • siri-vehicle-monitoring-request-broadcaster

  • siri-vehicle-monitoring-subscription-broadcaster

  • siri-lite-vehicle-monitoring-request-broadcaster

  • gtfs-rt-trip-updates-broadcaster

  • gtfs-rt-vehicle-positions-broadcaster

  • siri-vehicle-monitoring-request-broadcaster

  • siri-lite-vehicle-monitoring-request-broadcaster

  • gtfs-rt-trip-updates-broadcaster

  • gtfs-rt-vehicle-positions-broadcaster

 

Paramètres de format

Les générateurs d'identifiants (paramètres de type string) produisent les identifiants qu'Ara place dans ses messages SIRI. Chacun est une chaîne dans laquelle on insère des variables %{…} :

  • %{id} — l'identifiant du modèle concerné (ex. l'id d'un arrêt ; pour DataFrameRef, c'est la date du modèle, AAAA-MM-JJ) ;

  • %{type} — le type SIRI du modèle (StopArea, Line, VehicleJourney…) ;

  • %{uuid} — un identifiant unique généré à la volée.

Exemple : Operator:Stop::%{id}:LOC produit Operator:Stop::1234:LOC.

%{uuid} fonctionne dans tous les générateurs ; %{id} et %{type} dépendent du générateur (colonne « Attributs »). Si un paramètre est laissé vide, la valeur par défaut ci-dessous s'applique.

Générateur

Génère

Attributs

Défaut

Générateur

Génère

Attributs

Défaut

generators.message_identifier

Attribut SIRI MessageIdentifier

uuid

%{uuid}

generators.response_message_identifier

Attribut SIRI ResponseMessageIdentifier

uuid

%{uuid}

generators.data_frame_identifier

Attribut SIRI DataFrameRef

id, uuid

%{id}

generators.reference_identifier

Générateur par défaut (catch-all) : toute référence SIRI à un modèle (réécrit, ou sans code du bon type) qui n'a pas de générateur dédié

type, id, uuid

%{type}:%{id}

generators.reference_stop_area_identifier

Références aux arrêts (StopArea) introuvables dans Ara

id, uuid

%{id}

generators.reference_vehicle_journey_identifier

Références aux courses (VehicleJourney) — sinon, utilise le générateur Reference

id, uuid

générateur Reference

generators.subscription_identifier

Identifiants d'abonnement émis par Ara

id, uuid

%{id}

 

Nom

Type

Description

Nom

Type

Description

siri.envelope

string

Type d'enveloppe des messages SIRI. Par défaut soap (laisser vide) ; ne définir raw que pour une enveloppe non-SOAP.

Paramètres de collecte

Par défaut, la collecte n'est pas restreinte. Pour la limiter à un périmètre précis, on définit des listes :

  • include_… : ne collecter que les modèles listés ;

  • exclude_… : collecter tout sauf les modèles listés.

Ces listes existent pour les lignes, les arrêts et les équipements ; elles acceptent aussi des groupes (groupes de lignes, groupes d'arrêts). Les identifiants employés dans ces listes sont exprimés dans l'espace de code remote_code_space du Partenaire.

Filtrage des modèles collectés

Modèle

include_… (liste blanche)

exclude_… (liste noire)

Modèle

include_… (liste blanche)

exclude_… (liste noire)

Lignes

collect.include_lines

collect.exclude_lines

Groupes de lignes

collect.include_line_groups

collect.exclude_line_groups

Arrêts

collect.include_stop_areas

collect.exclude_stop_areas

Groupes d'arrêts

collect.include_stop_area_groups

collect.exclude_stop_area_groups

Équipements

collect.include_facilities

collect.exclude_facilities

Toutes ces listes sont de type []string (identifiants séparés par des virgules).

Comment les listes et les groupes se combinent

Un groupe est simplement un raccourci : au chargement de la configuration, Ara remplace chaque groupe par les arrêts (ou lignes) qu'il contient, puis ajoute ces modèles à la liste correspondante. Liste directe et groupes alimentent donc la même liste — rien n'est retranché. La même mécanique s'applique aux lignes (collect.include_lines / collect.include_line_groups).

include est prioritaire sur exclude. Dès qu'une liste include_… est non vide (qu'elle soit remplie directement ou via un groupe), elle bascule en liste blanche : seuls ses modèles sont collectés, et exclude_… est ignoré.