summaryrefslogtreecommitdiff
path: root/JSTchouTchou.txt
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2017-03-10 11:58:22 +0100
committerneodarz <neodarz@neodarz.net>2017-03-10 11:58:22 +0100
commitbc1d70343807104ccf64b6bde9b2db54270203ff (patch)
tree122467d5cad8688bc609a1509e922dce5d70d391 /JSTchouTchou.txt
downloadread_it_later-master.tar.xz
read_it_later-master.zip
Initiale releaseHEADmaster
Diffstat (limited to 'JSTchouTchou.txt')
-rw-r--r--JSTchouTchou.txt251
1 files changed, 251 insertions, 0 deletions
diff --git a/JSTchouTchou.txt b/JSTchouTchou.txt
new file mode 100644
index 0000000..9d33f5a
--- /dev/null
+++ b/JSTchouTchou.txt
@@ -0,0 +1,251 @@
+Titre: JSTchouTchou
+Auteur: Bruno
+Date: Sat 30 Nov 2013 01:10:04 +0100
+Lien: https://blog.spyou.org/wordpress-mu/2013/11/30/jstchoutchou/
+URL de téléchargement de Podcast: http://www.raildar.fr/videos/2013-12-12.mp4
+
+[image 2][2]Les activités professionnelles et associatives m’empêchent de
+continuer à alimenter ce blog de manière régulière, mais ça reviendra bien un
+jour, la preuve, une lubie m’a pris le weekend dernier à propos de l’opendata.
+Suite à un article de l’ami Hervé sur abavala.com[3] ou il expliquait avoir
+parsé les résultats des sites d’info de la SNCF avec une page Google, je me
+suis dit que c’était bien faisable en direct sans passer par nos amis
+américains.
+
+Du coup j’ai dégainé mon plus beau vim et j’ai pissé du perl. Et de fil en
+aiguille, j’en suis arrivé à une carte dynamique de la circulation prenant en
+compte les retards annoncés par la SNCF en (presque) temps réel.
+
+Vous pouvez jouer un peu avec l’outil ici[4].
+
+Vous le remarquerez rapidement, en dehors de la proximité immédiate des gares,
+les trains ne circulent pas sur les voies quand la position indiquée sur
+l’infobulle est marquée « extrapolée » : la problématique est de savoir comment
+les positionner précisément sur les voies sans avoir de GPS embarqué. Du coup,
+j’ai pondu aussi pas mal de javascript pour pouvoir associer un trajet en train
+avec la géolocalisation d’un mobile. Tout le monde peut participer, il suffit
+de cliquer sur « play » et de sélectionner sa gare et son train avant de monter
+dedans.
+
+Vous me direz que les voies sont déjà bien documentées, oui, mais aucun de ces
+descriptifs ne fait le lien avec les trains eux-même, du coup, pas facile de
+savoir pas ou passent les trains entre deux gares.
+
+Histoire de ne pas saturer infolignes et me faire virer comme un malpropre, je
+n’ai pas inclus la totalité des missions nationales dans mes scripts, mais vous
+pouvez me demander l’ajout d’un train ou d’une ligne entière sans trop de
+soucis. Je tâcherais de faire en sorte que vous puissiez ajouter de nouveaux
+numéros de circulation en live bientôt.
+
+Il y a quelques bugs :
+
+ * Une partie des échanges avec l’appli se fait via des popups, désactivés par
+ défaut dans le navigateur standard sur android
+ * La géolocalisation sur autre chose qu’un android ou un iOS a parfois du mal
+ à passer comme il faut
+ * Certaines gares ne sont pas bien positionnées
+ * Il n’y a pas de bouton pour fermer les popups, il faut cliquer dans la
+ partie grisée de l’interface
+
+J’ai ajouté un système de discussion sommaire (« chat » en haut à droite)
+
+Mise à jour du 5 décembre 2013
+
+Pas mal de modification dans l’appli depuis une semaine. En vrac :
+
+ * Changement du système d’approvisionnement : je me basais sur une liste de
+ numéro de circulation des trains faite à la mimine, plutôt fastidieux, puis
+ j’allais demander pour chaque trains, sur infolignes, s’il circulait ou pas
+ le jour J. En épluchant le portail opendata de la SNCF je suis tombé sur
+ l’API « micro-service » permettant de récolter une quantité colossale
+ d’information théoriques sur les trains. Du coup, j’alimente maintenant ma
+ base chaque nuit pour le lendemain avec la totalité des TER et Intercités
+ circulant dans un nombre de gares données. Je parse ensuite le site
+ infolignes pour chaque train autour de son heure théorique de circulation
+ pour déterminer s’il est en retard ou pas. Je n’ai pas encore mis toutes
+ les gares de france mais ça viendra bien, vu que l’application se comporte
+ globalement assez bien avec la charge (2200 trains quotidiens au moment ou
+ j’écris ces lignes)
+ * Passage de la génération du listing de trains en circulation sur un fichier
+ statique généré toutes les 10 secondes. Il était fait à la volée avant,
+ c’était gérable pour une cinquantaine de trains et 2 ou 3 visiteurs mais
+ pas plus.
+ * Délégation des missions de téléchargement du fichier XML et d’upload des
+ coordonnées GPS à des worker web permettant de s’assurer que le bout de
+ code javascript principal se concentre sur le relevé de position GPS pour
+ éviter d’avoir des trajets discontinu.
+ * Changement de la méthode de gestion des trains sur la carte : je vidais
+ entièrement la carte et repositionnait de nouveau les trains. Maintenant,
+ les nouveaux sont ajoutés 15 minutes avant le départ à leur gare d’origine,
+ puis se déplacent sans recréation et disparaissent à leur gare d’arrivée.
+ * Je me suis pris un p’tit nom de domaine histoire de pas me prendre un
+ procès pour utilisation non autorisée de la marque SNCF dans l’URL.
+ * Modification du comportement : lorsqu’on clique sur « Play » on ne voit
+ plus que le train dans lequel on est et sa propre position. C’est d’une
+ part pour donner un peu d’animation toute seule, d’autre part pour
+ décharger les smartphone du traitement de l’ensemble des trains pendant
+ qu’ils s’occupent de faire des relevés GPS
+
+Côté possibilités offertes, deux appels XML qui peuvent vous intéresser
+(méthodes obsolètes. Voir le wiki du projet[5]):
+
+ * http://www.raildar.fr/xml/map_generic qui vous retourne l’ensemble des
+ trains en circulation actuellement avec leur coordonnées GPS
+ * http://www.raildar.fr/xml/gares qui vous renvoi l’ensemble des gares que
+ j’ai en base avec les coordonnées et la possibilité de restreindre la
+ selection en ajoutant ?name=nom_exact ou bien ?search=nom_partiel
+
+Je prépare quelques autres API pour accéder facilement au reste des infos. Stay
+tuned ! :)
+
+Je profite de cette mise à jour pour vous rappeler que le gros intérêt de la
+chose est aussi de documenter les segment ferroviaires utilisés par notre amie
+SNCF en effectuant des relevés GPS pour placer les trains très précisément sur
+la carte. Il suffit, pour ça :
+
+ * de vérifier que votre ligne est couverte par raildar.fr en observant la
+ carte, et de me demander si ce n’est pas le cas
+ * au moment de monter dans le train, d’autoriser le site à vous géolocaliser
+ et d’activer le GPS dans votre smartphone
+ * de cliquer sur « play » en haut à gauche, de sélectionner votre gare puis
+ votre train
+ * de profiter du paysage en laissant votre smartphone allumé et sur le site
+ * d’avoir une batterie bien pleine ou une alimentation externe si vous avez
+ un long trajet
+ * de me jeter un petit mail une fois arrivé, que j’aille voir ce que donne
+ votre trace GPS pour la valider
+ * vous pouvez aussi utiliser votre soft GPS favori et m’envoyer une trace au
+ format GPX
+
+Si vous êtes développeur iphone ou android et que porter raildar.fr sur ces
+plateformes vous botte, faites moi signe ! :)
+
+Mise à jour du 9 décembre 2013
+
+Encore quelques bricoles :
+
+ * Quelques correction de bug sur le point indiquant votre position
+ * Stockage de l’altitude, de la vitesse et de la direction lors de
+ l’acquisition GPS si le terminal le supporte
+ * Une carte des gares en base, avec les coordonnées corrigées par mes soins
+ et ceux de madame (oui, la base « opendata » de gares SNCF a des
+ coordonnées moisies pour pas loin de 80 gares, ou alors n’utilise pas les
+ référentiels communs). Visible ici[6].
+ * Une carte des traces GPS validée en base. Visible ici[7]. (attention, il
+ vaut mieux avoir un CPU bien accroché)
+ * Un petit service web pour vous permettre d’entrer vos gares préférées et
+ d’avoir tout de suite l’info sur les prochains trains et leurs retards.
+ C’est ici[8]. C’est surtout fait pour les mobiles. Le navigateur garde une
+ ID unique permettant de retrouver les gares, donc si vous changez
+ d’ordinateur ou de smartphone, il faut les réindiquer.
+
+Mise à jour du 13 décembre 2013
+
+Je continue doucement, en explorant pas mal de pistes :
+
+ * J’ai joué un peu avec phantomJS, un outil qui permet en gros de créer un
+ navigateur virtuel et prendre des screenshot de site web de façon
+ automatique et ultra simple. Je doutais très fortement qu’il sache gérer la
+ cohorte de javascript de raildar, mais il se démerde très bien, et du coup,
+ chaque soir, une vidéo de la journée est dispo dans
+ http://www.raildar.fr/videos/date-du-jour.mp4, par exemple, pour la grève
+ d’hier, http://www.raildar.fr/videos/2013-12-12.mp4[9]
+ * Un illuminé comme moi a démarré le développement d’une appli android qui se
+ base sur mes API pour faire en gros la même chose que le site web. Longue
+ vie !
+ * J’ai commencé à réécrire l’ensemble du code server-side pour utiliser le
+ framework Mojolicious et, enfin, développer comme les djeunz avec un fw, un
+ dépôt git et compagnie.
+ * J’ai entamé aussi un widget permettant de selectionner la visualisation
+ partielle des trains (genre tous les supprimés, tous les en retard, …) et
+ je vais profiter de la réécriture pour ne charger que les trains
+ correspondant au zoom utilisé sur le navigateur de l’utilisateur et activer
+ les fonctions de tracking d’un train en dehors du mode « play »
+ * Toujours au chapitre réecriture, c’est aussi l’occasion de rendre l’engin
+ modulaire pour y brancher de nouvelles sources de données. L’équipe
+ opendata de Toulouse m’a fourni une clé d’API pour le réseau Tisséo, ce
+ sera donc le premier a gouter du raildar après la SNCF
+ * Last but not least, la waybackmachine est utilisable, par exemple avec
+ http://www.raildar.fr/?date=1386867785[10]. Le premier chargement d’un
+ timestamp est un peu long, mais après, ça va tout seul. Notez que je dis
+ wayback, mais ça marche aussi dans le futur, pour l’instant uniquement avec
+ le lendemain. Pour bouger dans le temps, entrer un nouveau timestamp dans
+ l’URL ou bien cliquez sur les boutons « +2 / -2″ sur le coté. Si à cette
+ occasion vous trouvez des trains qui bougent trop vite pour être réels,
+ vous avez probablement trouvé une gare mal placée, je suis preneur du
+ numéro du train et du timestamp utilisé.
+
+Bon weekend les enfants !
+
+Mise à jour du 16 décembre 2013
+
+J’ai passé un bon bout du weekend à recoder les fonctions principales de
+raildar pour utiliser un joli framework perl (Mojolicious) et me simplifier la
+vie et les développements futurs. Rien de changé coté interface utilisateur,
+mais un code plus light et plus rapide coté serveur.
+
+Du coup, j’ai changé la moulinette d’acquisition des trains pour tous les
+récupérer, d’ou une nette augmentation du peuplement de la carte.
+
+Au chapitre nouveautés également :
+
+ * Un graph du trafic dispo ici[11] et en bas à droite de l’interface avec un
+ joli bug de positionnement du popup
+ * Une API pour trouver des gares en fonction de la latitude et de la
+ longitude d’un point donné :
+ http://www.raildar.fr/xml/gares?lat=45.888&lng=4.8041&dist=20&limit=10
+ (avec latitude, longitude, distance max depuis ce point et nombre
+ d’éléments retournés)
+ * Une déclinaison de cette même API qui permet d’avoir toutes les gares (si
+ on ne spécifie aucun argument) et les gares contenant une chaîne avec
+ ?search=chaine
+ * Une API pour trouver les prochains trains dans une gare donnée :
+ http://www.raildar.fr/xml/next_missions?id_gare=1747&time_dist=450 (avec
+ id_gare retourné par l’API précédente et time_dist le nombre de minutes)
+ * Une API pour avoir le détail d’un train :
+ http://www.raildar.fr/xml/get_mission?id_mission=40926 (avec id_mission
+ retourné par l’API précédente)
+
+Have fnu !
+
+Mise à jour du 21 décembre 2013
+
+Quelqu’un m’a envoyé une belle trace GPS d’un parcours de TGV mais je ne gérais
+pas les TGV. Qu’à cela ne tienne, je me suis creusé un peu la tête. La
+problématique pour les TGV est de connaitre les numéros de trains.
+Contrairement aux TER & Intercités, on ne les trouve pas dans les API opendata
+SNCF. J’ai pris le parti de me baser sur ce qu’annonce le site
+Gares-En-Mouvement, soit le tableau des prochains trains dans chaque gares
+
+J’ai donc écris un nouveau parser qui vire les TER, Car et autres idioties de
+ces tableaux et ne garde que ce qui m’intéresse, c’est à dire tout le reste :
+TGV, idTGV, Lyria, Thalys, Eurostar, etc. Je vais laisser tourner cette
+moulinette une petite semaine le temps de récupérer tous les numéros de trains.
+
+Ensuite, je retourne voir mon copain infoligne avec ces numéros pour lui
+demander si le train est prévu en circulation demain, et le reste suit le même
+parcours technique que pour les autres trains.
+
+Reste un tout petit bémol : infolignes ne donne pas les infos sur les
+circulation des Eurostar. Si quelqu’un a une source, je suis preneur :)
+
+Bon weekend et noyeux zoël !
+
+Raildar, la suite
+
+Je ne peux plus continuer à mettre des updates ici. Vous êtes donc cordialement
+invités à vous rendre sur le wiki du projet[12] si vous voulez suivre ! :)
+
+Liens:
+[1]: http://blog.spyou.org/wordpress-mu/files/2013/11/20131129_213814-e1385769933774.jpg (lien)
+[2]: http://blog.spyou.org/wordpress-mu/files/2013/11/20131129_213814-e1385769933774-300x225.jpg (image)
+[3]: http://www.abavala.com/ (lien)
+[4]: http://www.raildar.fr/ (lien)
+[5]: http://wiki.raildar.fr/index.php/API (lien)
+[6]: http://www.raildar.fr/static/show_gares.html (lien)
+[7]: http://www.raildar.fr/static/show_paths.html (lien)
+[8]: http://www.raildar.fr/me/ (lien)
+[9]: http://www.raildar.fr/videos/2013-12-12.mp4 (lien)
+[10]: http://www.raildar.fr/?date=1386867785 (lien)
+[11]: http://www.raildar.fr/tools/rrd_circulation (lien)
+[12]: http://wiki.raildar.fr/ (lien)