Application Tidbyt pour afficher les prochains passages de tram Solea à Mulhouse.
tidbyt-solea/
├── server.py # Serveur API Python (lit les données GTFS)
├── solea_tram.star # App Tidbyt en Starlark
├── requirements.txt # Dépendances Python
├── start.sh # Script de démarrage du serveur
├── venv/ # Environnement virtuel Python
└── *.txt # Fichiers GTFS (stops, routes, etc.)
- Python 3.x
- Pixlet (installé via
brew install tidbyt/tidbyt/pixlet)
cd tidbyt-solea
./start.shLe serveur démarre sur http://localhost:5555
# Rechercher une station
curl http://localhost:5555/search/republique
# Voir les prochains départs
curl http://localhost:5555/departures/190967pixlet serve solea_tram.starOuvrir http://localhost:8080 dans le navigateur.
L'app accepte deux paramètres :
api_url: URL du serveur API (défaut:http://localhost:5555)stop_id: ID de l'arrêt à afficher
curl http://localhost:5555/search/VOTRE_ARRETStations populaires :
| Station | ID |
|---|---|
| REPUBLIQUE | 190967 |
| GARE CENTRALE | 61967 |
| PORTE JEUNE | 190958 |
| PORTE HAUTE | 190957 |
pixlet render solea_tram.starpixlet push YOUR_DEVICE_ID solea_tram.webpPour que l'app fonctionne 24/7 sur votre Tidbyt, vous devez :
- Héberger le serveur API quelque part (Raspberry Pi, VPS, etc.)
- Configurer l'URL dans l'app
- Publier l'app sur le Tidbyt Community ou utiliser un cron pour pusher régulièrement
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5555
CMD ["python", "server.py"]| Endpoint | Description |
|---|---|
GET / |
Documentation |
GET /stops |
Liste des stations de tram |
GET /search/<query> |
Rechercher une station |
GET /departures/<stop_id> |
Prochains départs |
limit: Nombre de résultats (défaut: 5)tram_only: Filtrer bus (défaut: true)
Les données GTFS sont mises à jour périodiquement par Solea. Pour les mettre à jour :
curl -L -o gtfs.zip "https://transport.data.gouv.fr/resources/80787/download"
unzip -o gtfs.zip
# Redémarrer le serveurL'affichage montre :
- Nom de la station
- Numéro de ligne avec couleur
- Destination
- Minutes avant le départ (vert si < 2min)
Données GTFS sous licence Etalab (Open Data).