Configurer un traitement Import GTFS
Le GTFS (General Transit Feed Specification) est le format standard de description d'une offre de transport en commun : lignes, arrêts, itinéraires et horaires. Un jeu GTFS se présente toujours sous la forme d'une archive ZIP contenant une douzaine de fichiers texte, publiée par l'autorité de transport et mise à jour à chaque changement de l'offre. Le plugin Import GTFS télécharge cette archive et la convertit. Sa particularité, qui le distingue de tous les autres plugins : un seul ZIP produit plusieurs jeux de données — les tracés des lignes, les arrêts et les horaires de passage — reliés à un jeu parent.
Ce cours ne décrit que ce qui est propre à ce plugin. Pour la mécanique commune à tous les traitements (créer un traitement, choisir l'action, planifier, suivre les exécutions, gérer les permissions et les notifications), consultez le cours Programmer des mises à jour automatiques de données.
1. Prérequis
Il vous faut l'adresse de téléchargement de l'archive GTFS. Le point d'entrée en France est transport.data.gouv.fr, le Point d'Accès National aux données de transport, où chaque réseau publie son GTFS.
Cherchez-y votre réseau, puis, dans la section Données statiques, repérez la ressource au format GTFS [1]. Le bouton Télécharger [2] porte l'adresse à recopier : faites un clic droit dessus et copiez le lien, plutôt que de télécharger le fichier.
Préférez cette adresse à celle du fichier hébergé par le réseau lui-même : c'est un permalien, il continue de désigner la bonne archive après chaque republication — ce qui est précisément ce qu'attend un traitement périodique.
La fiche indique aussi la date de dernière modification et un éventuel nombre d'avertissements de validation : de quoi juger de la fraîcheur et de la qualité de la source avant de la brancher.
2. Configuration
Le formulaire du plugin s'organise en trois onglets : Source, Traitement et Jeux de données. L'onglet Source recueille l'adresse de téléchargement de l'archive GTFS.
2.1 L'adresse de l'archive
Collez l'adresse relevée à la section précédente dans le champ URL d'accès à l'archive GTFS [1]. Les protocoles acceptés sont HTTP, HTTPS et SFTP.
Les champs Utilisateur [2] et Mot de passe [3] ne servent qu'aux sources protégées, typiquement un dépôt SFTP privé. Un GTFS publié sur transport.data.gouv.fr est public : laissez-les vides. Pour un serveur SFTP authentifiant par clé, renseignez le champ Clé privée SSH et l'Utilisateur [2].
2.2 Les options du traitement et les jeux de données
Le téléchargement et la décompression de l'archive ZIP sont entièrement automatiques. Les deux autres onglets du formulaire portent les réglages du plugin :
- L'onglet Traitement active par défaut la validation de l'archive via le service officiel de transport.data.gouv.fr, avec une tolérance pour les avertissements non bloquants.
- L'onglet Jeux de données configure la création des quatre jeux de données (Métadonnées, Arrêts, Horaires, Tracés) à partir du titre de base, et permet d'y associer l'URL d'un flux GTFS-RT (VehiclePositions) pour les données en temps réel.
Pour une archive GTFS standard telle que celle de Kicéo, les valeurs par défaut conviennent parfaitement : il suffit d'enregistrer le formulaire.
3. Résultat
3.1 Les jeux de données produits
C'est ici que le plugin GTFS se distingue de tous les autres : une exécution ne produit pas un jeu de données, mais quatre.
- [1] Le jeu parent — en métadonnées seules, sans lignes. Il porte l'archive GTFS d'origine en pièce jointe et sert de point de rattachement aux trois autres.
- [2]
- horaires(stop-times) — les horaires de passage : quel véhicule dessert quel arrêt, à quelle heure et dans quel ordre. C'est de loin le plus volumineux des quatre. - [3]
- arrêts(stops) — les arrêts, en points géolocalisés, avec leur nom, leur code et les lignes qui les desservent. - [4]
- tracés(shapes) — les tracés des lignes, en géométries. Chaque enregistrement est un itinéraire, avec le nom court et le nom long de la ligne ainsi que sa couleur officielle.
⚠️ L'archive contient une douzaine de fichiers, mais le plugin n'en publie que trois. Les autres (agency.txt, routes.txt, trips.txt, calendar.txt…) ne disparaissent pas pour autant : leur contenu utile est recopié dans les jeux produits. Le nom et la couleur des lignes se retrouvent dans shapes, les lignes desservies dans stops, l'origine, la destination et les jours de circulation dans stop-times. Ne cherchez donc pas un jeu « lignes » ou un jeu « calendrier » : l'information y est déjà.
Si vous repassez le traitement en Mettre à jour les jeux de données, chaque ressource (Métadonnées, Arrêts, Horaires, Tracés) est associée à son jeu de données existant.
3.2 La carte du réseau
Le jeu - shapes étant géographique, il s'affiche directement sur une carte, sans configuration. Voici le réseau Kicéo tel qu'il ressort de l'archive — 503 tracés autour de Vannes et du Golfe du Morbihan.
Le jeu - stops se prête au même traitement et donne la carte des arrêts. À partir de là, les visualisations de la plateforme s'appliquent normalement.
🗺️ Ces trois jeux sont faits pour être exploités ensemble : les tracés des lignes, les arrêts et les horaires se superposent sur une même carte. Le cours Visualiser des données GTFS sur une carte reprend là où celui-ci s'arrête : poser les concepts arrêt de bus et ligne de bus, puis configurer l'atelier cartographique en calques.
Si vous avez des remarques sur ce cours, n'hésitez pas à nous les communiquer.