etalab / transport-site

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

Ressource "temps réel" Möbius marquée comme "non disponible" #1538

Closed thbar closed 3 years ago

thbar commented 3 years ago

Après ajout de la ressource temps réel pour ce dataset:

https://transport.data.gouv.fr/datasets/horaires-theoriques-et-temps-reel-reseau-mobius/

la ressource est marquée comme "non disponible).

CleanShot 2021-03-08 at 17 08 34@2x

Pourtant le lien pointé est bon à première vue:

https://tr.transport.data.gouv.fr/horaires-theoriques-et-temps-reel-reseau-mobius/gtfs-rt

Je vais aller enquêter.

thbar commented 3 years ago

Liens locaux par commodité:

thbar commented 3 years ago

J'ai identifié le problème sous-jacent, ça doit je pense concerner d'autres ressources.

thbar commented 3 years ago

Au final ça ne concerne que la ressource actuelle. Voici l'explication.

https://github.com/etalab/transport-site/blob/142e8e79a9a172ed36f2df149ac4f5179e0cedb7/apps/transport/lib/transport/import_data.ex#L338-L351

J'ai été voir en base si d'autres ressources étaient concernées:

select count(*), format, is_available
from resource
where url like 'https://tr.transport%'
group by format, is_available

Le résultat est:

count format is_available
1 gtfs-rt false
43 siri-lite true

Donc il semblerait, si je ne me trompe pas, que c'est la première fois qu'on ajoute une ressource avec une url en "tr.transport". Je suis étonné à première vue :-)

Du coup les options sont:

  1. comprendre quel est le workflow normal qui ne nécessiterait pas de modifier le proxy
  2. ou bien corriger https://github.com/etalab/transpo-rt/issues/113
thbar commented 3 years ago

Voici la réponse du proxy Rust pour mémoire, avec un statut 405:

{:ok,
 %HTTPoison.Response{
   body: "",
   headers: [
     {"content-length", "0"},
     {"date", "Tue, 09 Mar 2021 17:26:24 GMT"},
     {"Sozu-Id", "c976e871-ae09-459a-befe-51205a06551a"}
   ],
   request: %HTTPoison.Request{
     body: "",
     headers: [],
     method: :head,
     options: [],
     params: %{},
     url: "https://tr.transport.data.gouv.fr/horaires-theoriques-et-temps-reel-reseau-mobius/gtfs-rt"
   },
   request_url: "https://tr.transport.data.gouv.fr/horaires-theoriques-et-temps-reel-reseau-mobius/gtfs-rt",
   status_code: 405
 }}
thbar commented 3 years ago

Je dois aller vérifier ce qui se passe dans le cas du SIRI lite https://transport.data.gouv.fr/datasets/horaires-theoriques-et-temps-reel-du-reseau-bmob-bernay-gtfs-gtfs-rt/ - dixit @Miryad3108 rien n'est vérifié.

fchabouis commented 3 years ago

Pour information le dataset https://transport.data.gouv.fr/datasets/donnees-temps-reels-sur-les-veliverts-velo-en-libre-service-de-saint-etienne-metropole est dans le même cas (même si ce n'est pas notre proxy rust), leur serveur ne gère pas la méthode head, on a une réponse 405, leurs jeux se retrouvent donc en non disponibles.

Je me demande si on ne devrait pas être plus fins, et par exemple considérer qu'une réponse 405 fait partie des réponses qui renvoient available à true. Ou bien doit déclencher un get ?

fchabouis commented 3 years ago

les ressources sont de retour en vert ce matin suite au merge. Trop cool !