Utilitaire pour naviguer, calculer des trajets, partager.
  • JavaScript 49.6%
  • CSS 25.5%
  • Python 19%
  • HTML 5.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-13 16:14:19 +02:00
static Correction du trait qui va trop loin dans le plan vertical de la ligne : Tentative #1 2026-08-13 16:14:19 +02:00
templates Correction du trait qui va trop loin dans le plan vertical de la ligne : Tentative #1 2026-08-13 16:14:19 +02:00
tests Correction du trait qui va trop loin dans le plan vertical de la ligne : Tentative #1 2026-08-13 16:14:19 +02:00
.gitignore Modification du fichier README pour plus de clarté. Ajout également de la nécessité de devoir saisir un mail dans le fichier de configuration (ou à défaut dans le terminal) : c'est une demande de transitous 2026-08-11 15:45:42 +02:00
app.py Suppression des tracés sur la map : Trop compliqué pour le moment à partir des données de transitous. A voir plus tard selon. 2026-08-12 14:04:38 +02:00
config.example.ini Modification du fichier README pour plus de clarté. Ajout également de la nécessité de devoir saisir un mail dans le fichier de configuration (ou à défaut dans le terminal) : c'est une demande de transitous 2026-08-11 15:45:42 +02:00
debug.log Initial commit 2026-08-09 21:10:14 +02:00
pdf_export.py Prise en charge d'une plage plus large pour la fiche horraire PDF / Sur le site. 2026-08-12 11:56:55 +02:00
README.md Modification du fichier README pour plus de clarté. Ajout également de la nécessité de devoir saisir un mail dans le fichier de configuration (ou à défaut dans le terminal) : c'est une demande de transitous 2026-08-11 15:45:42 +02:00
requirements.txt Initial commit 2026-08-09 21:10:14 +02:00

Transporc en commun

Transporc est une application web responsive pour préparer un trajet, consulter les prochains passages d’un arrêt et explorer une ligne de transport.

Elle s’appuie sur l’API libre Transitous et sur les cartes OpenStreetMap. Une connexion Internet reste nécessaire pour rechercher les horaires, afficher les cartes et obtenir les prévisions météo.

Fonctionnalités principales

  • calcul d’itinéraires avec une heure de départ ou d’arrivée ;
  • prochains passages, temps réel et perturbations lorsqu’ils sont disponibles ;
  • filtrage des passages par ligne et direction ;
  • plan d’une ligne, liste de ses arrêts et table horaire journalière ;
  • préférences de marche, de correspondances, de modes de transport et d’accessibilité ;
  • partage d’un itinéraire, d’un arrêt filtré ou d’un plan de ligne ;
  • export d’un trajet au format iCalendar ;
  • export PDF optionnel des trajets et fiches horaires ;
  • installation dans le navigateur comme application web (PWA).

Installation rapide

Prérequis

  • Python 3.10 ou plus récent ;
  • une connexion Internet ;
  • Git, uniquement si vous souhaitez cloner le dépôt.

Vous pouvez récupérer le projet avec Git :

git clone https://sc.gogolenetwork.com/michellabrie404/Transporc.git
cd Transporc

Si vous avez téléchargé une archive ZIP, décompressez-la puis ouvrez un terminal dans le dossier obtenu.

Windows — PowerShell

py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python app.py

Si la commande py n’existe pas, utilisez python à la place.

Si PowerShell bloque l’activation de l’environnement virtuel, vous pouvez lancer directement les commandes suivantes :

.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe app.py

macOS ou Linux

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

Une fois le serveur démarré, ouvrez :

http://127.0.0.1:5000

Pour arrêter le serveur, revenez dans le terminal et appuyez sur Ctrl+C.

Configuration

Au premier lancement, si config.ini n’existe pas et que TRANSITOUS_CONTACT n’est pas défini, Transporc demande une adresse e-mail dans le terminal :

[Transporc] Première configuration
Transitous exige une adresse e-mail de contact dans le User-Agent des applications clientes.
Adresse e-mail de contact Transitous : nom@example.com
[Transporc] Configuration créée : .../config.ini

