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

"Internal Server Error" #104

Closed
obook opened this issue Sep 29, 2020 · 37 comments
Closed

"Internal Server Error" #104

obook opened this issue Sep 29, 2020 · 37 comments

Comments

@obook
Copy link

obook commented Sep 29, 2020

Hello,
I try to get https://api-ratp.pierre-grimaud.fr/v4/schedules/rers/a/nogent+sur+marne/B and the json returned code is | 500 -- | and -- message | "Internal Server Error".

What is wrong ? Thank for your help.

{ "result": { "code": 500, "message": "Internal Server Error" }, "_metadata": { "call": "GET /schedules/rers/a/nogent+sur+marne/B", "date": "2020-10-01T17:23:25+02:00", "version": 4 } }

@pgrimaud
Copy link
Owner

Hello @obook

This service is a middleware to use official API RATP to a JSON format. I was whitelisted by the RATP (https://dataratp.opendatasoft.com/page/temps-reel/).

My access to RATP API has been blocked since 9:00 am. I have no idea why, but I just contacted them to get an explanation.

@tlissak
Copy link

tlissak commented Oct 1, 2020

Pas des nouvelles ? il sont en greve ?

@julien290
Copy link

Une autre solution en attendant, ne serait-elle pas de créer un nouveau compte chez eux "au cas où", comme c'est le cas pour en ce moment ?

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

Pas des nouvelles ? il sont en greve ?

Non, toujours pas de news... Je viens de relancer.

Une autre solution en attendant, ne serait-elle pas de créer un nouveau compte chez eux "au cas où", comme c'est le cas pour en ce moment ?

D'après les derniers échos que j'ai eu sur la création de compte API temps réel, ils ne répondent pas et le cas échéant, très longtemps après. De plus, ils doivent autoriser une IP manuellement de leur côté.

Je ne sais pas pourquoi mon accès via l'IP de mon serveur a été bloquée...

J'ai un moyen de contournement, illégal cependant. Je vais attendre encore un peu avant d'utiliser ce système...

@julien290
Copy link

Vraiment mystérieux leurs fonctionnement chez eux... à suivre..

Ce moyen de contournement peux-t-il être remonté jusqu'à toi ou ton serveur s'ils enquêtent ? (Bon après vu leurs réactivité, y'a moyen qu'il y ait pas trop de soucis)

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

J'ai obtenu une réponse de la RATP :

Une opération de relocalisation de nos serveurs Open Data Temps Réels, ce qui rend le service prochains passages hors service. La durée de cette indisponibilité n’est pas connue.

Il semblerait que ça ne soit pas lié à mon IP mais une coupure globale.

@obook
Copy link
Author

obook commented Oct 1, 2020

Hello,
For a strange reason, this link return a correct response : https://api-ratp.pierre-grimaud.fr/v4/traffic/rers/a

{ "result": { "line": "A", "slug": "normal_trav", "title": "Travaux", "message": "À partir du lundi 28 septembre 2020, suite à des travaux de rénovation, le trafic est interrompu de 21h30 à fin de service entre les gares Nanterre-Prefecture et Cergy-Le Haut / Poissy sur la ligne A du RER jusqu'au vendredi 2 octobre 2020. Des bus de remplacement sont mis à disposition." }, "_metadata": { "call": "GET /traffic/rers/a", "date": "2020-10-01T17:20:30+02:00", "version": 4 } }

@obook
Copy link
Author

obook commented Oct 1, 2020

J'ai obtenu une réponse de la RATP :

Une opération de relocalisation de nos serveurs Open Data Temps Réels, ce qui rend le service prochains passages hors service. La durée de cette indisponibilité n’est pas connue.

Il semblerait que ça ne soit pas lié à mon IP mais une coupure globale.

C'est une bonne nouvelle, espérons que le service soit rétabli rapidement.
Merci pour l'information.

@b

@julien290
Copy link

Effectivement bonne nouvelle, je serais curieux de savoir si ta méthode légèrement border @pgrimaud fonctionnerais quand même durant cette migration ?

Par contre, niveau communication ils peuvent faire mieux.. (pas de préavis, pas d'estimations)

@Cqoicebordel
Copy link

Je pense que la solution borderline est de parser directement les résultats du site officiel. Je faisais ça avec le site wap avant que j'apprenne l'existence de l'API ici (encore merci !), et avant qu'ils sabrent leur site wap…

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

Effectivement bonne nouvelle, je serais curieux de savoir si ta méthode légèrement border @pgrimaud fonctionnerais quand même durant cette migration ?

Oui car :

Je possède 2 accès à leur API temps réel :

Étrangement, mon second accès à l'API fonctionne alors que le premier (le public) ne fonctionne plus... C'est pour cela que je pensais à un bloquage de mon IP.

La solution borderline serait de forward les requêtes des utilisateurs de l'accès 1 vers l'accès 2. Mais si la société X détecte que je détourne les données vers un autre service, je risque potentiellement des poursuites judiciaires...


Je pense que la solution borderline est de parser directement les résultats du site officiel.

J'ai déjà essayé, mais ils ont protégé leur site via Cloudflare (depuis leur dernière refonte) qui a une très bonne détection des bots, ce qui rend le scrapping presque impossible.

Je faisais ça avec le site wap avant que j'apprenne l'existence de l'API ici (encore merci !), et avant qu'ils sabrent leur site wap…

Une petite pensée pour leur site, que je scrappais au debut de ce projet 927a57c 🙏

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

Hello,
For a strange reason, this link return a correct response : https://api-ratp.pierre-grimaud.fr/v4/traffic/rers/a

{ "result": { "line": "A", "slug": "normal_trav", "title": "Travaux", "message": "À partir du lundi 28 septembre 2020, suite à des travaux de rénovation, le trafic est interrompu de 21h30 à fin de service entre les gares Nanterre-Prefecture et Cergy-Le Haut / Poissy sur la ligne A du RER jusqu'au vendredi 2 octobre 2020. Des bus de remplacement sont mis à disposition." }, "_metadata": { "call": "GET /traffic/rers/a", "date": "2020-10-01T17:20:30+02:00", "version": 4 } }

Oui, car le service de trafic passe par une autre API. https://github.com/pgrimaud/ratp-api-rest/blob/master/src/Client/IxxiApiClient.php#L11

D'ailleurs, si le service n'est pas rétabli sous peu, je vais voir si je ne peux pas me brancher sur cette API pour récupérer les données temps réel.

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

Par la même occasion, quelqu'un peut me fournir l'APK à jour de l'application RATP? 🤡

@julien290
Copy link

J'ai pas d'Androïd sous la main mais normalement tu peux télécharger l'APK via ce site: https://apkpure.com/fr/ratp-your-daily-co-pilot/com.fabernovel.ratp

@tlissak
Copy link

tlissak commented Oct 1, 2020 via email

@Cqoicebordel
Copy link

'PfndhPqWEoI5ERvmlGiw9S3m' ?

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

J'ai pas d'Androïd sous la main mais normalement tu peux télécharger l'APK via ce site: https://apkpure.com/fr/ratp-your-daily-co-pilot/com.fabernovel.ratp

Parfait, merci !

l'API de ile de France mobilité https://portal.api.iledefrance-mobilites.fr Propose un service traffic en temps reel via API REST Et donne un accès gratuit jusqu'à 1M requêtes/ jour (La création de compte est instantané ) Hors je ne métrise pas l'authorisation via oauth2 Pourriez-vous explorer cette piste?

Je viens d'un jeter un coup d'oeil, ça peut le faire comme solution de remplacement. Je vais regarder ça en détails.

'PfndhPqWEoI5ERvmlGiw9S3m' ?

@Cqoicebordel ? 😄

@Cqoicebordel
Copy link

Je me suis dit que t'avais besoin que du token, donc je l'ai donné :)

Je suis en train de tester vite fait l'API IDFM. C'est lent, et leurs systèmes de nommage de ligne et arrêts est super relou.

@tlissak Quand tu vas tester ton compte avec les APIs, il te créé un token que tu peux réutiliser en mode REST, sans OAuth.

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 1, 2020

Je me suis dit que t'avais besoin que du token, donc je l'ai donné :)

