Tim Izzo @5ika.ch

16.08.24

Un chatbot pour les transports en Suisse

Il y a environ 7 ans, j’ai développé un chatbot nommé Tipigee fonctionannt sur Telegram et Facebook Messenger qui permettait d’avoir des informations sur les transports publics genevois (TPG) rapidement en chattant.

Ce service, totalement gratuit, reposait sur l’API Open Data des TPG et utilisait DialogFlow de Google (avant l’arrivée des LLMs). Le chatbot a eu un gentil succès et j’ai même eu l’occasion de le présenter à une conférence sur l’Open Data à Lausanne en novembre 2017. Les retours étaient riches et les utilisateurs semblaient contents… jusqu’à ce que les TPG arrêtent leur API Open Data en 2019 pour se raccorder à un service centralisé au niveau fédéral.

Manquant de temps à cette époque pour effectuer la migration (qui demandait un gros redéveloppement), j’ai dû arrêter le service avec regrets.

La semaine dernière, dans le cadre de veille technique pour Caroster, j’ai pris le temps de me plonger dans le service Open Data des transports en commun suisses. Avec 7 ans d’expérience supplémentaire et du temps permis par la période des vacances estivales, j’ai relancé, pour le plaisir, le développement d’un chatbot dans la même idée que Tipigee mais plus droit au but et fonctionnant pour l’ensemble du réseau de transport public du pays, pas juste Genève.

Ça faisait un moment que l’idée me trottait dans la tête. En tant qu’usager quotidien des transports en commun, j’ai été très déçu par la nouvelle app des TPG, bien moins pratique que la précédente. Quand on arrive à un arrêt de bus ou de tram, on veut savoir rapidement quand part le prochain et si on a le temps de l’attraper. S’il faut faire une dizaine d’actions dans l’app pour avoir la bonne information, cela casse le côté pratique d’un service mobile. Aussi, la nouvelle app donne plein d’informations mais noie l’essentiel dans des écrans complexes.

L’approche chatbot est bien plus pratique pour cela: on ouvre notre app de messagerie, on fait deux clics et boum, on a les prochains départs pour le train.

C’est ainsi que j’ai développé Kokyo, un chatbot Telegram qui permet d’obtenir des infos sur les transports en commun partout en Suisse (et un peu en Europe aussi). Pour le moment, les fonctionnalités sont simples et limitées: on recherche un arrêt de bus, tram, train ou bateau et il retourne les 5 prochains départs à cet arrêt. Pour permettre un accès rapide, un système de favoris permet de stocker vos arrêts les plus courants.

J’envisage prochainement d’ajouter les fonctionnalités suivantes:

Techniquement, les données sont récupérées depuis la plateforme open data pour la mobilité en Suisse et leur API Open Journey Planner (standard européen). Le serveur, développé avec Deno, est hébergé sur un VPS chez Infomaniak.

Ça vous intéresse ? Vous pouvez…

Pour le moment, le chatbot est encore jeune et potentiellement instable. C’est un service gratuit que je m’efforce de maintenir avec le temps que j’ai à disposition.



Publication précédente: Communication décentralisée 07.06.24