Upload templates/index.html with huggingface_hub
Browse files- templates/index.html +106 -68
templates/index.html
CHANGED
|
@@ -580,6 +580,23 @@ button:disabled {
|
|
| 580 |
margin: 15px 0;
|
| 581 |
}
|
| 582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
.compact-heatmap-analysis {
|
| 584 |
margin-bottom: 15px;
|
| 585 |
}
|
|
@@ -1247,6 +1264,10 @@ textarea:focus {
|
|
| 1247 |
grid-template-columns: repeat(4, 1fr); /* 4 colonnes sur 2 lignes */
|
| 1248 |
grid-template-rows: repeat(2, auto);
|
| 1249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1250 |
}
|
| 1251 |
|
| 1252 |
@media (max-width: 768px) {
|
|
@@ -1358,6 +1379,10 @@ textarea:focus {
|
|
| 1358 |
display: block;
|
| 1359 |
overflow-x: auto;
|
| 1360 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1361 |
}
|
| 1362 |
|
| 1363 |
@media (max-width: 480px) {
|
|
@@ -1412,6 +1437,10 @@ textarea:focus {
|
|
| 1412 |
padding: 10px 8px;
|
| 1413 |
font-size: 13px;
|
| 1414 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1415 |
}
|
| 1416 |
</style>
|
| 1417 |
</head>
|
|
@@ -1616,80 +1645,87 @@ textarea:focus {
|
|
| 1616 |
<div class="compact-heatmap-and-indicators">
|
| 1617 |
<h3>🔥 Heatmap d'activité - Analyse de Persévérance</h3>
|
| 1618 |
|
| 1619 |
-
<div class="compact-heatmap-
|
| 1620 |
-
<
|
| 1621 |
-
|
| 1622 |
-
<
|
| 1623 |
-
<
|
| 1624 |
-
|
| 1625 |
-
|
| 1626 |
-
|
| 1627 |
-
|
| 1628 |
-
|
| 1629 |
-
|
| 1630 |
-
|
| 1631 |
-
<canvas id="heatmap" width="800" height="250" style="max-width: 100%; height: auto;"></canvas>
|
| 1632 |
-
</div>
|
| 1633 |
-
|
| 1634 |
-
<!-- Légende des niveaux d'activité compacte -->
|
| 1635 |
-
<div class="compact-enriched-legend">
|
| 1636 |
-
<div class="compact-legend-section">
|
| 1637 |
-
<h5>📈 Niveaux d'activité</h5>
|
| 1638 |
-
<div class="compact-legend-grid">
|
| 1639 |
-
<div class="compact-legend-item-small">
|
| 1640 |
-
<div class="compact-legend-color-small" style="background:#EBEDF0;"></div>
|
| 1641 |
-
<span>Aucune activité</span>
|
| 1642 |
</div>
|
| 1643 |
-
|
| 1644 |
-
|
| 1645 |
-
|
| 1646 |
-
|
| 1647 |
-
<
|
| 1648 |
-
|
| 1649 |
-
<
|
| 1650 |
-
|
| 1651 |
-
|
| 1652 |
-
|
| 1653 |
-
|
| 1654 |
-
|
| 1655 |
-
|
| 1656 |
-
|
| 1657 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1658 |
</div>
|
| 1659 |
</div>
|
| 1660 |
</div>
|
| 1661 |
-
</div>
|
| 1662 |
-
|
| 1663 |
-
<!-- Analyse de persévérance compacte -->
|
| 1664 |
-
<div class="compact-persistence-analysis" id="compact-persistenceAnalysis">
|
| 1665 |
-
<h5>🎯 Indicateurs de Persévérance</h5>
|
| 1666 |
-
<div class="compact-persistence-indicators">
|
| 1667 |
-
<div class="compact-indicator">
|
| 1668 |
-
<span class="compact-indicator-dot" style="background:#FF6B6B;"></span>
|
| 1669 |
-
<span>Régularité calculée : <strong id="compact-regularityScore">-</strong></span>
|
| 1670 |
-
</div>
|
| 1671 |
-
<div class="compact-indicator">
|
| 1672 |
-
<span class="compact-indicator-dot" style="background:#4ECDC4;"></span>
|
| 1673 |
-
<span>Schéma d'effort : <strong id="compact-effortPattern">-</strong></span>
|
| 1674 |
-
</div>
|
| 1675 |
-
<div class="compact-indicator">
|
| 1676 |
-
<span class="compact-indicator-dot" style="background:#FFD166;"></span>
|
| 1677 |
-
<span>Gestion échéances : <strong id="compact-deadlineScore">-</strong></span>
|
| 1678 |
-
</div>
|
| 1679 |
-
</div>
|
| 1680 |
|
| 1681 |
-
<
|
| 1682 |
-
|
| 1683 |
-
|
| 1684 |
-
<
|
| 1685 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1686 |
</div>
|
| 1687 |
-
|
| 1688 |
-
|
| 1689 |
-
|
| 1690 |
-
|
| 1691 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1692 |
|
|
|
|
|
|
|
| 1693 |
</div>
|
| 1694 |
</div>
|
| 1695 |
</div>
|
|
@@ -1716,7 +1752,7 @@ textarea:focus {
|
|
| 1716 |
<!-- Les étoiles seront ajoutées par JavaScript -->
|
| 1717 |
</div>
|
| 1718 |
<small style="color: #666; display: block; margin-top: 5px;">
|
| 1719 |
-
Le message auto-réflexif reflète-t-il fidèlement la situation réelle de l
|
| 1720 |
</small>
|
| 1721 |
</div>
|
| 1722 |
|
|
@@ -2491,6 +2527,7 @@ function updateCompactRadarMetricsGrid() {
|
|
| 2491 |
radarMetrics.forEach(metric => {
|
| 2492 |
// Déterminer la classe de couleur selon la valeur
|
| 2493 |
let colorClass = "";
|
|
|
|
| 2494 |
if (metric.value >= 70) colorClass = "high";
|
| 2495 |
else if (metric.value >= 40) colorClass = "medium";
|
| 2496 |
else colorClass = "low";
|
|
@@ -3117,6 +3154,7 @@ function initTrustSave(){
|
|
| 3117 |
|
| 3118 |
// Récupérer les informations conditionnelles
|
| 3119 |
let evaluatorName = "";
|
|
|
|
| 3120 |
let evaluatorRole = "";
|
| 3121 |
let expertiseLevel = "";
|
| 3122 |
let messageMastery = "";
|
|
|
|
| 580 |
margin: 15px 0;
|
| 581 |
}
|
| 582 |
|
| 583 |
+
.compact-heatmap-container {
|
| 584 |
+
display: flex;
|
| 585 |
+
gap: 20px;
|
| 586 |
+
flex-wrap: wrap;
|
| 587 |
+
margin-bottom: 15px;
|
| 588 |
+
}
|
| 589 |
+
|
| 590 |
+
.compact-heatmap-left {
|
| 591 |
+
flex: 1;
|
| 592 |
+
min-width: 300px;
|
| 593 |
+
}
|
| 594 |
+
|
| 595 |
+
.compact-heatmap-right {
|
| 596 |
+
flex: 1;
|
| 597 |
+
min-width: 300px;
|
| 598 |
+
}
|
| 599 |
+
|
| 600 |
.compact-heatmap-analysis {
|
| 601 |
margin-bottom: 15px;
|
| 602 |
}
|
|
|
|
| 1264 |
grid-template-columns: repeat(4, 1fr); /* 4 colonnes sur 2 lignes */
|
| 1265 |
grid-template-rows: repeat(2, auto);
|
| 1266 |
}
|
| 1267 |
+
|
| 1268 |
+
.compact-heatmap-container {
|
| 1269 |
+
flex-direction: column;
|
| 1270 |
+
}
|
| 1271 |
}
|
| 1272 |
|
| 1273 |
@media (max-width: 768px) {
|
|
|
|
| 1379 |
display: block;
|
| 1380 |
overflow-x: auto;
|
| 1381 |
}
|
| 1382 |
+
|
| 1383 |
+
.compact-heatmap-container {
|
| 1384 |
+
flex-direction: column;
|
| 1385 |
+
}
|
| 1386 |
}
|
| 1387 |
|
| 1388 |
@media (max-width: 480px) {
|
|
|
|
| 1437 |
padding: 10px 8px;
|
| 1438 |
font-size: 13px;
|
| 1439 |
}
|
| 1440 |
+
|
| 1441 |
+
.compact-heatmap-container {
|
| 1442 |
+
flex-direction: column;
|
| 1443 |
+
}
|
| 1444 |
}
|
| 1445 |
</style>
|
| 1446 |
</head>
|
|
|
|
| 1645 |
<div class="compact-heatmap-and-indicators">
|
| 1646 |
<h3>🔥 Heatmap d'activité - Analyse de Persévérance</h3>
|
| 1647 |
|
| 1648 |
+
<div class="compact-heatmap-container">
|
| 1649 |
+
<!-- Colonne gauche : Heatmap et contrôles -->
|
| 1650 |
+
<div class="compact-heatmap-left">
|
| 1651 |
+
<div class="compact-heatmap-analysis">
|
| 1652 |
+
<div class="compact-analysis-controls">
|
| 1653 |
+
<label for="persistenceMode">Mode d'analyse :</label>
|
| 1654 |
+
<select id="persistenceMode" onchange="changePersistenceAnalysis()">
|
| 1655 |
+
<option value="regularity">📊 Régularité du travail</option>
|
| 1656 |
+
<option value="effortPattern">🔄 Schéma d'effort</option>
|
| 1657 |
+
<option value="deadline">⏰ Gestion des échéances</option>
|
| 1658 |
+
<option value="combined">🎯 Vue combinée</option>
|
| 1659 |
+
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1660 |
</div>
|
| 1661 |
+
|
| 1662 |
+
<!-- Canvas pour le heatmap -->
|
| 1663 |
+
<canvas id="heatmap" width="800" height="250" style="max-width: 100%; height: auto;"></canvas>
|
| 1664 |
+
|
| 1665 |
+
<!-- Légende des niveaux d'activité compacte -->
|
| 1666 |
+
<div class="compact-enriched-legend">
|
| 1667 |
+
<div class="compact-legend-section">
|
| 1668 |
+
<h5>📈 Niveaux d'activité</h5>
|
| 1669 |
+
<div class="compact-legend-grid">
|
| 1670 |
+
<div class="compact-legend-item-small">
|
| 1671 |
+
<div class="compact-legend-color-small" style="background:#EBEDF0;"></div>
|
| 1672 |
+
<span>Aucune activité</span>
|
| 1673 |
+
</div>
|
| 1674 |
+
<div class="compact-legend-item-small">
|
| 1675 |
+
<div class="compact-legend-color-small" style="background:#C6E48B;"></div>
|
| 1676 |
+
<span>Faible activité</span>
|
| 1677 |
+
</div>
|
| 1678 |
+
<div class="compact-legend-item-small">
|
| 1679 |
+
<div class="compact-legend-color-small" style="background:#7BC96F;"></div>
|
| 1680 |
+
<span>Activité modérée</span>
|
| 1681 |
+
</div>
|
| 1682 |
+
<div class="compact-legend-item-small">
|
| 1683 |
+
<div class="compact-legend-color-small" style="background:#239A3B;"></div>
|
| 1684 |
+
<span>Activité élevée</span>
|
| 1685 |
+
</div>
|
| 1686 |
+
<div class="compact-legend-item-small">
|
| 1687 |
+
<div class="compact-legend-color-small" style="background:#196127;"></div>
|
| 1688 |
+
<span>Activité intense</span>
|
| 1689 |
+
</div>
|
| 1690 |
+
</div>
|
| 1691 |
+
</div>
|
| 1692 |
</div>
|
| 1693 |
</div>
|
| 1694 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1695 |
|
| 1696 |
+
<!-- Colonne droite : Indicateurs de persévérance -->
|
| 1697 |
+
<div class="compact-heatmap-right">
|
| 1698 |
+
<div class="compact-persistence-analysis" id="compact-persistenceAnalysis">
|
| 1699 |
+
<h5>🎯 Indicateurs de Persévérance</h5>
|
| 1700 |
+
<div class="compact-persistence-indicators">
|
| 1701 |
+
<div class="compact-indicator">
|
| 1702 |
+
<span class="compact-indicator-dot" style="background:#FF6B6B;"></span>
|
| 1703 |
+
<span>Régularité calculée : <strong id="compact-regularityScore">-</strong></span>
|
| 1704 |
+
</div>
|
| 1705 |
+
<div class="compact-indicator">
|
| 1706 |
+
<span class="compact-indicator-dot" style="background:#4ECDC4;"></span>
|
| 1707 |
+
<span>Schéma d'effort : <strong id="compact-effortPattern">-</strong></span>
|
| 1708 |
+
</div>
|
| 1709 |
+
<div class="compact-indicator">
|
| 1710 |
+
<span class="compact-indicator-dot" style="background:#FFD166;"></span>
|
| 1711 |
+
<span>Gestion échéances : <strong id="compact-deadlineScore">-</strong></span>
|
| 1712 |
+
</div>
|
| 1713 |
</div>
|
| 1714 |
+
|
| 1715 |
+
<div class="compact-persistence-text" style="margin-top: 10px;">
|
| 1716 |
+
<div style="margin-bottom: 10px;">
|
| 1717 |
+
<strong>Schéma d'effort :</strong>
|
| 1718 |
+
<div style="margin-top: 5px; padding: 8px; background: transparent; border-radius: 6px; font-size: 13px;">
|
| 1719 |
+
<span id="compact-patternText">Analyse en cours...</span>
|
| 1720 |
+
</div>
|
| 1721 |
+
</div>
|
| 1722 |
+
<div>
|
| 1723 |
+
<strong>Persévérance et gestion des efforts :</strong>
|
| 1724 |
+
<span id="compact-regularityText">Analyse en cours...</span>
|
| 1725 |
+
</div>
|
| 1726 |
|
| 1727 |
+
</div>
|
| 1728 |
+
</div>
|
| 1729 |
</div>
|
| 1730 |
</div>
|
| 1731 |
</div>
|
|
|
|
| 1752 |
<!-- Les étoiles seront ajoutées par JavaScript -->
|
| 1753 |
</div>
|
| 1754 |
<small style="color: #666; display: block; margin-top: 5px;">
|
| 1755 |
+
Le message auto-réflexif reflète-t-il fidèlement la situation réelle de l'étudiant (profil d'apprenant) ?
|
| 1756 |
</small>
|
| 1757 |
</div>
|
| 1758 |
|
|
|
|
| 2527 |
radarMetrics.forEach(metric => {
|
| 2528 |
// Déterminer la classe de couleur selon la valeur
|
| 2529 |
let colorClass = "";
|
| 2530 |
+
;
|
| 2531 |
if (metric.value >= 70) colorClass = "high";
|
| 2532 |
else if (metric.value >= 40) colorClass = "medium";
|
| 2533 |
else colorClass = "low";
|
|
|
|
| 3154 |
|
| 3155 |
// Récupérer les informations conditionnelles
|
| 3156 |
let evaluatorName = "";
|
| 3157 |
+
;
|
| 3158 |
let evaluatorRole = "";
|
| 3159 |
let expertiseLevel = "";
|
| 3160 |
let messageMastery = "";
|