Aller au contenu

Fichier de configuration

gapline lit sa configuration depuis des fichiers TOML. Les clés inconnues sont rejetées : une faute de frappe dans une section ou un champ produit une erreur de parse avec le chemin du fichier fautif. Voir premiers pas / configuration pour le fonctionnement de la chaîne de lookup.

Cette page documente toutes les clés acceptées. Certaines sont des stubs forward-compat — elles se désérialisent proprement mais ne sont pas encore consommées par le runtime. Documentées pour l’exhaustivité ; deviendront actives au fur et à mesure des features.

[default]
[validation]
[validation.thresholds.speed_limits]
[validation.thresholds.distances]
[validation.thresholds.time]
[validation.thresholds.coordinates]
[validation.thresholds.calendar]
[validation.thresholds.naming]
[performance]
[output]
[batch]
[experimental]

Toute section peut être omise — chaque clé a un défaut.

Défauts pour les arguments CLI omissibles.

CléTypeDéfautDescription
feedcheminChemin du flux utilisé quand --feed est omis. ZIP ou répertoire.
formatstringFormat : text, json, csv, xml, html. Surchargé par --format.
outputcheminDestination de sortie quand --output est omis. Par commande.

Sélection de règles et comportement global.

CléTypeDéfautDescription
min_severityerror|warning|infoFiltre les anomalies sous ce niveau. Surchargé par --min-severity.
disabled_rulestableau de string[]IDs de règles à sauter. CLI --disable-rule ajoute à cette liste.
max_rowsentierLignes max par fichier (consommé par TooManyRowsRule). Omettre pour désactiver.
fail_fastbooléenfalseForward-compat. Pas encore câblé.
max_errors_per_ruleentierForward-compat. Pas encore câblé.
enabled_rulestableau de string[]Forward-compat. Pas encore câblé.

Vitesses max par type de ligne en km/h. Consommées par speed_validation.

CléTypeDéfautS’applique à route_type
tram_kmhnombre150.00
subway_kmhnombre150.01
rail_kmhnombre500.02
bus_kmhnombre150.03
ferry_kmhnombre150.04
cable_tram_kmhnombre30.05
aerial_lift_kmhnombre50.06
funicular_kmhnombre50.07
trolleybus_kmhnombre150.011
monorail_kmhnombre150.012
default_kmhnombre150.0Types étendus / inconnus

Chaque valeur doit être un nombre fini strictement positif.

Seuils de distance en mètres.

CléTypeDéfautDescription
max_stop_to_shape_distance_mnombre100.0Distance max d’un arrêt à son point de tracé le plus proche.
min_shape_point_distance_mnombre1.11Espacement minimal entre points de tracé consécutifs.
shape_dist_incoherence_rationombre0.5Tolérance pour l’incohérence shape_dist_traveled. Doit être dans [0, 1].
max_transfer_distance_mnombre10000.0Borne sup sur la distance dérivée de transfers.min_transfer_time.
transfer_distance_warning_mnombre2000.0Seuil d’avertissement. Doit être ≤ max_transfer_distance_m.

Toutes les valeurs doivent être finies et non négatives.

CléTypeDéfautDescription
max_trip_duration_hoursentier24Durée max d’un trajet. Omettre pour désactiver. Doit être > 0.
CléTypeDéfautDescription
min_distance_from_origin_mnombre1000.0Rejette les coordonnées à moins de X mètres de 0/0.
min_distance_from_poles_mnombre1000.0Rejette les coordonnées à moins de X mètres d’un pôle.
CléTypeDéfautDescription
min_feed_coverage_daysentier30Couverture calendrier minimale. Doit être > 0.
feed_expiration_warning_daysentier7Avertit quand le flux expire dans moins de X jours.
min_trip_activity_daysentier7Signale les trajets actifs moins de X jours.
CléTypeDéfautDescription
max_route_short_name_lengthentier12Avertit quand route_short_name dépasse X caractères. Doit être > 0.
CléTypeDéfautDescription
num_threadsentierTaille du pool de workers. Auto-détecté si omis. Surchargé par --threads.
csv_buffer_sizeentier8192Taille du buffer du lecteur CSV en octets.
parallel_parsingbooléentrueForward-compat. Pas encore câblé.
parallel_validationbooléentrueForward-compat. Pas encore câblé.
CléTypeDéfautDescription
force_colorbooléenfalseForce les couleurs ANSI. Surchargé par --force-color.
no_colorbooléenfalseSupprime les couleurs ANSI. Surchargé par --no-color.
show_progressbooléentrueAffiche les barres de progression pendant la validation.
verbosityquiet | normal | verbosenormalNiveau de verbosité des logs.
timestamp_formatnone | iso8601 | unix | relativenoneStyle de timestamp dans les en-têtes de rapport.
group_by_filebooléentrueRegroupe les anomalies par file_name dans le rapport text.
group_by_rulebooléenfalseRegroupe les anomalies par rule_id dans le rapport text.
CléTypeDéfautDescription
continue_on_errorbooléenfalsePrévu : continuer après échec d’une directive .gl.
echo_commandsbooléentruePrévu : afficher chaque directive sur stderr avant exécution.
CléTypeDéfautDescription
enabledbooléenfalseInterrupteur principal.
validate_flexbooléenfalseValidation GTFS-Flex prévue.
validate_fares_v2booléenfalseValidation GTFS Fares v2 prévue.
validate_geojsonbooléenfalseValidation des tracés GeoJSON prévue.
gapline.toml
[default]
feed = "./data/gtfs.zip"
format = "json"
output = "./reports/latest.json"
[validation]
disabled_rules = ["block_id_trip_overlap"]
min_severity = "warning"
max_rows = 5_000_000
[validation.thresholds.speed_limits]
rail_kmh = 320
bus_kmh = 120
[validation.thresholds.distances]
max_transfer_distance_m = 5000
transfer_distance_warning_m = 1500
[validation.thresholds.calendar]
min_feed_coverage_days = 60
feed_expiration_warning_days = 14
[performance]
num_threads = 4
csv_buffer_size = 32_768
[output]
show_progress = true
group_by_rule = true
verbosity = "normal"
timestamp_format = "iso8601"
  • Un fichier de config absent (l’une des trois couches) est ignoré silencieusement.
  • Un fichier existant non lisible (permission refusée, I/O) avorte avec code 3.
  • Un fichier avec TOML invalide ou clé inconnue avorte avec code 2 et un message incluant le chemin et le token fautif.
  • Une valeur sémantiquement invalide (vitesse négative, couverture calendrier nulle, seuils incohérents) avorte avec code 2 et un message citant le champ.

Voir concepts / codes de retour.