Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EPIC] Structuration technique des différentes normes (SIRI, NeTEx,...) #41

Closed
thbar opened this issue Dec 21, 2023 · 3 comments
Closed

Comments

@thbar
Copy link
Contributor

thbar commented Dec 21, 2023

Ce ticket reprend ce que j'ai proposé en terme de structuration technique/de travail au GT7 pour gérer tout ce qui va apparaître à terme sur https://normes.transport.data.gouv.fr.

Je ne suis pas membre du GT7, toutefois le PAN (https://transport.data.gouv.fr/) dont je fais partie a été mandaté pour épauler techniquement cette "migration" du processus de travail depuis des documents Word en "comité non accessible au public", au profit d'un travail sur des profils Markdown dans un mode collaboratif visible du public, pour faciliter autant la lecture des profils par le public, que le travail collaboratif ou encore la remontée de soucis permettant d'améliorer les rédactions etc.

Normes/profils/standards concernés

J'ai pour l'instant identifié 5 éléments qui doivent être gérés et versionnés de façon indépendante:

  1. https://github.com/etalab/transport-normes/tree/main/NeTEx (profil NeTEx France)
  2. https://github.com/etalab/transport-normes/tree/main/SIRI (profil SIRI France)
  3. "Page Chapeau Standard MAS" (https://pad.fabmob.io/qj_8AQ8KS_6LL8tw37loGQ?both#)
  4. "Standard Covoiturage - Open Carpooling Service Standard (OCSS)" (https://pad.fabmob.io/bSf2II5DQEOCS3xmycAzZQ?both#)
  5. "Standard Compte Mobilité Standardisé (pour le PAN)" (https://pad.fabmob.io/gcVLMNiATbyyZfnX5YfDBQ?both#)

Le GT7 gère les deux premiers sujets. Les trois autres sujets sont gérés par d'autres entités.

Le PAN souhaite pouvoir évidemment gérer cette multiplicité de façon "homogène" tant que possible, pour ne pas réinventer la roue!

N'apparaissent pas ici la partie "tarifs" et la partie "parking" du profil NeTEx France, mais qui seront a priori intégrés et versionés conjointement au profil lui-même, de la même façon que les annexes au profil.

Ce ticket matérialise les idées que j'avais décrite dans le ticket suivant:

Modèle de "découpe"

On aura 1 "repository" GitHub par "ensemble de documents versionnés ensemble" (typiquement, la totalité du profil NeTEx France sera versionné d'une seule voix).

Tout "commit" sur les branches master/main sera intégré dans la prochaine release (voir plus bas). Cela n'empêchera pas de "revenir en arrière" avant une release si on se rend compte qu'il y a un souci (incompatibilité entre les arrêts et autre chose, qui n'auraient pas avancé à la bonne vitesse etc).

=> à tout moment (idéalement), cohérence générale du repository, pour être capable de livrer (ou en tout cas, cohérence avant de faire la livraison)

Questions:

  • Est-ce que cela va fonctionner pour le GT7 ? -> réponse OUI en réunion
  • 1 version pour SIRI, 1 version pour NeTEx ? -> réponse OUI en réunion, travailler avec un numéro unique pour la totalité de NeTEx France, même si cela impose un peu de rigueur et de synchronisation avant les releases et pendant le travail, est préférable en terme de cohérence et aussi de compréhension des réutilisateurs (il serait compliqué d'avoir des versions différentes pour les arrêts vs les horaires, il faudrait alors une matrice de compatibilité etc)
  • Si pas, quel est le bon modèle ?

=> ✅ Principe général validé par le GT7 en session

Retours GT7

=> "acceptable mais il faut que les sous-profils soient cohérents 2 à 2" (ce que j'avais prévu)
=> "Je préfèrerai transport-profil-netex car il ne s'agit pas de normes" (on va voter un nommage précis, peut-être intégrer le -fr dedans pour pouvoir transposer à l'Europe après)
=> "[Question technique] est-ce que hugo (l'outil qui gènere le site web normes...) pourra être utilisé avec un seul repository (netex ou siri) quand on travaille en local ? Réponse -> oui avec un peu d'ajustements

Mes suggestions additionnelles venues en cours de route:

  • inspiration https://github.com/NeTEx-CEN/NeTEx (releases)
  • gestion par milestones pour organiser le travail sur une release, utile autant pour les contributeurs que pour le public
  • ne pas hésiter à noter "il faudra corriger les arrêts avant la prochaine release" etc (créer des tickets pour ne rien oublier)
  • bien normer les numéros de versions pour "calculer" facilement quelle est la dernière version
  • preview facile "d'une branche donnée" SVP
  • les sous-profils ont des versions disjointes, il "suffira" de choisir un numéro de version commune, ET de communiquer dessus (idéalement une numérotation clairement "au dessus" pour homogénéiser)

Notes:

  • PR avec commentaires -> auto-changelog

Tâches nécessaires

Attention - "ordonnancement non contractuel"

  • (PAN) Déplacer le contenu SIRI vers un autre repository
    • Pourquoi ? Car l'activité du repository (hormis la PR) concerne largement le NeTEx, donc il est plus simple de ne pas déplacer le NeTEx
    • Finaliser Intégration profil SIRI France v1.7 #32
      • (GT7) Validation
      • (PAN) modifications techniques (css)
      • (PAN) Publication en l'état
  • Création d'une "release" GitHub (tag/release) sur ce nouveau repo pour marquer la v1.7
  • Renommage de "transport-normes" en "transport-normes-netex"
  • Création d'une "release" pour marquer la version actuelle du NeTEx

Puis:

  • (PAN) Préparer une évolution du site capable de:
    • Récupérer la dernière "release" de NeTEx
    • Récupérer la dernière "release" de SIRI
    • Publier les deux ensemble

Puis:

  • (GT7) définir le workflow souhaité sur chaque repository (combien d'approvals? etc) - pour les merges mais aussi pour les releases
  • (GT7) Définir les personnes : Thierry, Christophe, Alban, Tu-tho, Noémie
  • (PAN) aider à mettre en place ces contraintes techniques

Puis:

  • Déterminer le niveau d'urgence sur les 3 pads, et fixer un plan similaire

Puis:

  • Mettre en place une solution technique permettant d'afficher la "version en cours de travail" de chaque profil (via le site idéalement, ou via des "previews", à définir)
  • Idem pour les anciennes versions
  • Il est souhaitable d'avoir quelque chose qui fonctionne automatiquement à chaque PR
@TuThoThai
Copy link
Collaborator

A noter que la partie "parking" du profil NeTEx France est gérée par le GT9

@thbar thbar changed the title Structuration technique des différentes normes (SIRI, NeTEx,...) [Epic] Structuration technique des différentes normes (SIRI, NeTEx,...) Jan 23, 2024
@thbar thbar changed the title [Epic] Structuration technique des différentes normes (SIRI, NeTEx,...) [EPIC] Structuration technique des différentes normes (SIRI, NeTEx,...) Jan 23, 2024
@thbar
Copy link
Contributor Author

thbar commented Jan 25, 2024

@TuThoThai vu qu'on a retranscrit la totalité de ce qui est était dans ce "ticket fondateur" vers https://github.com/orgs/etalab/projects/35/views/, je te propose de fermer ici. Ok pour toi ?

@TuThoThai
Copy link
Collaborator

Validé pour la clôture de ce "ticket fondateur".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants