Aller au contenu

GTFS Schedule

La spĂ©cification GTFS n’est pas gravĂ©e dans le marbre. Il s’agit plutĂŽt d’une spĂ©cification ouverte dĂ©veloppĂ©e et maintenue par la communautĂ© des agences de transport en commun, des dĂ©veloppeurs et d’autres parties prenantes qui utilisent GTFS. On s’attend Ă  ce que cette communautĂ© de producteurs et de consommateurs de donnĂ©es GTFS ait des propositions pour Ă©tendre la spĂ©cification afin de permettre de nouvelles capacitĂ©s. Pour faciliter la gestion de ce processus, les procĂ©dures et lignes directrices suivantes ont Ă©tĂ© Ă©tablies.

La spĂ©cification officielle, la rĂ©fĂ©rence et la documentation sont rĂ©digĂ©es en anglais. Si une traduction dans une autre langue diffĂšre de l’original anglais, ce dernier prĂ©vaut. Toutes les communications sont effectuĂ©es en anglais.

Processus de modification des spécifications

  1. Créer une branche git avec les changements dans les fichiers de définition de protocole, de spécification et de documentation (sauf pour les traductions).
  2. Créez une pull request sur https://github.com/google/transit. La pull request doit contenir une description détaillée du correctif. Le créateur de la pull request devient l'advocate.
  3. Une fois la pull request enregistrĂ©e, elle doit ĂȘtre annoncĂ©e par son advocate dans la liste de diffusion GTFS Changes, incluant un lien vers la pull request. Une fois annoncĂ©e, la pull request est considĂ©rĂ©e comme une proposition. La pull request doit Ă©galement ĂȘtre modifiĂ©e pour contenir un lien vers l’annonce de Google Groupes afin qu’elle puisse facilement ĂȘtre rĂ©fĂ©rencĂ©e.
  4. Une discussion sur la proposition s'en suit. Les commentaires des pull requests doivent ĂȘtre utilisĂ©s comme seul forum de discussion.
    • La discussion dure aussi longtemps que l’advocate l’estime nĂ©cessaire, mais doit durer au moins 7 jours calendaires.
    • L’advocate est responsable de la mise Ă  jour en temps opportun de la proposition (c’est-Ă -dire de la pull request) sur la base des commentaires pour lesquels il est d'accord.
    • A tout moment, l’advocate peut rĂ©clamer l’abandon de la proposition.
  5. L’advocate peut demander un vote sur une version de la proposition à tout moment aprùs l’intervalle initial de 7 jours requis pour la discussion.
    • Avant de demander un vote, au moins un producteur GTFS et une application rĂ©utilisatrice GTFS doivent mettre en Ɠuvre le changement proposĂ©. Il est prĂ©vu que le ou les producteurs GTFS incluent la modification dans un flux GTFS public et fournissent un lien vers ces donnĂ©es dans les commentaires de la pull request, et que le ou les application rĂ©utilisatrice GTFS fournissent un lien dans les commentaires de la pull request vers une application qui utilise le changement d’une maniĂšre non triviale (c’est-Ă -dire qu’elle prend en charge des fonctionnalitĂ©s nouvelles ou amĂ©liorĂ©es).
  6. Le vote dure la période minimale suffisante pour couvrir 14 jours calendaires complets. Le vote se termine à 23:59:59 UTC.
    • L’advocate doit annoncer l’heure prĂ©cise de fin au dĂ©but du vote.
    • Pendant la pĂ©riode de vote, seules les modifications rĂ©dactionnelles de la proposition sont autorisĂ©es (fautes de frappe, la formulation peut changer tant qu’elle n’en change pas le sens).
    • Tout le monde est autorisĂ© Ă  voter oui/non sous forme de commentaire sur la pull request, et les votes peuvent ĂȘtre modifiĂ©s jusqu’à la fin de la pĂ©riode de vote. Si un Ă©lecteur modifie son vote, il est recommandĂ© de le faire en mettant Ă  jour le commentaire de vote original en barrant le vote et en Ă©crivant le nouveau vote.
    • Les votes avant le dĂ©but de la pĂ©riode de vote ne sont pas pris en compte.
    • L’ouverture et la clĂŽture des votes doivent ĂȘtre annoncĂ©es sur la liste de diffusion GTFS Changes.
  7. La proposition est acceptĂ©e s’il y a un consensus unanime oui avec au moins 3 voix.
    • Le vote de l'advocate ne compte pas dans le total des 3 voix. Par exemple, si l'advocate X crĂ©e une pull request et vote oui, et que les utilisateurs Y et Z votent oui, cela compte pour 2 votes oui au total.
    • Les votes contre doivent ĂȘtre justifiĂ©s et, idĂ©alement, fournir des retours constructifs.
    • Si le vote Ă©choue, l’advocate peut alors choisir de poursuivre les travaux sur la proposition ou d’abandonner la proposition. L’une ou l’autre dĂ©cision de l’advocate doit ĂȘtre annoncĂ©e dans la liste de diffusion GTFS Changes.
    • Si l’advocate poursuit le travail sur la proposition, un nouveau vote peut ĂȘtre demandĂ© Ă  tout moment.
  8. Toute pull request restant inactive pendant 30 jours calendaires sera clĂŽturĂ©e. Lorsqu’une pull request est fermĂ©e, la proposition correspondante est considĂ©rĂ©e comme abandonnĂ©e. L’advocate peut rouvrir la pull request Ă  tout moment s’il souhaite poursuivre ou maintenir la conversation.
  9. Si la proposition est acceptée :
    • Google s’engage Ă  merger la version votĂ©e de la pull request (Ă  condition que les contributeurs aient signĂ© la CLA), et en effectuant la pull request dans les 5 jours ouvrables.
    • Les traductions ne doivent pas ĂȘtre incluses dans la pull request originale. Google est responsable de la mise Ă  jour Ă©ventuelle des traductions pertinentes dans les langues prises en charge, mais les demandes de traduction pure de la communautĂ© sont les bienvenues et seront acceptĂ©es dĂšs que tous les commentaires Ă©ditoriaux auront Ă©tĂ© pris en compte.
  10. Le rĂ©sultat final de la pull request (acceptĂ©e ou abandonnĂ©e) doit ĂȘtre annoncĂ© sur le mĂȘme fil de discussion Google Groupes oĂč la pull request a Ă©tĂ© initialement annoncĂ©e.

