Traincker

Suis tes trains au quotidien

Trajets actifs 7
Dernière collecte 02/09 16:46
Alertes envoyées 0
En savoir plus

Tous les jours, je prends le train pour rejoindre mon école d'ingénieur. Régulièrement, mon train a du retard, sans que je le sache à l'avance : aucun moyen de le savoir autrement qu'en vérifiant l'appli SNCF à la main, ou en arrivant sur le quai. Pas de notification, rien.

C'est ce qui m'a donné l'idée de Traincker : une appli qui surveille mes trajets favoris en continu et m'alerte automatiquement (Discord, email) dès qu'une perturbation apparaît.

Au fil du développement, le projet s'est étoffé :

  • recherche de gare avec départs en temps réel
  • gestion de plusieurs trajets favoris, avec surveillance automatique en arrière-plan
  • alertes Discord/email configurables (heures de silence, canaux)
  • historique des trajets et statistiques de ponctualité (retard moyen, taux de ponctualité, tendance)
  • visualisations (retard par ligne, par gare, évolution dans le temps)
  • accessibilité (contraste élevé, taille de texte, thème clair)
  • interface rapide en FastAPI + HTMX, sans rechargement de page

Ce projet me sert avant tout à progresser en Python (data, API, web), mais surtout, je m'en sers vraiment, tous les jours, pour aller en cours.

Vue technique

Stack : Python, FastAPI, HTMX, pandas/numpy, matplotlib, API SNCF (Navitia), Supabase.

Architecture :

  • api_client.py : client HTTP vers l'API SNCF, avec timeout et gestion d'erreurs
  • monitor.py : surveillance périodique, alertes Discord/email, heures de silence
  • analysis.py / viz.py : statistiques de ponctualité et visualisations
  • traincker_web/ : interface FastAPI + HTMX (recherche, favoris, statistiques)
  • db.py : persistance partagée Supabase entre la surveillance et le site hébergé

Points notables : mode dégradé en cas de panne API, suite de tests automatisés (pytest), déploiement continu (GitHub Actions + Render).

Historique des évolutions
Récent
Hébergement 24/7
Déploiement sur Render + GitHub Actions, base Supabase partagée, domaine traincker.app.
Mode démo, export de config, trajet retour
Ajout d'un mode démo avec données fictives, export/import de la configuration, création rapide d'un trajet retour, et bouton de signalement de bug.
Refonte visuelle
Passage en thème sombre façon verre dépoli, nouveau logo, onglets avec indicateur glissant, suppression des emojis au profit d'icônes SVG maison.
Statistiques enrichies
Synthèse automatique de ponctualité, export CSV/PDF, graphiques de tendance des retards.
Surveillance et alertes
Vérification périodique des trajets favoris avec alertes Discord en cas de perturbation.
Version initiale
Recherche de gares, prochains départs, perturbations en direct via l'API SNCF.
Sauvegarde de la configuration

Exporte tes trajets favoris dans un fichier, ou restaure une sauvegarde précédente.

Exporter mes trajets
Paramètres d'alerte

Réglages d'alerte non disponibles sur cette démo publique (informations personnelles du propriétaire du projet).

Accessibilité

Ces réglages ne concernent que ton propre navigateur (via un cookie) : ils ne changent rien pour les autres visiteurs.

Le choix de langue est enregistré, mais l'interface FastAPI reste en français pour l'instant (seul le dashboard Streamlit est déjà traduit).

Historique personnel

Aucune recherche enregistrée pour l'instant.

Logs techniques

Aucun log pour l'instant.

Un problème ?