Skip to main content

Simulateur de trafic routier (routes, véhicules, réseau, analyse)

Project description

simulateur_trafic_gh — Simulateur de Trafic Routier

Un simulateur Python modulaire pour modéliser et analyser le trafic routier à travers des routes, véhicules, et réseaux routiers.
Ce projet est conçu pour des fins pédagogiques et expérimentales — facile à étendre et à intégrer dans d’autres applications.


Installation

pip install simulateur_trafic_gh

Ou depuis le code source :

git clone https://github.com/YosraGhanmi/simulateur_trafic_gh.git
cd simulateur_trafic_gh
pip install .

Structure du package

simulateur_trafic_gh/
├── core/
│   ├── simulateur.py       # Boucle principale de simulation
│   ├── analyseur.py        # Calculs de statistiques (vitesses moyennes, congestion)
├── models/
│   ├── vehicule.py         # Classe représentant un véhicule
│   ├── route.py            # Classe représentant une route
│   ├── reseau.py           # Ensemble de routes et de véhicules
├── IO/
│   ├── affichage.py        # Affichage console et visualisation
│   ├── export.py           # Exportation des résultats JSON
├── data/
│   ├── config_reseau.json  # Exemple de configuration
├── exception.py            # Gestion des erreurs personnalisées
└── main.py                 # Exemple d'exécution

Exemple d’utilisation

from simulateur_trafic_gh.core.simulateur import Simulateur

# Charger un réseau depuis un fichier JSON
simu = Simulateur(fichier_config='data/config_reseau.json')

# Lancer la simulation pendant 60 tours (delta_t = 60 secondes)
simu.lancer_simulation(n_tours=60, delta_t=60, afficher=True, export_path='resultats.json')

print("Simulation terminée ! Résultats enregistrés dans resultats.json")

Fonctionnalités principales

✅ Chargement automatique du réseau routier via un fichier JSON
✅ Mise à jour dynamique de la position et vitesse des véhicules
✅ Analyse statistique des vitesses moyennes et zones congestionnées
✅ Export des résultats en JSON
✅ Gestion d’erreurs robustes (fichier manquant, route pleine, etc.)


Exemple de configuration JSON

{
  "routes": [
    {"nom": "Route1", "longueur": 500, "limite_vitesse": 15},
    {"nom": "Route2", "longueur": 300, "limite_vitesse": 12}
  ],
  "vehicules": [
    {"id": "V1", "route": "Route1", "vitesse": 10, "position": 0},
    {"id": "V2", "route": "Route2", "vitesse": 12, "position": 0}
  ]
}

Optimisation et Performance

Le projet peut être optimisé grâce à :

  • Profilage (cProfile) pour identifier les goulots d’étranglement
  • Numba pour accélérer les boucles critiques
  • Cython pour compiler certaines classes Python en C

Auteur

Yosra Ghanmi
📧 yosraghanmi23@gmail.com
💻 GitHub : YosraGhanmi


Licence

Distribué sous licence MIT — libre d’utilisation, de modification et de distribution.

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_gh-1.0.2.tar.gz (12.9 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_gh-1.0.2-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file simulateur_trafic_gh-1.0.2.tar.gz.

File metadata

  • Download URL: simulateur_trafic_gh-1.0.2.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for simulateur_trafic_gh-1.0.2.tar.gz
Algorithm Hash digest
SHA256 956305b858ff5890b6879110d510cba8b4e8ff1a7dd057cafc3fffd881ef604c
MD5 6f39dd2dfe0cbf535661e5a19401ff42
BLAKE2b-256 80d57bbb46b74bd9f6ad1652d283d3c3619adb18071c0bdddecf01bf1610d790

See more details on using hashes here.

File details

Details for the file simulateur_trafic_gh-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for simulateur_trafic_gh-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90cff9b47691a7ff794bd073aef3ccb3a7ccb6301e1d96320de32b70844079f4
MD5 696a82ce8b7b0d23cd7ff0c5414873cc
BLAKE2b-256 e430acfc1340eb8d44259e7b6a9efde00400c6a0d09ea6d61d2889d7bb97a5f1

See more details on using hashes here.

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