Carto Tchoo : Les voies, les gares, et Clickhouse
Du nouveau sur https://carto.tchoo.net la carte de l'infrastructure ferroviaire mondiale basée sur les données OpenStreetMap et open data de Groupe SNCF
Les voies
Les numéros de voie sont apparus récemment dans l'open data proposé par SNCF Voyageurs (merci notamment à Arnaud CHI et Bertrand Billoud c'est du super boulot !). Ça fait longtemps que j'attendais cette donnée, et c'est donc naturellement que je l'ai intégrée dans Carto Tchoo !

Vous allez retrouver les voies de départ pour les trains d'une gare, mais aussi toutes les voies des dessertes d'une circulation ferroviaire telles que fournies par SNCF Voyageurs. C'est même affiché sur l'itinéraire sur la carte !
C'est mis à jour toutes les 5min, et c'est même archivé ! Mais pourquoi ?
Archiver cette donnée me permet de vous proposer la voie prévisionnelle (en pointillé sur l'interface). C'est, certes, une simple probabilité basée sur les informations du mois précédent, mais il n'empêche que c'est souvent juste — le plan de transport ne change pas à ce point tous les jours.

Enfin, archiver cette donnée va aussi permettre pas mal d'autres choses intéressantes à venir.
Les gares
C'est une fonctionnalité toute simple mais qui a été rendue possible par les récents nombreux changements que j'ai effectués dans le code du backend de Carto Tchoo : il est désormais possible d'avoir un accès direct à une gare depuis l'adresse ou url dans votre navigateur.

Comment faire :
- affichez les prochains départs d'une gare (en cliquant sur son nom sur la carte, ou via une recherche, ou dans les arrêts d'un train)
- notez l'adresse de la page dans votre navigateur, elle contient le code UIC (unique) de cette gare
- ce lien affichera toujours les prochains départs de cette gare (le navigateur se souviendra aussi si vous êtes en mode plein écran ou non si nécessaire)
Par exemple pour Rennes, cliquez sur https://carto.tchoo.net/map/48.10312,-1.67288,15.09997,0,0/8747100 et vous serez dirigés vers Carto Tchoo, avec les prochains départs de Rennes.
Si vous passez en plein écran, la page est rafraîchie automatiquement toutes les minutes, vous pouvez avoir votre propre tableau des départs chez vous, sur votre ordinateur, téléphone, domotique, ou pour un établissement accueillant du public proche d'une gare, en entreprise, etc.
Clickhouse
Enfin, gros changements côté back/base de données, histoire de pouvoir requêter plus vite et stocker bien plus de données : l'arrivée de Clickhouse et d'un tout nouveau backend pour la carto.
Clickhouse https://clickhouse.com/docs/concepts/why-clickhouse-is-so-fast est un moteur de base de données plutôt orienté temps réel mais qui peut être requêté avec la syntaxe SQL, et qui stocke ses données en colonnes (plutôt qu'en lignes dans les SGBD traditionnels).
Pour vous donner un ordre d'idée, imaginez 19Go de données de régularité des trains depuis 8 ans, chaque jour, chaque gare, chaque train. Importer cette donnée dans MariaDB prend environ 10 à 20min contre 10s dans Clickhouse. Une requête pour obtenir le nombre de minutes perdues dans une gare donnée depuis 8 ans prend 5 à 6min dans MariaDB et... 1,2s dans Clickhouse, sans index, sans optimisation, sur la même machine.
Sa force vient de son mode de stockage, parce que oui c'est organisé pour être requêté ainsi, et c'est compressé. Je suis passé à seulement 1,5Go de données (dont la régularité). Je ne vais donc pas me priver de stocker les voies, vous imaginez bien 😋
Et après ?
Je manque un peu de temps pour faire tout ce à quoi je pense, j'ai plein de choses en cours, dont notamment deux grosses nouveautés qui arrivent bientôt, concernant les métiers du ferroviaire mais aussi directement pour le grand public et les ferrovipathes.
À bientôt !