Newer
Older
> 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)**.
- [Docker Desktop](https://www.docker.com/products/docker-desktop/) installé et lancé
| 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.
| 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è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é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 |
| 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 |
```
.
├── 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
Projet réalisé dans le cadre du cours "Modélisation, Incertitude et Simulation" 2025-2026.