# Simulation de Réseau de Files d'Attente > Projet MED 2025-2026 — Modélisation, Incertitude et Simulation Simulateur interactif de réseau de files d'attente pour modéliser une base de données distribuée. Le système repose sur la **simulation d'événements discrets** et la **validation analytique par le théorème de Jackson (M/M/1)**. --- ## Prérequis - [Docker Desktop](https://www.docker.com/products/docker-desktop/) installé et lancé --- ## Lancement ```bash docker compose up ``` | Service | URL | |---------|-----| | Frontend | http://localhost:5173 | | Backend API | http://localhost:8000 | | Documentation API (Swagger) | http://localhost:8000/docs | > La base de données PostgreSQL est initialisée automatiquement au premier démarrage via Alembic. ### Réinitialiser la base de données ```bash docker compose down -v && docker compose up ``` --- ## Pages de l'application | Page | Description | |------|-------------| | **Simulation** `/` | Configure les paramètres (λ, μ, serveurs) et lance une simulation. Les résultats théoriques (Jackson) se mettent à jour en temps réel à droite. | | **Résultats** `/resultats` | Affiche les métriques (L, W, ρ), les graphiques N(t), les compteurs de requêtes par file, et la comparaison analytique vs simulation. | | **Comparaison** `/comparaison` | Compare plusieurs simulations sauvegardées en base de données côte à côte. | | **Tutoriel** `/tutorial` | Guide de démarrage interactif — affiché automatiquement à la première visite, accessible via le menu. | --- ## Paramètres de simulation | Paramètre | Description | |-----------|-------------| | **λ** | Taux d'arrivée externe des requêtes (req/ms) | | **μ coordinateur** | Taux de service du coordinateur (req/ms) | | **p** | Probabilité de sortie après le coordinateur | | **μ serveur** | Taux de service de chaque serveur (req/ms) | | **q** | Probabilité de routage vers chaque serveur | Le réseau est composé d'**1 coordinateur** suivi de **N serveurs en parallèle**. Le système est stable si **ρ < 1** pour chaque file (condition de Jackson). ### Scénarios prédéfinis | Scénario | Description | |----------|-------------| | Serveur rapide unique | 1 serveur rapide (120 ms) — configuration de base | | Serveur rapide + serveur lent | Déséquilibre de charge (120 ms + 240 ms) | | Trois serveurs lents | Parallélisation avec 3 serveurs à 240 ms | | Serveur rapide + serveur moyen | Configuration mixte (120 ms + 190 ms) | | Sensibilité aux paramètres | Comparaison low / medium / high λ avec 3 serveurs lents | --- ## Stack technique | Composant | Technologie | |-----------|-------------| | Frontend | React 18 + TypeScript + Vite + Material UI | | State management | Zustand | | Graphiques | Chart.js + react-chartjs-2 | | Backend | FastAPI (Python 3.11) | | Base de données | PostgreSQL 16 + SQLAlchemy + Alembic | | Infrastructure | Docker Compose | --- ## Structure du projet ``` . ├── docker-compose.yml ├── apps/ │ ├── backend/ # API FastAPI │ │ ├── src/ │ │ │ ├── api/ # Endpoints REST (simulation, scenarios) │ │ │ ├── core/ # Moteur de simulation (événements discrets) │ │ │ ├── analytics/ # Théorème de Jackson, comparaison analytique │ │ │ ├── models/ # Schémas Pydantic + modèles SQLAlchemy │ │ │ └── database/ # Connexion DB + migrations Alembic │ │ └── Dockerfile │ └── web/ # Application React │ ├── src/ │ │ ├── pages/ # SimulationPage, ResultatsPage, ComparaisonPage, TutorialPage │ │ ├── components/ # Dashboard, ParameterPanel, ResultsDisplay, graphiques │ │ └── store/ # simulationStore (Zustand) │ └── Dockerfile ``` --- ## Auteurs Projet réalisé dans le cadre du cours "Modélisation, Incertitude et Simulation" 2025-2026.