Skip to main content

Un simulateur modulaire pour modéliser et analyser le trafic routier

Project description

Simulateur de Trafic Routier Intelligent

CI Tests

Un simulateur modulaire pour modéliser et analyser le trafic routier, développé dans le cadre d'un projet Python orienté objet.

Structure du Projet

simulateur_trafic/
├── main.py                 # Point d'entrée principal
├── models/                 # Modèles de base
│   ├── vehicule.py        # Classe Vehicule
│   ├── route.py           # Classe Route
│   └── reseau.py          # Classe ReseauRoutier
├── core/                  # Modules core
│   ├── simulateur.py     # Classe Simulateur principale
│   ├── analyseur.py      # Classe Analyseur pour les statistiques
│   └── exceptions.py     # Exceptions personnalisées
├── io/                    # Modules d'entrée/sortie
│   ├── affichage.py      # Affichage console
│   └── export.py         # Export JSON/CSV
├── tests/                 # Tests unitaires et d'intégration
│   ├── conftest.py       # Fixtures pytest
│   ├── test_vehicule.py
│   ├── test_route.py
│   ├── test_reseau.py
│   └── test_simulateur.py
└── data/                  # Données de configuration
    └── config_reseau.json

Installation

  1. Créer et activer l'environnement virtuel :
# Créer l'environnement virtuel
python3 -m venv venv

# Activer l'environnement virtuel
# Sur macOS/Linux :
source venv/bin/activate

# Sur Windows :
# venv\Scripts\activate
  1. Installer les dépendances :
pip install -r requirements.txt

Utilisation

Lancer la simulation

python main.py

Ou depuis Python :

from core.simulateur import Simulateur

simu = Simulateur(fichier_config="data/config_reseau.json")
simu.lancer_simulation(n_tours=60, delta_t=60)

Exécuter les tests

pytest tests/

Avec couverture de code :

pytest tests/ --cov=simulateur_trafic --cov-report=html

CI/CD

Le projet utilise GitHub Actions pour l'intégration continue :

  • CI : Tests automatiques sur chaque push/PR
  • Tests : Matrice de tests sur plusieurs OS (Ubuntu, macOS, Windows) et versions Python (3.9-3.12)
  • Lint : Vérification du code avec flake8 et pylint

Les workflows sont définis dans .github/workflows/.

Fonctionnalités

  • Modélisation : Routes, véhicules, réseau routier
  • Simulation : Évolution temporelle du trafic
  • Statistiques : Vitesses moyennes, zones de congestion, temps de parcours
  • Export : Rapports JSON et CSV
  • Tests : Suite complète de tests unitaires et d'intégration
  • Gestion d'erreurs : Exceptions personnalisées et validation des données

Configuration

Le fichier data/config_reseau.json permet de configurer :

  • Les routes (nom, longueur, limite de vitesse)
  • Les véhicules (identifiant, route, position initiale, vitesse)

Auteurs

Projet développé dans le cadre d'un TP Python.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simulateur_trafic_ysf-1.0.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simulateur_trafic_ysf-1.0.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file simulateur_trafic_ysf-1.0.0.tar.gz.

File metadata

  • Download URL: simulateur_trafic_ysf-1.0.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simulateur_trafic_ysf-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4f722555fceb86dbb5de7541706c2d4101a867fc9456d1c303b2b4c459e3c4e8
MD5 1f7ac575bcb495f7e22eb8d0cab1d5ba
BLAKE2b-256 11e299bf1918f978fd78153b2b98e5328bcc3511bd7cdbc4fbaa714289441381

See more details on using hashes here.

Provenance

The following attestation bundles were made for simulateur_trafic_ysf-1.0.0.tar.gz:

Publisher: publish.yml on Jojoussef/simulateur_trafic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simulateur_trafic_ysf-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for simulateur_trafic_ysf-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e719b3a10c5fca114b2b74d22ac139fca50b3701f5f9b50fb4a875fa2e6d92a
MD5 9f0d61317ab774e9a744521a33754ae7
BLAKE2b-256 7207474a0689b79e198c8a39e0f9c205c5ec239fcfe41bc3c459c57f75b1d535

See more details on using hashes here.

Provenance

The following attestation bundles were made for simulateur_trafic_ysf-1.0.0-py3-none-any.whl:

Publisher: publish.yml on Jojoussef/simulateur_trafic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page