Skip to content

Application Flask pour la planification automatique des courses de taxi médical à Nice. Optimisation des trajets, gestion des taxis, visualisation et archivage des plannings via une interface web moderne.

Notifications You must be signed in to change notification settings

pmourey/GestionTaxis

Repository files navigation

Flask Application Project

Application Flask dédiée à l'optimisation automatisée de planning pour taxis médicaux via l'API Mapbox.

Fonctionnalités

  • Traitement d'emails EML : extraction automatique des courses depuis les réservations
  • Algorithme d'optimisation : affectation intelligente des courses aux taxis disponibles
  • Calcul d'itinéraires : distances et durées via l'API Mapbox Directions
  • Gestion de flotte : suivi des positions et disponibilités des taxis
  • Génération de planning automatisé avec optimisation des trajets

Architecture Technique

Framework et Technologies

  • Flask : Framework web Python léger
  • Jinja2 : Moteur de templates HTML
  • Mapbox SDK : Géocodage et calcul d'itinéraires
  • Python-dotenv : Gestion des variables d'environnement

Structure Modulaire

  • Séparation des couches : Front-end (templates), Back-end (Flask), logique métier (modules)
  • Modules réutilisables : geocoding_functions, directions_functions, text_functions
  • Classes métier : Taxi, Location, Course avec DAO pattern
  • Gestion d'erreurs : Templates d'erreur dédiés et logging

APIs et Services

  • Mapbox Geocoding : Conversion adresses ↔ coordonnées GPS
  • Mapbox Directions : Calcul d'itinéraires optimisés
  • Gestion de fichiers : Upload sécurisé (EML)
  • Persistance : Fichiers CSV pour les données GPS et taxis

Sécurité

  • Validation des fichiers : Vérification des extensions (.eml)
  • Noms sécurisés : secure_filename() pour les uploads
  • Variables d'environnement : Clés API protégées
  • Debug toolbar : Outils de développement intégrés

Installation rapide

Prérequis

  • Python >= 3.13

Installation des dépendances

pip install -r requirements.txt

Démarrage

  1. Renommer config_template.py en config.py
  2. Ajouter votre clé API Mapbox dans MAPBOX_API_KEY (fichier .env)
  3. Lancer l'application Flask :
python app.py

Installation

  1. Renommer config_template.py en config.py
  2. Ajouter votre clé API Mapbox dans MAPBOX_API_KEY
  3. Obtenir une clé API gratuite sur Mapbox

🚀 Installation & Publication sur GitHub

Initialisation du dépôt Git

git init
git add .
git commit -m "Initial commit"

Création et publication sur GitHub

  1. Créez un nouveau dépôt sur GitHub (nom recommandé : GestionTaxis).
  2. Ajoutez le dépôt distant :
git remote add origin https://github.com/<votre-utilisateur>/GestionTaxis.git
git branch -M main
git push -u origin main

Documentation complète

Pour une documentation détaillée sur la planification automatique, consultez le fichier README_PLANIFICATION_AUTOMATIQUE.md.

📦 Résumé du projet

Ce projet propose un système avancé de planification automatique pour taxis médicaux à Nice. Il intègre l’optimisation des courses, la gestion des taxis, la géolocalisation et une interface web moderne.

About

Application Flask pour la planification automatique des courses de taxi médical à Nice. Optimisation des trajets, gestion des taxis, visualisation et archivage des plannings via une interface web moderne.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published