Principes directeurs

Afin de prĂ©server la vision originale de GTFS, un certain nombre de principes directeurs sont Ă  prendre en considĂ©ration lors de l’extension de la spĂ©cification :

Les flux doivent ĂȘtre faciles Ă  crĂ©er et modifier
Nous avons choisi CSV comme base de spĂ©cification car il est facile Ă  visualiser et Ă  modifier Ă  l’aide de tableurs et d’éditeurs de texte, ce qui est utile pour les petites agences. Il est Ă©galement simple Ă  gĂ©nĂ©rer Ă  partir de la plupart des langages de programmation et des bases de donnĂ©es, ce qui est idĂ©al pour les Ă©diteurs de flux plus volumineux.

Les flux doivent ĂȘtre faciles Ă  analyser
Les lecteurs de flux doivent ĂȘtre capables d’extraire les informations qu’ils recherchent avec le moins de travail possible. Les modifications et ajouts au flux doivent ĂȘtre aussi largement utiles que possible, afin de minimiser le nombre de chemins de code que les lecteurs du flux doivent implĂ©menter. (Cependant, il convient de donner la prioritĂ© Ă  la facilitĂ© de crĂ©ation, car il y aura finalement plus d’éditeurs de flux que de lecteurs de flux.)

La spécification concerne les informations sur les passagers
GTFS s’occupe principalement de l’information des passagers. Autrement dit, la spĂ©cification doit inclure des informations qui peuvent avant tout aider les outils destinĂ©s Ă  l'information voyageur. Il existe potentiellement une grande quantitĂ© d’informations opĂ©rationnelles que les agences de transport en commun pourraient souhaiter transmettre en interne entre les systĂšmes. GTFS n’est pas destinĂ© Ă  cet objectif et il existe potentiellement d’autres normes de donnĂ©es orientĂ©es vers les opĂ©rations qui pourraient ĂȘtre plus appropriĂ©es.

Les modifications apportĂ©es Ă  la spĂ©cification doivent ĂȘtre rĂ©trocompatibles
Lors de l’ajout de fonctionnalitĂ©s Ă  la spĂ©cification, nous souhaitons Ă©viter d’apporter des modifications qui rendraient invalides les flux existants. Nous ne voulons pas crĂ©er davantage de travail pour les Ă©diteurs de flux existants qui ne souhaiteraient pas ajouter des fonctionnalitĂ©s Ă  leurs flux. De plus, dans la mesure du possible, nous souhaitons que les lecteurs de flux existants puissent continuer Ă  lire les anciennes parties des flux les plus rĂ©cents.

Les fonctionnalités spéculatives sont déconseillées
Chaque nouvelle fonctionnalitĂ© ajoute de la complexitĂ© Ă  la crĂ©ation et Ă  la lecture des flux. Par consĂ©quent, nous voulons veiller Ă  n’ajouter que des fonctionnalitĂ©s que nous savons utiles. IdĂ©alement, toute proposition aura Ă©tĂ© testĂ©e en gĂ©nĂ©rant des donnĂ©es pour un systĂšme de transport en commun rĂ©el qui utilise la nouvelle fonctionnalitĂ© et en implĂ©mentant un systĂšme pour la lire et l’afficher. Notez que le GTFS permet facilement des extensions du format grĂące Ă  l’ajout de colonnes et de fichiers supplĂ©mentaires qui sont ignorĂ©s par les lecteurs de flux et validateurs officiels, de sorte que les propositions peuvent ĂȘtre facilement prototypĂ©es et testĂ©es sur les flux existants.