etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
192 stars 30 forks source link

Nettoyer et refactorer la partie web de la validation à la demande #3461

Open vdegove opened 1 year ago

vdegove commented 1 year ago

L’entrelac de contrôleurs, vues, liveview et templates qui permet d’accéder à la validation à la demande est complexe, et certains fichiers semblent avoir été oubliés lorsque la liveview a été créée.

L’état des lieux :

  1. Entrée principale avec formulaire : TransportWeb.Live.OnDemandValidationSelectLive (Liveview, donc pas de contrôleur)
  2. Une fois soumis : en cas d’upload de fichier, cette LiveView affiche un écran intermédiaire d’attente. Puis (upload ou URL) ça passe par ValidationController.Validate (plusieurs fonctions, pattern matching)
  3. Puis redirection :
    • Cas GBFS => vers GbfsAnalyzerController, qui ensuite, si c’est une URL, rend sa propre vue (route : get("/gbfs/analyze", GbfsAnalyzerController, :index)), et sinon, rend la liveview TransportWeb.Live.OnDemandValidationLive
    • Cas GTFS_RT (fonction validate à part) ou autres : redirection vers ValidationController.show qui lui même rend :
    • Cas GTFS : vue classique ValidationView (route get("/:id", ValidationController, :show))
    • Autres cas : rend liveview TransportWeb.Live.OnDemandValidationLive, qui présente un écran d’attente le temps que la validation passe, puis affiche les résultats, en faisant appel pour des composants à TransportWeb.ValidationView, qui lui-même rend des composants de TransportWeb.ResourceView.

Cela pourrait être un peu simplifié.

De plus, il semble y avoir du code mort :

vdegove commented 2 weeks ago

Retour utilisateur anonyme :

Explication : Malgré que l'outil semble très complet et bien fait, aucune indication sur les attentes de ce qui est demandé dans les champs. d'URL ou de fichiers. Egalement dommage de ne pas trouver sur cette page des informations concernant la structuration des données en fonction des différents types.

ptitfred commented 1 week ago

Retour utilisateur anonyme :

Explication : Malgré que l'outil semble très complet et bien fait, aucune indication sur les attentes de ce qui est demandé dans les champs. d'URL ou de fichiers. Egalement dommage de ne pas trouver sur cette page des informations concernant la structuration des données en fonction des différents types.

Je suis bien d'accord. On pourrait largement expliciter ce qu'on attend dans le formulaire d'upload pour chaque format. Par exemple pour NeTEx seuls les archives zip sont acceptées, mais une archive avec un seul fichier XML est tout à fait acceptable.