Upload templates/index.html with huggingface_hub
Browse files- templates/index.html +39 -59
templates/index.html
CHANGED
|
@@ -1244,7 +1244,7 @@ textarea:focus {
|
|
| 1244 |
cursor: pointer;
|
| 1245 |
padding: 0;
|
| 1246 |
font-size: 20px;
|
| 1247 |
-
line-height
|
| 1248 |
}
|
| 1249 |
|
| 1250 |
/* ================= RESPONSIVE ================= */
|
|
@@ -1667,7 +1667,7 @@ textarea:focus {
|
|
| 1667 |
</div>
|
| 1668 |
|
| 1669 |
<!-- Canvas pour le heatmap -->
|
| 1670 |
-
<canvas id="heatmap" width="800" height="
|
| 1671 |
|
| 1672 |
<!-- Légende des niveaux d'activité compacte -->
|
| 1673 |
<div class="compact-enriched-legend">
|
|
@@ -1853,6 +1853,32 @@ textarea:focus {
|
|
| 1853 |
<div id="tab-example" class="tab-content">
|
| 1854 |
<h3>📋 Exemple d'Analyse – Étudiant en difficulté / évitement de l'échec : peur de l'échec supérieure à la motivation de réussite.</h3>
|
| 1855 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1856 |
<div class="example-analysis-box">
|
| 1857 |
<h4>Message auto-réflexif</h4>
|
| 1858 |
Ton niveau d'engagement est actuellement très faible : seulement 35 % des activités ont été démarrées et 30 % achevées. 😔 Tes compétences restent fragiles (40 %), ce qui indique un risque élevé de décrochage.
|
|
@@ -1917,31 +1943,7 @@ textarea:focus {
|
|
| 1917 |
|
| 1918 |
<div class="example-separator"></div>
|
| 1919 |
|
| 1920 |
-
|
| 1921 |
-
<h4> Éléments clés du diagnostic</h4>
|
| 1922 |
-
<ul>
|
| 1923 |
-
<li>
|
| 1924 |
-
<strong>Profil global :</strong><br>
|
| 1925 |
-
Étudiant à risque, faible engagement et compétences fragiles.
|
| 1926 |
-
</li>
|
| 1927 |
-
<br>
|
| 1928 |
-
<li>
|
| 1929 |
-
<strong>Points forts :</strong><br>
|
| 1930 |
-
Volonté minimale de progresser (essayer malgré l'échec), possibilité de reconstruire la motivation par petites actions.
|
| 1931 |
-
</li>
|
| 1932 |
-
<br>
|
| 1933 |
-
<li>
|
| 1934 |
-
<strong>Points à améliorer :</strong><br>
|
| 1935 |
-
Niveau d'activité et d'implication, Organisation et stratégies d'apprentissage.
|
| 1936 |
-
</li>
|
| 1937 |
-
<br>
|
| 1938 |
-
<li>
|
| 1939 |
-
<strong>Objectif pédagogique :</strong><br>
|
| 1940 |
-
Réintroduire l'étudiant dans un rythme régulier avec des objectifs accessibles, renforcer la confiance et la motivation, fournir un soutien plus concret.
|
| 1941 |
-
</li>
|
| 1942 |
-
</ul>
|
| 1943 |
-
|
| 1944 |
-
</div>
|
| 1945 |
|
| 1946 |
|
| 1947 |
</div>
|
|
@@ -2777,8 +2779,8 @@ function drawCompactEnrichedHeatmap(scenario) {
|
|
| 2777 |
if (!canvas) return;
|
| 2778 |
|
| 2779 |
const ctx = canvas.getContext("2d");
|
| 2780 |
-
const cellSize =
|
| 2781 |
-
const padding =
|
| 2782 |
const days = ["L", "M", "M", "J", "V", "S", "D"];
|
| 2783 |
const weeks = 4;
|
| 2784 |
const totalDays = weeks * 7;
|
|
@@ -2866,40 +2868,18 @@ function drawCompactEnrichedHeatmap(scenario) {
|
|
| 2866 |
pattern: "Schéma à analyser"
|
| 2867 |
};
|
| 2868 |
|
| 2869 |
-
ctx.font = "bold
|
| 2870 |
ctx.fillStyle = "#1976D2";
|
| 2871 |
ctx.textAlign = "center";
|
| 2872 |
-
ctx.fillText(`${scenarioInfo.emoji} ${scenarioInfo.title}`, canvas.width / 2,
|
| 2873 |
|
| 2874 |
-
ctx.font = "
|
| 2875 |
ctx.fillStyle = "#666";
|
| 2876 |
-
ctx.fillText(`${scenarioInfo.pattern}`, canvas.width / 2,
|
| 2877 |
|
| 2878 |
// Générer les données d'activité selon le scénario
|
| 2879 |
const activityData = generateCompactPersistenceData(scenario.id, totalDays);
|
| 2880 |
|
| 2881 |
-
// Labels des semaines
|
| 2882 |
-
ctx.font = "bold 12px Arial";
|
| 2883 |
-
ctx.fillStyle = "#333";
|
| 2884 |
-
ctx.textAlign = "center";
|
| 2885 |
-
ctx.textBaseline = "middle";
|
| 2886 |
-
|
| 2887 |
-
for (let week = 0; week < weeks; week++) {
|
| 2888 |
-
const x = 60 + week * (cellSize * 7 + padding * 7) + (cellSize * 7) / 2;
|
| 2889 |
-
const y = 90;
|
| 2890 |
-
ctx.fillText(`Semaine ${week + 1}`, x, y);
|
| 2891 |
-
}
|
| 2892 |
-
|
| 2893 |
-
// Labels des jours
|
| 2894 |
-
ctx.font = "bold 11px Arial";
|
| 2895 |
-
ctx.fillStyle = "#555";
|
| 2896 |
-
ctx.textAlign = "right";
|
| 2897 |
-
|
| 2898 |
-
for (let day = 0; day < 7; day++) {
|
| 2899 |
-
const y = 120 + day * (cellSize + padding) + cellSize / 2;
|
| 2900 |
-
ctx.fillText(`${days[day]}`, 55, y);
|
| 2901 |
-
}
|
| 2902 |
-
|
| 2903 |
// Dessiner la heatmap
|
| 2904 |
const colors = ["#EBEDF0", "#C6E48B", "#7BC96F", "#239A3B", "#196127"];
|
| 2905 |
|
|
@@ -2907,19 +2887,19 @@ function drawCompactEnrichedHeatmap(scenario) {
|
|
| 2907 |
const week = Math.floor(day / 7);
|
| 2908 |
const weekday = day % 7;
|
| 2909 |
|
| 2910 |
-
const x =
|
| 2911 |
-
const y =
|
| 2912 |
|
| 2913 |
const intensity = activityData[day];
|
| 2914 |
|
| 2915 |
-
// Dessiner la cellule
|
| 2916 |
ctx.fillStyle = colors[intensity];
|
| 2917 |
ctx.fillRect(x, y, cellSize, cellSize);
|
| 2918 |
|
| 2919 |
// Bordure avec indication des échéances (vendredi = jour important)
|
| 2920 |
if (weekday === 4) { // Vendredi
|
| 2921 |
ctx.strokeStyle = "#FF6B6B";
|
| 2922 |
-
ctx.lineWidth =
|
| 2923 |
} else {
|
| 2924 |
ctx.strokeStyle = intensity > 0 ? "#239A3B" : "#eee";
|
| 2925 |
ctx.lineWidth = 0.5;
|
|
|
|
| 1244 |
cursor: pointer;
|
| 1245 |
padding: 0;
|
| 1246 |
font-size: 20px;
|
| 1247 |
+
line-height: 1;
|
| 1248 |
}
|
| 1249 |
|
| 1250 |
/* ================= RESPONSIVE ================= */
|
|
|
|
| 1667 |
</div>
|
| 1668 |
|
| 1669 |
<!-- Canvas pour le heatmap -->
|
| 1670 |
+
<canvas id="heatmap" width="800" height="250" style="max-width: 100%; height: auto;"></canvas>
|
| 1671 |
|
| 1672 |
<!-- Légende des niveaux d'activité compacte -->
|
| 1673 |
<div class="compact-enriched-legend">
|
|
|
|
| 1853 |
<div id="tab-example" class="tab-content">
|
| 1854 |
<h3>📋 Exemple d'Analyse – Étudiant en difficulté / évitement de l'échec : peur de l'échec supérieure à la motivation de réussite.</h3>
|
| 1855 |
|
| 1856 |
+
<div class="example-analysis-box">
|
| 1857 |
+
<h4> Éléments clés de l’analyse du comportement de l'apprenant</h4>
|
| 1858 |
+
<ul>
|
| 1859 |
+
<li>
|
| 1860 |
+
<strong>Profil global :</strong><br>
|
| 1861 |
+
Étudiant à risque, faible engagement et compétences fragiles.
|
| 1862 |
+
</li>
|
| 1863 |
+
<br>
|
| 1864 |
+
<li>
|
| 1865 |
+
<strong>Points forts :</strong><br>
|
| 1866 |
+
Volonté minimale de progresser (essayer malgré l'échec), possibilité de reconstruire la motivation par petites actions.
|
| 1867 |
+
</li>
|
| 1868 |
+
<br>
|
| 1869 |
+
<li>
|
| 1870 |
+
<strong>Points à améliorer :</strong><br>
|
| 1871 |
+
Niveau d'activité et d'implication, Organisation et stratégies d'apprentissage.
|
| 1872 |
+
</li>
|
| 1873 |
+
<br>
|
| 1874 |
+
<li>
|
| 1875 |
+
<strong>Objectif pédagogique :</strong><br>
|
| 1876 |
+
Réintroduire l'étudiant dans un rythme régulier avec des objectifs accessibles, renforcer la confiance et la motivation, fournir un soutien plus concret.
|
| 1877 |
+
</li>
|
| 1878 |
+
</ul>
|
| 1879 |
+
|
| 1880 |
+
</div>
|
| 1881 |
+
|
| 1882 |
<div class="example-analysis-box">
|
| 1883 |
<h4>Message auto-réflexif</h4>
|
| 1884 |
Ton niveau d'engagement est actuellement très faible : seulement 35 % des activités ont été démarrées et 30 % achevées. 😔 Tes compétences restent fragiles (40 %), ce qui indique un risque élevé de décrochage.
|
|
|
|
| 1943 |
|
| 1944 |
<div class="example-separator"></div>
|
| 1945 |
|
| 1946 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1947 |
|
| 1948 |
|
| 1949 |
</div>
|
|
|
|
| 2779 |
if (!canvas) return;
|
| 2780 |
|
| 2781 |
const ctx = canvas.getContext("2d");
|
| 2782 |
+
const cellSize = 15;
|
| 2783 |
+
const padding = 1;
|
| 2784 |
const days = ["L", "M", "M", "J", "V", "S", "D"];
|
| 2785 |
const weeks = 4;
|
| 2786 |
const totalDays = weeks * 7;
|
|
|
|
| 2868 |
pattern: "Schéma à analyser"
|
| 2869 |
};
|
| 2870 |
|
| 2871 |
+
ctx.font = "bold 14px Arial";
|
| 2872 |
ctx.fillStyle = "#1976D2";
|
| 2873 |
ctx.textAlign = "center";
|
| 2874 |
+
ctx.fillText(`${scenarioInfo.emoji} ${scenarioInfo.title}`, canvas.width / 2, 20);
|
| 2875 |
|
| 2876 |
+
ctx.font = "12px Arial";
|
| 2877 |
ctx.fillStyle = "#666";
|
| 2878 |
+
ctx.fillText(`${scenarioInfo.pattern}`, canvas.width / 2, 40);
|
| 2879 |
|
| 2880 |
// Générer les données d'activité selon le scénario
|
| 2881 |
const activityData = generateCompactPersistenceData(scenario.id, totalDays);
|
| 2882 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2883 |
// Dessiner la heatmap
|
| 2884 |
const colors = ["#EBEDF0", "#C6E48B", "#7BC96F", "#239A3B", "#196127"];
|
| 2885 |
|
|
|
|
| 2887 |
const week = Math.floor(day / 7);
|
| 2888 |
const weekday = day % 7;
|
| 2889 |
|
| 2890 |
+
const x = 30 + week * (cellSize * 7 + padding * 7) + weekday * (cellSize + padding);
|
| 2891 |
+
const y = 60 + weekday * (cellSize + padding);
|
| 2892 |
|
| 2893 |
const intensity = activityData[day];
|
| 2894 |
|
| 2895 |
+
// Dessiner la cellule
|
| 2896 |
ctx.fillStyle = colors[intensity];
|
| 2897 |
ctx.fillRect(x, y, cellSize, cellSize);
|
| 2898 |
|
| 2899 |
// Bordure avec indication des échéances (vendredi = jour important)
|
| 2900 |
if (weekday === 4) { // Vendredi
|
| 2901 |
ctx.strokeStyle = "#FF6B6B";
|
| 2902 |
+
ctx.lineWidth = 1.5;
|
| 2903 |
} else {
|
| 2904 |
ctx.strokeStyle = intensity > 0 ? "#239A3B" : "#eee";
|
| 2905 |
ctx.lineWidth = 0.5;
|