Utilitaire pour naviguer, calculer des trajets, partager.
  • JavaScript 50.5%
  • CSS 26.2%
  • Python 18%
  • HTML 5.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-09 21:17:07 +02:00
static Initial commit 2026-08-09 21:10:14 +02:00
templates Initial commit 2026-08-09 21:10:14 +02:00
tests Initial commit 2026-08-09 21:10:14 +02:00
.gitignore Initial commit 2026-08-09 21:10:14 +02:00
app.py Initial commit 2026-08-09 21:10:14 +02:00
config.example.ini Add example configuration 2026-08-09 21:17:07 +02:00
debug.log Initial commit 2026-08-09 21:10:14 +02:00
network_api.py Initial commit 2026-08-09 21:10:14 +02:00
pdf_export.py Initial commit 2026-08-09 21:10:14 +02:00
README.md Initial commit 2026-08-09 21:10:14 +02:00
requirements.txt Initial commit 2026-08-09 21:10:14 +02:00
Serveur final.desktop Initial commit 2026-08-09 21:10:14 +02:00

Transporc en commun

Interface Flask responsive pour rechercher des itinéraires, consulter les prochains passages et explorer le plan d'une ligne avec l'API libre Transitous.

Fonctionnalités

  • calcul d'itinéraire en heure de départ ou d'arrivée ;
  • résultats regroupés par trajet avec attente avant départ, deux départs suivants et variantes disponibles ;
  • second lien de partage ouvrant une frise horizontale de suivi, avec correspondances, compteurs, retards et actualisation temps réel ;
  • préférences de correspondance, de marche, de modes de transport et profil fauteuil roulant ;
  • favoris d'arrêts et trajets récents conservés uniquement dans le stockage du navigateur ;
  • consultation des passages à partir d'une date et d'une heure choisies ;
  • informations d'accessibilité et tarifs affichés seulement lorsqu'ils sont fournis par la source ;
  • installation comme application PWA, avec interface disponible hors connexion ;
  • pagination pour afficher davantage de trajets ;
  • carte OpenStreetMap avec zoom automatique et couleur par tronçon ;
  • recherche d'arrêts et prochains passages, avec temps réel lorsqu'il existe ;
  • recherche des lignes desservant un arrêt, choix de la direction, plan et horaires ;
  • interface Bootstrap 5 responsive, animations, modales et retours d'erreur accessibles ;
  • proxy Flask avec validation des paramètres et délais d'attente réseau.

Démarrage

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python app.py

Ouvrez ensuite http://127.0.0.1:5000.

Lexport PDF est optionnel. Pour lactiver, installez séparément ReportLab :

.venv/bin/pip install reportlab

Les paramètres principaux se trouvent dans config.ini :

[transitous]
TRANSITOUS_CONTACT = votre-email@example.com
TRANSITOUS_API_URL = https://api.transitous.org/api

[server]
HOST = 127.0.0.1
PORT = 5000
DEBUG = false

Le champ TRANSITOUS_CONTACT doit contenir une adresse de contact ou URL de votre projet. Transitous demande que chaque client serveur fournisse un User-Agent identifiable.

Les variables environnement restent disponibles et ont priorité sur le fichier INI :

  • TRANSITOUS_API_URL pour une instance MOTIS auto-hébergée ;
  • TRANSITOUS_CONTACT pour le contact du User-Agent ;
  • FLASK_HOST et FLASK_PORT pour écoute locale ;
  • FLASK_DEBUG=1 pendant le développement.

Vous pouvez charger un autre fichier avec TRANSPORC_CONFIG=/chemin/config.ini.

Tests

.venv/bin/python -m unittest discover -s tests -v
node --check static/js/app.js

Données et usage

Transitous est un service communautaire fourni au mieux de ses possibilités. Pour un usage soutenu, contactez le projet ou auto-hébergez MOTIS. Les attributions Transitous, ses sources et OpenStreetMap sont visibles dans le pied de page de l'application.

L'installation PWA fonctionne sur localhost pendant le développement. En production, le site doit être servi en HTTPS ; les recherches, horaires et cartes restent dépendants des services en ligne.