OUAREDAEK commited on
Commit
57abae0
·
verified ·
1 Parent(s): 33ed7d5

Upload templates/index.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. templates/index.html +311 -25
templates/index.html CHANGED
@@ -112,6 +112,158 @@ h3::before {
112
  display: block;
113
  }
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  /* ================= NAVIGATION ================= */
116
  .nav {
117
  display: flex;
@@ -1293,6 +1445,10 @@ textarea:focus {
1293
  gap: 10px;
1294
  padding: 12px;
1295
  }
 
 
 
 
1296
  }
1297
 
1298
  @media (max-width: 768px) {
@@ -1425,6 +1581,20 @@ textarea:focus {
1425
  .compact-heatmap-container {
1426
  flex-direction: column;
1427
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1428
  }
1429
 
1430
  @media (max-width: 480px) {
@@ -1511,7 +1681,10 @@ textarea:focus {
1511
  <!-- SYSTEME D'ONGLETS -->
1512
  <div class="tabs-container">
1513
  <div class="tabs">
1514
- <button class="tab-btn active" data-tab="tab-evaluator">
 
 
 
1515
  <span>👤</span> Évaluateur (RGPD)
1516
  </button>
1517
  <button class="tab-btn" data-tab="tab-dashboard">
@@ -1525,8 +1698,126 @@ textarea:focus {
1525
  </button>
1526
  </div>
1527
 
1528
- <!-- ONGLET 1: INFORMATIONS ÉVALUATEUR GDPR -->
1529
- <div id="tab-evaluator" class="tab-content active">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1530
  <h3>👤 Informations de l'évaluateur (RGPD)</h3>
1531
 
1532
  <div class="evaluator-info">
@@ -1629,7 +1920,7 @@ textarea:focus {
1629
  </div>
1630
  </div>
1631
 
1632
- <!-- ONGLET 2: DASHBOARD ÉTUDIANT COMPACT -->
1633
  <div id="tab-dashboard" class="tab-content">
1634
  <h3>📝 Manifeste étudiant</h3>
1635
  <div id="manifest-list">
@@ -1796,7 +2087,7 @@ textarea:focus {
1796
  </div>
1797
  </div>
1798
 
1799
- <!-- ONGLET 3: MESSAGE RÉFLEXIF ET ÉVALUATION -->
1800
  <div id="tab-evaluation" class="tab-content">
1801
  <h3>🤖 ReflAgent – Analyse & accompagnement</h3>
1802
  <div id="reflagent">
@@ -1907,7 +2198,7 @@ textarea:focus {
1907
  </div>
1908
  </div>
1909
 
1910
- <!-- ONGLET 4: EXEMPLE D'ANALYSE -->
1911
  <div id="tab-example" class="tab-content">
1912
  <h3>📋 Exemple d'Analyse – Étudiant en difficulté / évitement de l'échec : peur de l'échec supérieure à la motivation de réussite.</h3>
1913
 
@@ -2001,9 +2292,6 @@ textarea:focus {
2001
  </table>
2002
  </div>
2003
 
2004
-
2005
-
2006
-
2007
  </div>
2008
  </div>
2009
  </div>
@@ -2140,11 +2428,9 @@ const perseveranceProfiles = {
2140
  },
2141
  "Étudiant actif": {
2142
  level: "Élevée",
2143
- interpretation: "Forte implication et nombreux efforts, mais difficulté à maintenir lénergie jusquau bout",
2144
  color: "#4CAF50"
2145
  }
2146
-
2147
-
2148
  };
2149
 
2150
  // Messages de profils complets (14 profils)
@@ -2284,18 +2570,15 @@ const profileMessages = {
2284
  { icon: "💪", text: "Persévérance visible" }
2285
  ]
2286
  },
2287
-
2288
  "Étudiant actif": {
2289
  title: "Engagement Fort mais Énergie à Préserver",
2290
- message: "Tu démarres beaucoup dactivités (85%) et tu tappuies largement sur les ressources (75%). Cet engagement montre ta motivation, mais il rend parfois difficile lachèvement des tâches (45%). Mieux répartir tes efforts taidera à avancer plus sereinement.",
2291
  insights: [
2292
  { icon: "⚡", text: "Engagement élevé dès le départ (85%)" },
2293
  { icon: "📚", text: "Usage fréquent des ressources (75%)" },
2294
- { icon: "🧘", text: "Besoin de mieux doser leffort" }
2295
  ]
2296
  }
2297
-
2298
-
2299
  };
2300
 
2301
  // ================= INIT =================
@@ -2321,6 +2604,7 @@ function initTabs() {
2321
  const tabBtns = document.querySelectorAll('.tab-btn');
2322
  const tabContents = document.querySelectorAll('.tab-content');
2323
 
 
2324
  tabBtns.forEach(btn => {
2325
  btn.addEventListener('click', () => {
2326
  const tabId = btn.getAttribute('data-tab');
@@ -2373,11 +2657,13 @@ function initGDPR() {
2373
  }
2374
 
2375
  // Écouter les changements
2376
- gdprAccept.addEventListener('change', updateGDPRFields);
2377
- gdprDecline.addEventListener('change', updateGDPRFields);
2378
-
2379
- // Initialiser
2380
- updateGDPRFields();
 
 
2381
  }
2382
 
2383
  // ================= CHARGEMENT JSON =================
@@ -2560,8 +2846,8 @@ function generateReflAgentMessage(profileTitle) {
2560
  "Étudiant acceptant l'échec": "Ton attitude face à l'échec est constructive. Utilise ces expériences pour identifier tes points d'amélioration.",
2561
  "Étudiant inactif": "Le premier pas est le plus difficile. Choisis une seule activité simple pour commencer, sans pression.",
2562
  "Étudiant non engagé": "Il est normal de manquer d'intérêt parfois. Cherche un aspect du cours qui pourrait te motiver davantage.",
2563
- "Étudiant persévérant": "Tes compétences sont solides. Fais confiance à ton potentiel et ose t'investir pleinement.",
2564
- "Étudiant actif": "Il est normal de manquer d'intérêt parfois. Cherche un aspect du cours qui pourrait te motiver davantage."
2565
  };
2566
 
2567
  return messages[profileTitle] || "Analyse de votre profil d'apprentissage en cours...";
@@ -2810,7 +3096,7 @@ function updateCompactRadarMetricsGrid() {
2810
 
2811
  // Déterminer la description
2812
  let description = "";
2813
- if (metric.label.includes("Démarrage")) description = "Rapidité d'initiation de lactivité d'apprentissage";
2814
  else if (metric.label.includes("Connaissances")) description = "Acquis démontrés";
2815
  else if (metric.label.includes("Niveau moyen")) description = "Degré de maîtrise des compétences";
2816
  else if (metric.label.includes("Taux d'erreur")) description = "Précision et attention";
 
112
  display: block;
113
  }
114
 
115
+ /* ================= NOUVEL ONGLET ACCUEIL ================= */
116
+ #tab-welcome {
117
+ padding: 20px;
118
+ }
119
+
120
+ .welcome-header {
121
+ text-align: center;
122
+ margin-bottom: 40px;
123
+ padding-bottom: 30px;
124
+ border-bottom: 2px solid #e3f2fd;
125
+ }
126
+
127
+ .welcome-title {
128
+ font-size: 2.2em;
129
+ color: #1976D2;
130
+ margin-bottom: 15px;
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ gap: 15px;
135
+ }
136
+
137
+ .welcome-subtitle {
138
+ font-size: 1.2em;
139
+ color: #666;
140
+ max-width: 800px;
141
+ margin: 0 auto 25px;
142
+ line-height: 1.6;
143
+ }
144
+
145
+ .welcome-card {
146
+ background: linear-gradient(135deg, #E3F2FD, #BBDEFB);
147
+ border-radius: 15px;
148
+ padding: 30px;
149
+ margin-bottom: 30px;
150
+ border-left: 6px solid #1976D2;
151
+ box-shadow: 0 5px 15px rgba(0,0,0,0.05);
152
+ }
153
+
154
+ .welcome-card h4 {
155
+ color: #1976D2;
156
+ margin-top: 0;
157
+ margin-bottom: 20px;
158
+ display: flex;
159
+ align-items: center;
160
+ gap: 10px;
161
+ font-size: 1.4em;
162
+ }
163
+
164
+ .welcome-card p {
165
+ line-height: 1.7;
166
+ color: #333;
167
+ margin-bottom: 15px;
168
+ }
169
+
170
+ .welcome-card ul {
171
+ padding-left: 20px;
172
+ margin: 15px 0;
173
+ }
174
+
175
+ .welcome-card li {
176
+ margin-bottom: 10px;
177
+ line-height: 1.6;
178
+ color: #444;
179
+ }
180
+
181
+ .welcome-features {
182
+ display: grid;
183
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
184
+ gap: 20px;
185
+ margin: 30px 0;
186
+ }
187
+
188
+ .feature-item {
189
+ background: white;
190
+ border-radius: 12px;
191
+ padding: 25px;
192
+ box-shadow: 0 4px 12px rgba(0,0,0,0.08);
193
+ border-top: 4px solid #1976D2;
194
+ transition: transform 0.3s;
195
+ }
196
+
197
+ .feature-item:hover {
198
+ transform: translateY(-5px);
199
+ box-shadow: 0 8px 20px rgba(0,0,0,0.12);
200
+ }
201
+
202
+ .feature-icon {
203
+ font-size: 32px;
204
+ margin-bottom: 15px;
205
+ color: #1976D2;
206
+ }
207
+
208
+ .feature-title {
209
+ font-size: 1.2em;
210
+ font-weight: 600;
211
+ color: #1976D2;
212
+ margin-bottom: 12px;
213
+ }
214
+
215
+ .feature-description {
216
+ color: #555;
217
+ line-height: 1.6;
218
+ font-size: 0.95em;
219
+ }
220
+
221
+ .how-to-start {
222
+ background: linear-gradient(135deg, #E8F5E9, #C8E6C9);
223
+ border-radius: 15px;
224
+ padding: 30px;
225
+ margin-top: 40px;
226
+ border-left: 6px solid #43A047;
227
+ }
228
+
229
+ .how-to-start h4 {
230
+ color: #2E7D32;
231
+ }
232
+
233
+ .step-list {
234
+ counter-reset: step-counter;
235
+ margin: 20px 0;
236
+ }
237
+
238
+ .step-item {
239
+ counter-increment: step-counter;
240
+ margin-bottom: 20px;
241
+ padding-left: 50px;
242
+ position: relative;
243
+ }
244
+
245
+ .step-item::before {
246
+ content: counter(step-counter);
247
+ position: absolute;
248
+ left: 0;
249
+ top: 0;
250
+ background: #1976D2;
251
+ color: white;
252
+ width: 32px;
253
+ height: 32px;
254
+ border-radius: 50%;
255
+ display: flex;
256
+ align-items: center;
257
+ justify-content: center;
258
+ font-weight: bold;
259
+ }
260
+
261
+ .step-item strong {
262
+ color: #1976D2;
263
+ display: block;
264
+ margin-bottom: 5px;
265
+ }
266
+
267
  /* ================= NAVIGATION ================= */
268
  .nav {
269
  display: flex;
 
1445
  gap: 10px;
1446
  padding: 12px;
1447
  }
1448
+
1449
+ .welcome-features {
1450
+ grid-template-columns: repeat(2, 1fr);
1451
+ }
1452
  }
1453
 
1454
  @media (max-width: 768px) {
 
1581
  .compact-heatmap-container {
1582
  flex-direction: column;
1583
  }
1584
+
1585
+ .welcome-features {
1586
+ grid-template-columns: 1fr;
1587
+ }
1588
+
1589
+ .welcome-title {
1590
+ font-size: 1.8em;
1591
+ flex-direction: column;
1592
+ gap: 10px;
1593
+ }
1594
+
1595
+ .feature-item {
1596
+ padding: 20px;
1597
+ }
1598
  }
1599
 
1600
  @media (max-width: 480px) {
 
1681
  <!-- SYSTEME D'ONGLETS -->
1682
  <div class="tabs-container">
1683
  <div class="tabs">
1684
+ <button class="tab-btn active" data-tab="tab-welcome">
1685
+ <span>🏠</span> Accueil
1686
+ </button>
1687
+ <button class="tab-btn" data-tab="tab-evaluator">
1688
  <span>👤</span> Évaluateur (RGPD)
1689
  </button>
1690
  <button class="tab-btn" data-tab="tab-dashboard">
 
1698
  </button>
1699
  </div>
1700
 
1701
+ <!-- NOUVEL ONGLET 1: ACCUEIL ET PRÉSENTATION -->
1702
+ <div id="tab-welcome" class="tab-content active">
1703
+ <div class="welcome-header">
1704
+ <h1 class="welcome-title">🎓 Dashboard Réflexif – ReflAgent</h1>
1705
+ <p class="welcome-subtitle">
1706
+ Outil d'évaluation qualitative des messages auto-réflexifs générés par IA selon les profils d'apprenants
1707
+ </p>
1708
+ </div>
1709
+
1710
+ <div class="welcome-card">
1711
+ <h4><span>🎯</span> Objectif de l'application</h4>
1712
+ <p>
1713
+ Cette plateforme permet d'<strong>évaluer la qualité des messages auto-réflexifs</strong> générés par <strong>ReflAgent</strong>,
1714
+ un tuteur pédagogique personnalisé basé sur l'IA, conçu pour favoriser l'apprentissage auto-régulé (SRL)
1715
+ en renforçant la conscience métacognitive par un accompagnement réflexif.
1716
+ </p>
1717
+
1718
+ <h4 style="margin-top: 25px;"><span>🤖</span> Qu'est-ce que ReflAgent ?</h4>
1719
+ <p>
1720
+ <strong>ReflAgent</strong> est un compagnon tutoriel IA sensible aux profils, conçu pour favoriser
1721
+ l'apprentissage auto-régulé (SRL) en améliorant la conscience métacognitive grâce à un soutien réflexif.
1722
+ </p>
1723
+
1724
+ <p>ReflAgent fournit un feedback visant à stimuler l’apprenant et à maintenir son engagement. En cas de désengagement, il propose un feedback permettant à l’apprenant de réviser sa méthode de travail et sa stratégie d’apprentissage, en mettant l’accent sur la gestion de l’effort et la persistance.</p>
1725
+
1726
+
1727
+ <p>
1728
+ ReflAgent génère des retours réflexifs personnalisés en combinant des modèles de réponses
1729
+ prédéfinis avec une génération dynamique par grands modèles de langage (LLM) qui est conditionnée par les profils d'apprenants avec leurs indicateurs d'apprentissage.
1730
+ </p>
1731
+
1732
+
1733
+ <p>
1734
+ Les messages réflexifs adressent les dimensions clés du SRL, incluant :
1735
+ <strong>la conscience du risque, la régulation émotionnelle, les défis cognitifs et l'engagement</strong>.
1736
+ </p>
1737
+ </div>
1738
+
1739
+ <h3>📋 Présentation des volets de l'application</h3>
1740
+
1741
+ <div class="welcome-features">
1742
+ <div class="feature-item">
1743
+ <div class="feature-icon">👤</div>
1744
+ <div class="feature-title">Évaluateur (RGPD)</div>
1745
+ <div class="feature-description">
1746
+ <strong>Authentification et consentement RGPD</strong><br>
1747
+ Définissez votre profil d'évaluateur, votre niveau d'expertise et donnez votre consentement
1748
+ pour le traitement de vos données personnelles selon le règlement européen.
1749
+ </div>
1750
+ </div>
1751
+
1752
+ <div class="feature-item">
1753
+ <div class="feature-icon">📊</div>
1754
+ <div class="feature-title">Dashboard Étudiant</div>
1755
+ <div class="feature-description">
1756
+ <strong>Visualisation complète du profil d'apprentissage</strong><br>
1757
+ Explorez le manifeste de l'étudiant, ses compétences, son engagement via un radar interactif,
1758
+ et son activité via une heatmap temporelle avec indicateurs de persévérance.
1759
+ </div>
1760
+ </div>
1761
+
1762
+ <div class="feature-item">
1763
+ <div class="feature-icon">🤖</div>
1764
+ <div class="feature-title">Message Réflexif & Évaluation</div>
1765
+ <div class="feature-description">
1766
+ <strong>Évaluation des messages générés par ReflAgent</strong><br>
1767
+ Analysez les messages auto-réflexifs et évaluez leur qualité selon 5 métriques de confiance :
1768
+ Authenticité Réflexive, Alignement Empathique, Encouragement Sensible au Risque,
1769
+ Support aux Défis Mentaux et Support Métacognitif.
1770
+ </div>
1771
+ </div>
1772
+
1773
+ <div class="feature-item">
1774
+ <div class="feature-icon">📋</div>
1775
+ <div class="feature-title">Exemple d'Analyse</div>
1776
+ <div class="feature-description">
1777
+ <strong>Cas d'étude avec évaluation détaillée</strong><br>
1778
+ Découvrez un exemple concret d'analyse d'un étudiant en difficulté, avec le message réflexif
1779
+ généré, son évaluation métrique et des observations pédagogiques détaillées.
1780
+ </div>
1781
+ </div>
1782
+ </div>
1783
+
1784
+ <div class="how-to-start">
1785
+ <h4><span>🚀</span> Comment commencer ?</h4>
1786
+ <div class="step-list">
1787
+ <div class="step-item">
1788
+ <strong>Configurez votre profil d'évaluateur</strong>
1789
+ <p>Rendez-vous dans l'onglet "Évaluateur (RGPD)" pour définir vos informations et consentements.</p>
1790
+ </div>
1791
+ <div class="step-item">
1792
+ <strong>Explorez les profils d'apprenants</strong>
1793
+ <p>Naviguez entre les 14 scénarios d'apprenants différents via les boutons de navigation.</p>
1794
+ </div>
1795
+ <div class="step-item">
1796
+ <strong>Analysez les messages réflexifs</strong>
1797
+ <p>Évaluez la qualité des messages générés par ReflAgent dans l'onglet "Message Réflexif & Évaluation".</p>
1798
+ </div>
1799
+ <div class="step-item">
1800
+ <strong>Explorer l'exemple d'analyse </strong>
1801
+ <p>Consultez l'onglet "Exemple d'Analyse" pour comprendre la méthodologie d'évaluation.</p>
1802
+ </div>
1803
+ </div>
1804
+
1805
+ <p style="margin-top: 20px; font-style: italic; color: #2E7D32;">
1806
+ <strong>Conseil :</strong> Commencez par explorer l'exemple d'analyse pour comprendre
1807
+ comment évaluer les messages avant de procéder à vos propres évaluations.
1808
+ </p>
1809
+ </div>
1810
+
1811
+ <div style="text-align: center; margin-top: 40px; padding: 20px; background: #f8f9fa; border-radius: 10px;">
1812
+ <p style="color: #666; font-size: 14px;">
1813
+ <strong>Laboratoire d'informatique de l'Université du Mans</strong><br>
1814
+ Projet de recherche sur l'apprentissage auto-régulé et l'intelligence artificielle éducative
1815
+ </p>
1816
+ </div>
1817
+ </div>
1818
+
1819
+ <!-- ONGLET 2: INFORMATIONS ÉVALUATEUR GDPR -->
1820
+ <div id="tab-evaluator" class="tab-content">
1821
  <h3>👤 Informations de l'évaluateur (RGPD)</h3>
1822
 
1823
  <div class="evaluator-info">
 
1920
  </div>
1921
  </div>
1922
 
1923
+ <!-- ONGLET 3: DASHBOARD ÉTUDIANT COMPACT -->
1924
  <div id="tab-dashboard" class="tab-content">
1925
  <h3>📝 Manifeste étudiant</h3>
1926
  <div id="manifest-list">
 
2087
  </div>
2088
  </div>
2089
 
2090
+ <!-- ONGLET 4: MESSAGE RÉFLEXIF ET ÉVALUATION -->
2091
  <div id="tab-evaluation" class="tab-content">
2092
  <h3>🤖 ReflAgent – Analyse & accompagnement</h3>
2093
  <div id="reflagent">
 
2198
  </div>
2199
  </div>
2200
 
2201
+ <!-- ONGLET 5: EXEMPLE D'ANALYSE -->
2202
  <div id="tab-example" class="tab-content">
2203
  <h3>📋 Exemple d'Analyse – Étudiant en difficulté / évitement de l'échec : peur de l'échec supérieure à la motivation de réussite.</h3>
2204
 
 
2292
  </table>
2293
  </div>
2294
 
 
 
 
2295
  </div>
2296
  </div>
2297
  </div>
 
2428
  },
2429
  "Étudiant actif": {
2430
  level: "Élevée",
2431
+ interpretation: "Forte implication et nombreux efforts, mais difficulté à maintenir l'énergie jusqu'au bout",
2432
  color: "#4CAF50"
2433
  }
 
 
2434
  };
2435
 
2436
  // Messages de profils complets (14 profils)
 
2570
  { icon: "💪", text: "Persévérance visible" }
2571
  ]
2572
  },
 
2573
  "Étudiant actif": {
2574
  title: "Engagement Fort mais Énergie à Préserver",
2575
+ message: "Tu démarres beaucoup d'activités (85%) et tu t'appuies largement sur les ressources (75%). Cet engagement montre ta motivation, mais il rend parfois difficile l'achèvement des tâches (45%). Mieux répartir tes efforts t'aidera à avancer plus sereinement.",
2576
  insights: [
2577
  { icon: "⚡", text: "Engagement élevé dès le départ (85%)" },
2578
  { icon: "📚", text: "Usage fréquent des ressources (75%)" },
2579
+ { icon: "🧘", text: "Besoin de mieux doser l'effort" }
2580
  ]
2581
  }
 
 
2582
  };
2583
 
2584
  // ================= INIT =================
 
2604
  const tabBtns = document.querySelectorAll('.tab-btn');
2605
  const tabContents = document.querySelectorAll('.tab-content');
2606
 
2607
+ // Par défaut, le premier onglet (Accueil) est actif
2608
  tabBtns.forEach(btn => {
2609
  btn.addEventListener('click', () => {
2610
  const tabId = btn.getAttribute('data-tab');
 
2657
  }
2658
 
2659
  // Écouter les changements
2660
+ if (gdprAccept && gdprDecline) {
2661
+ gdprAccept.addEventListener('change', updateGDPRFields);
2662
+ gdprDecline.addEventListener('change', updateGDPRFields);
2663
+
2664
+ // Initialiser
2665
+ updateGDPRFields();
2666
+ }
2667
  }
2668
 
2669
  // ================= CHARGEMENT JSON =================
 
2846
  "Étudiant acceptant l'échec": "Ton attitude face à l'échec est constructive. Utilise ces expériences pour identifier tes points d'amélioration.",
2847
  "Étudiant inactif": "Le premier pas est le plus difficile. Choisis une seule activité simple pour commencer, sans pression.",
2848
  "Étudiant non engagé": "Il est normal de manquer d'intérêt parfois. Cherche un aspect du cours qui pourrait te motiver davantage.",
2849
+ "Étudiant persévérant": "Tes compétences sont solides. Fais confiance à ton potentiel et ose t'investir pleinement.",
2850
+ "Étudiant actif": "Il est normal de manquer d'intérêt parfois. Cherche un aspect du cours qui pourrait te motiver davantage."
2851
  };
2852
 
2853
  return messages[profileTitle] || "Analyse de votre profil d'apprentissage en cours...";
 
3096
 
3097
  // Déterminer la description
3098
  let description = "";
3099
+ if (metric.label.includes("Démarrage")) description = "Rapidité d'initiation de l'activité d'apprentissage";
3100
  else if (metric.label.includes("Connaissances")) description = "Acquis démontrés";
3101
  else if (metric.label.includes("Niveau moyen")) description = "Degré de maîtrise des compétences";
3102
  else if (metric.label.includes("Taux d'erreur")) description = "Précision et attention";