Projet universitaire développé par Abderrahman AJINOU (Université Paris Cité, N° Étudiant : 22116322)
Ce projet n'est pas un simple formulaire ou site web : il s'agit d'une application d'intelligence artificielle appliquée à la mobilité urbaine. Voici pourquoi :
- Utilisation du machine learning : le cœur du projet repose sur un modèle d'apprentissage automatique (RandomForest) pour prédire le niveau de congestion routière.
- Données synthétiques réalistes : le modèle s'entraîne sur des données générées simulant des conditions réelles (heure, jour, météo, volume).
- Prétraitement et évaluation : le code inclut l'encodage, la préparation des features, et le calcul de métriques (accuracy, importance des variables).
- Interface interactive : l'utilisateur saisit les conditions de trafic et obtient une prédiction en temps réel, avec visualisations et statistiques.
- Respect des standards IA : le projet suit les bonnes pratiques du machine learning (prétraitement, modularité, visualisation, évaluation).
En résumé : ce prédicteur est un vrai projet d'IA (machine learning appliqué à la mobilité), et non un simple projet d'algorithmique ou d'interface. Il peut être présenté comme tel dans un contexte académique ou professionnel.
Traffic Flow Predictor est une application web qui prédit le niveau de congestion routière (faible, moyen, élevé) à partir de conditions saisies par l'utilisateur. Le projet est développé en Python 3.10 avec Flask pour l’interface web, et propose un design moderne et pédagogique.
Captures d'écran montrant les différentes facettes du système de prédiction et d'analyse du trafic
Traffic Flow Predictor/
├── app.py # Point d'entrée Flask
├── requirements.txt # Dépendances Python
├── model/
│ └── traffic_model.py # Logique IA (RandomForest, prétraitement, évaluation)
├── controller/
│ └── routes.py # Routes Flask (MVC)
├── templates/
│ ├── index.html # Page principale (formulaire, résultats dynamiques)
│ ├── results.html # Page de résultats
│ ├── stats.html # Statistiques et visualisations
│ ├── error.html # Gestion des erreurs
│ └── base.html # Template de base
├── static/
│ ├── css/
│ │ └── style.css # Styles personnalisés
│ └── images/ # Images, icônes, visualisations (à compléter)
├── visualizations/ # (optionnel) Scripts ou images de visualisation
├── data/ # (optionnel) Jeux de données ou base SQLite
├── tests/
│ └── test_traffic.py # Tests unitaires
├── devbook.md # Suivi du développement (étapes, TODO)
├── .github/
│ └── workflows/ci-cd.yml # CI/CD GitHub Actions
└── venv310/ # Environnement virtuel Python (à ignorer)
# Installer pyenv si besoin : https://github.com/pyenv/pyenv
pyenv install 3.10.14
pyenv global 3.10.14
python -m venv venv310
source venv310/bin/activate
pip install -r requirements.txtpython3.10 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Flask==2.3.3
- pandas==2.1.4
- scikit-learn==1.3.2
- matplotlib==3.8.2
- numpy==1.26.3
- seaborn==0.12.2
Toutes les versions sont précisées dans requirements.txt.
app.py: Lance l’interface web Flask (formulaire, prédiction, résultats dynamiques)model/traffic_model.py: Logique IA (prétraitement, entraînement, prédiction, évaluation)controller/routes.py: Routes Flask (MVC)templates/index.html: Formulaire principal, affichage dynamique des résultatsstatic/css/style.css: Styles personnalisésstatic/images/: Images, icônes, visualisations (à compléter)devbook.md: Suivi du développement
- Les données sont générées de façon synthétique par le modèle (
model/traffic_model.py). - Possibilité d’ajouter une base SQLite ou des fichiers CSV dans
data/pour enrichir le projet.
- Lancer l’application web
source venv310/bin/activate python app.py - Accéder à l’interface : http://localhost:5000
- Remplir le formulaire avec les conditions de trafic
- Cliquer sur « Prédire »
- Obtenir la prédiction (faible, moyen, élevé), les explications et les statistiques
Des graphiques peuvent être générés pour analyser le modèle :
- Statistiques de performance (accuracy, importance des variables)
- Visualisations à compléter dans
static/images/ouvisualizations/
Pour générer ou regénérer les graphiques : (à compléter selon les scripts disponibles)
# Exemple :
# python visualizations/generate_images.py- Vérifier que l’application se lance sans erreur
- Tester plusieurs combinaisons dans le formulaire
- Les métriques (accuracy, importance des features) s’affichent dans la section statistiques
- Lancer les tests unitaires :
pytest
- Ne versionnez pas les fichiers volumineux ou sensibles (
venv310/,.db,.pyc, etc. — voir.gitignore) - Gardez l’environnement isolé (pyenv ou venv)
- Commentez votre code pour mieux comprendre plus tard
- Utilisez le devbook.md pour suivre l’avancement et ne rien oublier
- N’hésitez pas à demander de l’aide si vous bloquez sur un bug ou une question IA
- Automatisez les tests avec GitHub Actions (
.github/workflows/ci-cd.yml)
Abderrahman AJINOU
Étudiant en 2ᵉ année licence Informatique Générale
Université Paris Cité, Campus Grand Moulin
Mail : abderrahman.ajinou@etu.u-paris.fr
🏆 Pour toute question ou suggestion, n’hésitez pas à me contacter !