Ahh ok merci ! J'ai trouvé des accès à leur API en clair sur GitHub aussi. David, si tu passes par là, merci 😂

Je suis en train de tester vite fait l'API IDFM. C'est lent, et leurs systèmes de nommage de ligne et arrêts est super relou.

Oui, les id du genre 1001001012... Au secours. Mais au moins c'est du vrai REST.

Point positif de l'API en SOAP de la RATP. Elle était plutôt permissive, il suffisait de passer le nom d'un arrêt pour récupérer les données. Et elle répondait hyper vite (moins de 40ms !).

@tlissak Quand tu vas tester ton compte avec les APIs, il te créé un token que tu peux réutiliser en mode REST, sans OAuth.

Attention, le token n'est valable qu'une heure.

@Cqoicebordel
Copy link

Cqoicebordel commented Oct 1, 2020

Ah, je savais pas pour le token d'une heure. Encore un truc pour faire chier évidemment…
Mais il semblerait qu'on puisse utiliser l'Authorization token (dans la conf de l'appli) directement.

Là, pour info, le temps de réponse c'est entre 15 et 30 secondes. Oui oui, secondes…

Et pour futur références :
Liste (d'une partie ?) des arrêts : https://data.iledefrance-mobilites.fr/explore/dataset/perimetre-tr-plateforme-stif/
Il faut utiliser gtfs_stop_id tel quel pour le stop id (au moins quand c'est ViaNavigo la source)
Liste des lignes : https://data.iledefrance-mobilites.fr/explore/dataset/referentiel-des-lignes/table/

@tlissak
Copy link

tlissak commented Oct 2, 2020 via email

@lnazar
Copy link

lnazar commented Oct 2, 2020

Avez vous essayer se connecter votre server via vpn pour voir si le problème d'ip persiste ?

La RATP doit autoriser spécifiquement l'IP publique du serveur qui fera les requêtes, la changer n'est donc pas une option.

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 2, 2020

En effet. De plus, l'API est désormais HS sur mes 2 serveurs.

@lnazar
Copy link

lnazar commented Oct 2, 2020

"Suite à un incident technique, le trafic sur notre API est complètement interrompu."

@tlissak
Copy link

tlissak commented Oct 2, 2020 via email

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 2, 2020

RIP, ça commence à faire long.

image

https://p.datadoghq.com/sb/b933ad64d-3d03339edc63b8ba89556675024d64fd

@julien290
Copy link

julien290 commented Oct 2, 2020

De plus, l'API est désormais HS sur mes 2 serveurs.

Aussi pour l'API privatisé pour une société ?

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 2, 2020

Aussi pour l'API privatisé pour une société ?

C'est variable, ça marche 1 coup sur 2. Et quand j'ai une réponse de leur API, c'est généralement assez long (5 à 10 secondes)...

J'ai eu un retour de l'ancien responsable Open Data RATP, qui m'a confirmé que je ne suis pas le seul à l'avoir contacté à ce sujet.

Il ne reste plus qu'à être patient, mais le weekend arrive et je ne suis pas sûr que l'IT travaille samedi ou dimanche...

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 2, 2020

image 🤡😰

@julien290
Copy link

On est plus que l'on ne le pense dans l'attente enfaite 😅

@Cqoicebordel
Copy link

"Horaires Me !" sur Android fonctionne bien par contre. Je sais pas ce qu'ils utilisent.

@Cqoicebordel
Copy link

Sinon, l'API du site Vianavigo ne semble pas utiliser la moindre authentification (mais je peux me planter) :
https://api-iv.iledefrance-mobilites.fr/lines/line:0:100110003:3/stops/stop_area:0:SA:59434/realTime

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 5, 2020

Mail du support Open Data RATP :

Pour information et pour faire suite à notre mail de jeudi dernier, le service Temps Réels de la RATP devrait revenir à la normale aujourd’hui. Désolée pour la gêne occasionnée

@obook
Copy link
Author

obook commented Oct 5, 2020

Super ! bon ce n’est pas encore revenu, mais c'est une bonne nouvelle, mes élèves étaient très déçus que leur projet s'arrête.
... wait and see.

@pgrimaud
Copy link
Owner

pgrimaud commented Oct 6, 2020

L'API est de nouveau fonctionnelle. Merci de votre patience 😄

@pgrimaud pgrimaud closed this as completed Oct 6, 2020
@pgrimaud pgrimaud unpinned this issue Oct 6, 2020
@vjau
Copy link

vjau commented Oct 6, 2020

Merci pour tout le travail effectué sur cette api.

@julien290
Copy link

Merci beaucoup en tout cas @pgrimaud pour ton implication dans la résolution de ce problème dû aux services de la RATP, et pour cette superbe API que tu proposes 👌

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

No branches or pull requests

7 participants