🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_610cvmn_610.py
Version 1.0.0
Date de création 17/03/2026
Auteur / Demandeur refoïa jeremy
Objectif principal Simuler une course de véhicules sur une durée déterminée et enregistrer les positions chronologiques dans un fichier texte.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script initialise une flotte de quatre véhicules (modèles réels) avec des vitesses aléatoires. Il calcule leur progression (position) chaque seconde pendant une durée définie (10 secondes par défaut) et consigne l’historique de la course dans un fichier de sortie.
📌 Problème résolu
Il permet de modéliser une cinématique simple et d’automatiser la génération de rapports de simulation textuels sans intervention manuelle.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI (Ligne de commande)
📦 Dépendances / Librairies
# Librairies standard (built-in)
random : Génération des vitesses initiales.
# Librairies externes (pip install)
Aucune.
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description Exemple
1 duree_secondes int ✅ Oui Durée de la simulation en secondes 10
📂 Fichiers / Sources de données en entrée
N/A (Les données des véhicules sont codées en dur dans la fonction simuler_course).
📤 SORTIES (OUTPUTS)
# Nom Type Description Exemple
1 ligne str État d’un véhicule à l’instant T » – Tesla_Model_S : Position = 120m… »
📂 Fichiers / Données en sortie
Type Chemin / Format Description
TXT ./resultats_simulation.txt Rapport détaillé de la position des véhicules seconde par seconde.
🧱 STRUCTURE DU SCRIPT
script_610cvmn_610.py
│
├── 📌 IMPORTS (random)
├── 📌 CLASSES
│ └── Vehicule (Modèle de l’objet mobile)
├── 📌 FONCTIONS
│ ├── simuler_course() → Logique de boucle et écriture fichier
│ └── avancer() → Incrémentation de la position
└── 📌 MAIN (Exécution de la simulation)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
Vehicule.__init__ nom, vitesse_max None Initialise un véhicule avec une vitesse aléatoire.
avancer() Aucun None Ajoute la vitesse à la position actuelle.
simuler_course() duree_secondes None Orchestre la boucle temporelle et l’écriture disque.
🔄 LOGIQUE / ALGORITHME
Étape 1 : Instanciation des objets Vehicule (Tesla, Renault, Peugeot, Ferrari).
Étape 2 : Ouverture du fichier resultats_simulation.txt en mode écriture.
Étape 3 : Boucle temporelle (de 1 à N secondes).
Étape 4 : Pour chaque véhicule, calcul de la nouvelle position (Positiont=Positiont−1+Vitesse).
Étape 5 : Écriture des données formatées dans le fichier.
Étape 6 : Fermeture du fichier et message de succès.
🚨 GESTION DES ERREURS
Cas d’erreur Type d’exception Comportement attendu
Erreur écriture disque IOError / Exception Capture par le bloc try/except et affichage du message d’erreur.
Type d’entrée invalide TypeError Arrêt du script si duree_secondes n’est pas un entier.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : La vitesse est constante durant toute la simulation (définie à l’instanciation).
Règle 2 : La vitesse est comprise entre 50 et 120 m/s.
Règle 3 : L’encodage du fichier de sortie doit être en UTF-8.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal 10 Fichier généré avec 10 blocs de données ⬜ À tester
2 Durée nulle 0 Fichier quasi vide (entête seulement) ⬜ À tester
3 Droits restreints Dossier protégé Message « Une erreur est survenue » ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python script_610cvmn_610.py
📋 Exemple de sortie attendue (Fichier)
Plaintext
— RÉSULTATS DE LA SIMULATION —
Durée totale : 10 secondes
Seconde 1 :
– Tesla_Model_S : Position = 85m (Vitesse = 85m/s)
– Renault_Zoe : Position = 62m (Vitesse = 62m/s)
…
——————————



Avis
Il n’y a pas encore d’avis.