1. 01 jan., 2026 4 validations
    • Hamadou Ba's avatar
      Ajout graphique détection du régime permanent · d817020f
      Hamadou Ba a écrit
      Nouveau composant SteadyStateChart qui affiche:
      - Évolution du nombre de clients dans le système
      - Séparation visuelle période de chauffe / régime permanent
      - Statistiques du régime permanent (moyenne, écart-type, min, max)
      - Coefficient de variation pour évaluer la stabilité
      - Courbe colorée différemment avant/après warmup_time
      
      Intégration dans l'onglet Visualisations de ResultsDisplay.
      d817020f
    • Hamadou Ba's avatar
      Modification: saisie directe de λ en taux au lieu du temps moyen · e7544a1d
      Hamadou Ba a écrit
      Changements dans ParameterPanel:
      - λ (lambda) maintenant saisi directement en req/ms
      - Label: "Taux d'arrivée externe (λ)"
      - Helper text: "Requêtes par milliseconde (req/ms)"
      - Unité affichée: "req/ms"
      - Plus de conversion nécessaire pour λ
      
      Avantages:
       Saisie directe du taux (comme les μ)
       Cohérent avec la notation mathématique
       Plus simple pour les utilisateurs avancés
       Les temps de service gardent la conversion ms/s
      
      Exemple de saisie:
      - λ = 0.008 req/ms (au lieu de "temps entre arrivées = 125 ms")
      - μc = 10 ms (temps moyen)
      - μ1 = 120 ms (temps moyen)
      
      e7544a1d
    • Hamadou Ba's avatar
      Ajout convertisseur de temps ms/s intégré à l'interface · ce6275fc
      Hamadou Ba a écrit
      Nouveau composant TimeConverter:
      - Conversion bidirectionnelle ms  s
      - Interface pliable/dépliable pour gagner de l'espace
      - Bouton d'échange (swap) pour inverser les valeurs
      - Référence rapide avec les valeurs du TP (10ms, 120ms, 240ms, etc.)
      - Formules de conversion affichées
      - Intégré directement dans le ParameterPanel
      
      Fonctionnalités:
       Entrée dans un champ, conversion automatique dans l'autre
       Bouton swap pour échanger les valeurs
       Section référence avec toutes les valeurs du TP
       Pliable par défaut pour ne pas encombrer l'interface
       Style cohérent avec Material-UI
      
      Utilisation:
      1. Cliquez sur "🔄 Convertisseur de temps" pour déplier
      2. Entrez une valeur en ms ou en s
      3. La conversion se fait automatiquement
      4. Utilisez le bouton ⇅ pour échanger les valeurs
      
      ce6275fc
    • Hamadou Ba's avatar
      Ajout sélecteur d'unité de temps (ms/s) et rapport LaTeX complet · 9c2566df
      Hamadou Ba a écrit
      Frontend:
      - Ajout d'un ToggleButton pour choisir entre millisecondes (ms) et secondes (s)
      - Conversion automatique temps  taux dans ParameterPanel
      - Interface plus intuitive: entrer directement les temps moyens (10ms, 120ms, etc.)
      - Labels mis à jour: "Temps moyen de service" au lieu de "Taux de service"
      - Helper text dynamique selon l'unité choisie
      
      Rapport LaTeX:
      - Document complet de 49 pages avec structure professionnelle
      - 8 sections principales (intro, théorie, modélisation, implémentation, scénarios, résultats, analyse, conclusion)
      - 2 annexes (code source complet, résultats détaillés)
      - Bibliographie de 20 références scientifiques
      - Diagrammes TikZ, tableaux, équations mathématiques
      - Validation du théorème de Jackson avec preuves
      - Fichier PDF compilé: rapport/main.pdf (420 KB)
      
      Documentation:
      - Guide d'utilisation détaillé (GUIDE_UTILISATION.md)
      - Exemples pour les 5 scénarios du TP
      - Explications de la con...
      9c2566df
  2. 31 déc., 2025 6 validations
    • Hamadou Ba's avatar
      Feature: Ajout des visualisations avancées - Séries temporelles et Histogramme · c1ba09b2
      Hamadou Ba a écrit
      Backend (Python):
      - Collecte de données de séries temporelles (échantillonnage toutes les 1000 unités)
      - Comptage du nombre de clients par file au fil du temps
      - Génération d'histogramme des temps de traitement (20 bins)
      - Calcul de statistiques: min, max, moyenne, écart-type
      - Ajout des champs time_series_data et histogram_data à SimulationResults
      - Méthode _create_histogram() pour génération automatique des bins
      
      Frontend (React + TypeScript):
      - Nouveau composant TimeSeriesChart: graphique de l'évolution du nombre de clients
        * Affiche la convergence vers l'état stable
        * Utilise Chart.js Line chart
        * Responsive avec Material-UI Paper
      - Nouveau composant ProcessingTimeHistogram: distribution des temps de traitement
        * Barres montrant la distribution exponentielle
        * Statistiques affichées (min, moyenne, écart-type, max)
        * Utilise Chart.js Bar chart
      - Intégration dans ResultsDisplay onglet Visualisations
      - Nouveaux types TypeScript: TimeSeriesData, HistogramData
      
      Améliorations TP:
      ✓ Visualisation de la convergence vers l'état d'équilibre
      ✓ Validation de la distribution exponentielle (M/M/1)
      ✓ Graphiques scientifiques pour le rapport
      
      Build: ✓ 720.12 kB (gzip 231.51 kB)
      
      c1ba09b2
    • Hamadou Ba's avatar
      Refactor: Migration complète de Tailwind CSS vers Material-UI · 4d57a1fe
      Hamadou Ba a écrit
      - Remplacement de tous les composants Tailwind par Material-UI
      - Dashboard: AppBar, Container, Paper, Stack pour la mise en page
      - ScenarioSelector: FormControl, Select, MenuItem, Alert
      - ParameterPanel: TextField, Button, IconButton, Paper
      - SimulationControl: Button variants, Chip avec animation pulse
      - ResultsDisplay: Tabs, Alert, CircularProgress
      - MetricsCard: Paper avec variants (outlined/elevation)
      - ComparisonTable: Table MUI complète avec TableContainer
      - ExportButton: Stack avec boutons Material
      
      Thème Material Design:
      - Palette de couleurs cohérente (primary blue, secondary purple)
      - Typography personnalisée
      - Components stylisés (borderRadius: 8, textTransform: none)
      - CssBaseline pour normalisation CSS
      
      Corrections TypeScript:
      - Import type pour SelectChangeEvent
      - Suppression imports non utilisés
      
      Build: ✓ 713.70 kB (gzip 229.68 kB)
      Tests: ✓ 21/21 tests backend passent
      
      4d57a1fe
    • Hamadou Ba's avatar
      Migration partielle vers Material-UI (MUI) · 904278cf
      Hamadou Ba a écrit
      Remplacement de Tailwind CSS par Material-UI pour un design plus professionnel.
      
      1. Installation MUI:
         - @mui/material @mui/icons-material
         - @emotion/react @emotion/styled (styling engine)
      
      2. Configuration theme (theme.ts):
         - Palette couleurs (primary=bleu, secondary=violet)
         - Typography (Roboto font family)
         - Components overrides (buttons, cards)
         - Border radius 8px
      
      3. Main.tsx:
         - ThemeProvider wrapping App
         - CssBaseline pour reset CSS Material
      
      4. Dashboard refactorise (100% MUI):
         - AppBar + Toolbar (header professionnel)
         - Container responsive (maxWidth xl)
         - Paper elevation pour cartes (ombres)
         - Typography pour textes (h6, caption, body2)
         - Alert avec IconButton pour erreurs
         - Stack + Box pour layout flexbox
         - Icons: ScienceIcon, CloseIcon
      
      Avantages MUI:
      - Design Material cohérent et professionnel
      - Composants accessibles (ARIA)
      - Animations fluides
      - Theme customizable
      - TypeScript support excellent
      - Document...
      904278cf
    • Hamadou Ba's avatar
      Fix: Correction syntaxe ResultsDisplay + Scripts de test · 58925932
      Hamadou Ba a écrit
      Corrections et ajouts:
      
      1. ResultsDisplay.tsx:
         - Suppression div fermante en double (ligne 346-347)
         - Structure JSX corrigee pour les 3 onglets
         - Frontend recharge correctement maintenant
      
      2. test-integration.sh:
         - Script complet de test d'integration
         - 8 tests automatiques:
           * Backend health check
           * API endpoints (root, scenarios, simulation)
           * Execution simulation complete
           * Analyse Jackson et comparaison
           * Frontend accessible
           * Configuration CORS
         - Code couleur pour resultats (vert=OK, rouge=echec)
         - Affichage URLs finales
      
      3. DEMARRAGE.md:
         - Guide complet de demarrage
         - Instructions installation (Python + Node.js)
         - Commandes lancement (backend + frontend)
         - Utilisation interface web
         - Documentation API REST avec exemples curl
         - Description des 5 scenarios
         - Architecture detaillee (backend + frontend)
         - Metriques calculees (simulation + analytique)
         - Section depannage
       ...
      58925932
    • Hamadou Ba's avatar
      Phase 7: Visualisations - Charts et Diagrammes · ac7bebc6
      Hamadou Ba a écrit
      Implementation complete des visualisations interactives:
      
      1. Bibliotheques installees:
         - chart.js + react-chartjs-2 (graphiques)
         - d3 + @types/d3 (diagramme reseau)
      
      2. NetworkDiagram (D3.js):
         - Diagramme topologie du reseau
         - Visualisation coordinateur + serveurs + sortie
         - Fleches avec probabilites de routage (p, qi)
         - Taux de service affiches (λ, μc, μi)
         - Code couleur: bleu=coordinateur, violet=serveurs, rouge=sortie
         - Fleches pointillees pour feedback (serveur -> coord)
      
      3. UtilizationChart (Chart.js):
         - Graphique barres pour utilisation (ρ)
         - Comparaison simulation vs analytique
         - Ligne rouge a ρ=1.0 (seuil stabilite)
         - Tooltip avec valeurs precises
      
      4. MetricsComparisonChart (Chart.js):
         - Deux versions: L (nombre moyen clients) et W (temps moyen)
         - Barres comparatives simulation/analytique
         - Visualisation par file d'attente
      
      5. ResultsDisplay mis a jour:
         - Interface a onglets: Metriques | Visualisations | Comparaison
         - Onglet Metriques: tableaux metriques detailles
         - Onglet Visualisations:
           * Diagramme reseau
           * Graphique utilisation
           * Graphiques L et W cote a cote
         - Onglet Comparaison:
           * Table comparaison complete
           * Charts visualisation differences
      
      6. ExportButton:
         - Export JSON (config + tous resultats)
         - Export CSV (metriques formatees)
         - Boutons dans header resultats
         - Fichiers horodates automatiquement
      
      7. Dashboard integre:
         - Boutons export visibles en permanence
         - Layout responsive pour visualisations
         - Grille adaptative (1 ou 2 colonnes selon taille ecran)
      
      Toutes les visualisations requises pour le projet universitaire sont implementees.
      L'application est complete et prete pour execution des 5 scenarios.
      ac7bebc6
    • Hamadou Ba's avatar
      Phase 6: Frontend Core - Dashboard, Components et State Management · 698ecb50
      Hamadou Ba a écrit
      Implementation complete du frontend React avec:
      
      1. API Client Service (services/api.ts)
         - Axios client configure avec base URL
         - 12 endpoints mappes (simulation, scenarios, analytics)
         - Types TypeScript pour toutes les requetes/reponses
         - Gestion erreurs et timeouts
      
      2. Types TypeScript (types/simulation.ts)
         - Tous les modeles Pydantic mappes en TypeScript
         - SimulationConfig, SimulationResults
         - NetworkAnalytics, NetworkComparison
         - Interfaces completes pour API
      
      3. Zustand Store (store/simulationStore.ts)
         - Gestion d'etat centralisee
         - Actions: setConfig, startSimulation, computeAnalytical, etc.
         - State: config, results, analyticalResults, comparisonResults
         - Chargement automatique des scenarios
         - Calculs analytiques et comparaisons automatiques
      
      4. Dashboard Layout (components/Dashboard.tsx)
         - Layout principal avec header/footer
         - Grille responsive (sidebar + main content)
         - Notification d...
      698ecb50