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 |
|
|
|
|
|---|---|---|---|---|---|
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 |
|
|
|---|---|---|---|
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 |
|
|
|
|---|---|---|---|
SIRI CheckStatus Client — Ara interroge le statut du serveur distant | ✓ | ✓ |
|
SIRI CheckStatus Server — Ara répond aux CheckStatus entrants |
|
| ✓ |
Autres connecteurs
Connecteur |
|
|
|---|---|---|
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 Broadcaster → siri-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 |
|---|---|---|
| Entier. Une valeur incorrecte est interprétée comme |
|
| Booléen : |
|
| Chaîne de caractères. |
|
| Tableau de chaînes de caractères séparées par des virgules. |
|
| Nombres décimaux (éventuellement signés) décrivant une durée, suivis d'une unité. Unités : |
|
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 |
|---|---|---|
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 |
remote_credential | string | Identifiant d'Ara : |
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 ( |
local_url | string | Adresse d'Ara envoyée dans le paramètre SIRI |
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, |
subscriptions.remote_url | string | Adresse à laquelle envoyer les demandes d'abonnement. En l'absence de ce paramètre, |
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 : |
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 |
|---|---|---|
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 |
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 ; pourDataFrameRef, 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 |
|---|---|---|---|
generators.message_identifier | Attribut SIRI |
|
|
generators.response_message_identifier | Attribut SIRI |
|
|
generators.data_frame_identifier | Attribut SIRI |
|
|
generators.reference_identifier | Générateur par défaut (catch-all) : toute référence SIRI à un modèle (réécrit, ou sans |
|
|
generators.reference_stop_area_identifier | Références aux arrêts (StopArea) introuvables dans Ara |
|
|
generators.reference_vehicle_journey_identifier | Références aux courses (VehicleJourney) — sinon, utilise le générateur |
| générateur Reference |
generators.subscription_identifier | Identifiants d'abonnement émis par Ara |
|
|
Nom | Type | Description |
|---|---|---|
siri.envelope | string | Type d'enveloppe des messages SIRI. Par défaut |
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) |
|---|---|---|
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é.