Rapport de projet – M.A. Simulation
1. Contexte du projet
M.A. Simulation est un projet de synthèse réalisé dans le cadre de la technique informatique.
L’objectif était de concevoir une application web permettant la création de plans d’immeubles et la simulation d’évacuation en cas d’urgence, tout en intégrant une visualisation 3D interactive.
Le projet combine plusieurs domaines : développement web, intelligence artificielle (algorithme de pathfinding), visualisation 3D et gestion de projet.
2. Objectifs principaux
Offrir un outil simple et intuitif pour créer des plans d’immeubles à partir d’une grille interactive.
Simuler l’évacuation de personnes dans ces plans en utilisant un algorithme de recherche de chemin (A*).
Fournir une visualisation 3D en temps réel de l’environnement et des déplacements simulés.
Documenter et structurer toutes les étapes du développement : conception, planification, réalisation et tests.
3. Fonctionnalités développées
Création de plans
Interface basée sur une grille où l’utilisateur peut placer :
Salles
Couloirs
Portes
Sorties
Simulation d’évacuation
Implémentation de l’algorithme A* pour calculer le chemin le plus rapide vers la sortie.
Prise en compte des obstacles (murs, portes fermées, etc.).
Gestion de plusieurs agents (personnes) simultanément.
Visualisation 3D
Intégration de Three.js pour représenter le plan en 3D.
Déplacements animés des agents dans l’espace simulé.
Contrôles de caméra pour naviguer librement autour du modèle.
4. Technologies utilisées
Front-end :
JavaScript, HTML5, CSS3
Three.js pour la 3D
Back-end :
Python (Flask) pour la logique et la simulation
PHP pour certaines fonctionnalités web
Serveur :
Apache2 hébergé sur un serveur Ubuntu
Déploiement accessible à l’adresse : masimulation.xhomier.com
5. Défis rencontrés
Conversion 2D → 3D : transformer une grille 2D en un modèle 3D exploitable avec Three.js.
Algorithme de pathfinding : adaptation de l’A* aux contraintes du projet (vitesse, obstacles, multiples agents).
Intégration front/back : communication fluide entre Flask (simulation) et l’interface web.
Accessibilité et performance : rendre la simulation fluide et intuitive même pour un utilisateur non technique.
6. Résultats
Une application web fonctionnelle où l’utilisateur peut créer un plan et lancer une simulation d’évacuation.
Une visualisation 3D dynamique et interactive des déplacements.
Un projet documenté avec rigueur (mandat, conception, planification, rapports).
Démonstration des compétences techniques en :
Développement web complet (front-end & back-end)
Intelligence artificielle (pathfinding A*)
Visualisation 3D
Gestion de projet
7. Liens utiles
Site du projet : masimulation.xhomier.com
Code source GitHub : Projet-Synthese_Homier_Fournier