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

Uploaded Python 3

File details

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

File metadata

  • Download URL: simulateur_trafic_gh-1.0.1.tar.gz
  • Upload date:
  • Size: 13.0 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.1.tar.gz
Algorithm Hash digest
SHA256 36b04d562946a6da789ff06f70a2981d89445033a1184b22089043cc1a95cae7
MD5 8f0255253e147834bd9176b217a21748
BLAKE2b-256 764e543b30c1bdbb4085e87ccc06042412a48222173f4a4318b8d73b6669548f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simulateur_trafic_gh-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e61711e48f72cb2416900f3347a20bbf572f153f77913c2487b3ce7111e5c80
MD5 7255d3513ee2a30e782ef28284f13239
BLAKE2b-256 667ab06115e631dccd46eac6830aea40046afe4048ab6c378bfd69e847c30801

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