L’adresse est obligatoire : elle permet à Transitous d’identifier et de contacter les applications qui utilisent son service. Après validation, Transporc crée automatiquement config.ini. Ce fichier reste local et est ignoré par Git.

Pour préparer le fichier manuellement, copiez config.example.ini vers config.ini, puis adaptez son contenu :

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

[weather]
API_URL = https://api.open-meteo.com/v1/forecast

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

En cas d'absence de fichier de configuration, le mail sera demandé au lancement de l'application dans le terminal.

TRANSITOUS_CONTACT doit contenir une adresse e-mail ou l’URL de votre projet. Cette information est ajoutée au User-Agent envoyé à Transitous afin d’identifier correctement l’application cliente.

Les variables d’environnement ont priorité sur config.ini :

Variable Utilité
TRANSITOUS_API_URL Utiliser une autre instance Transitous/MOTIS
TRANSITOUS_CONTACT Définir le contact du User-Agent
WEATHER_API_URL Utiliser une autre API météo compatible
FLASK_HOST Modifier l’adresse d’écoute du serveur
FLASK_PORT Modifier le port, par défaut 5000
FLASK_DEBUG=1 Activer le mode de développement
TRANSPORC_CONFIG Charger un autre fichier INI

Exemple sous PowerShell :

$env:FLASK_DEBUG = "1"
python app.py

Exemple sous macOS ou Linux :

FLASK_DEBUG=1 python app.py

Activer les exports PDF

L’export PDF est facultatif et nécessite ReportLab. Dans l’environnement virtuel activé :

python -m pip install reportlab

Redémarrez ensuite l’application. Sans ReportLab, Transporc continue de fonctionner normalement, mais les boutons d’export PDF ne sont pas affichés.

Lancer l’application plus tard

Depuis le dossier du projet :

Windows

.\.venv\Scripts\Activate.ps1
python app.py

macOS ou Linux

source .venv/bin/activate
python app.py

Il n’est pas nécessaire de réinstaller les dépendances à chaque lancement.

Accès depuis un autre appareil du réseau local

Pour tester Transporc depuis un téléphone ou une autre machine du même réseau, modifiez temporairement la configuration :

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

Ouvrez ensuite http://ADRESSE_IP_DU_PC:5000 depuis l’autre appareil. Le pare-feu du système peut demander une autorisation.

N’exposez pas directement le serveur de développement Flask sur Internet. Pour un déploiement public, utilisez un serveur adapté à la production, un proxy inverse et HTTPS.

Installation comme application

Sur un navigateur compatible, le bouton « Installer l’application » permet d’ajouter Transporc à l’écran d’accueil.

  • sur localhost, l’installation PWA fonctionne pendant le développement ;
  • sur un serveur distant, HTTPS est requis ;
  • l’interface peut rester disponible hors connexion, mais les horaires, itinéraires, cartes et prévisions nécessitent toujours le réseau.

Tests

Dans l’environnement virtuel :

python -m unittest discover -s tests -v

Problèmes courants

python, python3 ou py est introuvable

Installez Python 3.10 ou plus récent, puis fermez et rouvrez le terminal. Sous Windows, vérifiez que l’option d’ajout de Python au PATH est activée pendant l’installation.

Le port 5000 est déjà utilisé

Changez PORT dans config.ini, par exemple :

[server]
PORT = 5050

L’application sera alors disponible sur http://127.0.0.1:5050.

Le bouton PDF n’apparaît pas

Installez ReportLab dans le même environnement Python que celui utilisé pour démarrer l’application, puis redémarrez le serveur.

Les horaires ou les cartes ne se chargent pas

Vérifiez la connexion Internet, la valeur de TRANSITOUS_API_URL et les messages affichés dans le terminal. Transitous étant un service communautaire, une indisponibilité temporaire peut également survenir.

Données et attributions

Transitous est un service communautaire fourni au mieux de ses possibilités. Pour un usage important ou soutenu, contactez le projet Transitous ou envisagez une instance MOTIS auto-hébergée.

Les attributions Transitous, ses sources de données et OpenStreetMap sont affichées dans le pied de page de l’application.