diff --git "a/index.html" "b/index.html"
--- "a/index.html"
+++ "b/index.html"
@@ -433,395 +433,7 @@
border-left: 4px solid var(--danger-color);
}
- /* Modal pour la saisie */
- .modal {
- display: none;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.5);
- z-index: 1000;
- align-items: center;
- justify-content: center;
- }
-
- .modal-content {
- background: white;
- border-radius: 15px;
- padding: 2rem;
- width: 90%;
- max-width: 600px;
- max-height: 80vh;
- overflow-y: auto;
- animation: slideIn 0.3s ease;
- }
-
- @keyframes slideIn {
- from { transform: translateY(-20px); opacity: 0; }
- to { transform: translateY(0); opacity: 1; }
- }
-
- .modal-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 1.5rem;
- padding-bottom: 1rem;
- border-bottom: 2px solid #f1f5f9;
- }
-
- .modal-title {
- font-size: 1.5rem;
- color: var(--dark-color);
- }
-
- .modal-close {
- background: none;
- border: none;
- font-size: 1.5rem;
- color: var(--gray-color);
- cursor: pointer;
- }
-
- /* Heatmap d'activité */
- .heatmap-container {
- margin-top: 2rem;
- }
-
- .heatmap-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 1.5rem;
- }
-
- .heatmap-title {
- font-size: 1.3rem;
- color: var(--dark-color);
- display: flex;
- align-items: center;
- gap: 10px;
- }
-
- .heatmap-controls {
- display: flex;
- gap: 10px;
- }
-
- .heatmap-period {
- padding: 8px 15px;
- border: 2px solid #e2e8f0;
- border-radius: 8px;
- background: #f8fafc;
- cursor: pointer;
- transition: all 0.3s;
- }
-
- .heatmap-period:hover {
- border-color: var(--primary-color);
- }
-
- .heatmap-period.active {
- background: var(--primary-color);
- color: white;
- border-color: var(--primary-color);
- }
-
- .heatmap-grid {
- display: grid;
- grid-template-columns: auto repeat(7, 1fr);
- gap: 8px;
- margin-top: 1rem;
- }
-
- .heatmap-day-label {
- text-align: right;
- padding: 10px;
- font-weight: 600;
- color: var(--dark-color);
- }
-
- .heatmap-cell {
- aspect-ratio: 1;
- border-radius: 4px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 0.8rem;
- font-weight: bold;
- cursor: pointer;
- transition: transform 0.2s;
- }
-
- .heatmap-cell:hover {
- transform: scale(1.1);
- z-index: 10;
- }
-
- .heatmap-intensity-0 { background: #f1f5f9; color: var(--gray-color); }
- .heatmap-intensity-1 { background: #dbeafe; color: var(--dark-color); }
- .heatmap-intensity-2 { background: #93c5fd; color: white; }
- .heatmap-intensity-3 { background: #3b82f6; color: white; }
- .heatmap-intensity-4 { background: #1d4ed8; color: white; }
-
- .heatmap-week-label {
- text-align: center;
- padding: 5px;
- font-size: 0.9rem;
- color: var(--gray-color);
- }
-
- .heatmap-legend {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 15px;
- margin-top: 1.5rem;
- padding-top: 1.5rem;
- border-top: 2px solid #f1f5f9;
- }
-
- .legend-item {
- display: flex;
- align-items: center;
- gap: 5px;
- }
-
- .legend-color {
- width: 20px;
- height: 20px;
- border-radius: 4px;
- }
-
- /* Indicateurs de gestion du temps */
- .time-management-stats {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 20px;
- margin-top: 2rem;
- }
-
- .time-stat-card {
- background: white;
- border-radius: 12px;
- padding: 1.5rem;
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
- border-top: 4px solid var(--secondary-color);
- }
-
- .time-stat-header {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 1rem;
- }
-
- .time-stat-icon {
- width: 40px;
- height: 40px;
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 1.2rem;
- color: white;
- }
-
- .time-stat-value {
- font-size: 2.5rem;
- font-weight: bold;
- color: var(--secondary-color);
- margin: 10px 0;
- }
-
- .time-stat-description {
- color: var(--gray-color);
- font-size: 0.9rem;
- margin-top: 5px;
- }
-
- .progress-circle {
- width: 100px;
- height: 100px;
- position: relative;
- margin: 0 auto;
- }
-
- .progress-circle svg {
- width: 100%;
- height: 100%;
- }
-
- .progress-text {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- font-size: 1.5rem;
- font-weight: bold;
- color: var(--secondary-color);
- }
-
- /* Effort Pattern */
- .effort-pattern {
- background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
- border-radius: 12px;
- padding: 1.5rem;
- margin-top: 2rem;
- }
-
- .pattern-badge {
- display: inline-block;
- padding: 8px 15px;
- background: linear-gradient(135deg, #f59e0b, #d97706);
- color: white;
- border-radius: 20px;
- font-weight: bold;
- margin-bottom: 1rem;
- }
-
- .pattern-details {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 15px;
- margin-top: 1rem;
- }
-
- .pattern-item {
- background: white;
- padding: 1rem;
- border-radius: 8px;
- box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
- }
-
- .pattern-label {
- font-size: 0.9rem;
- color: var(--gray-color);
- margin-bottom: 5px;
- }
-
- .pattern-value {
- font-size: 1.1rem;
- font-weight: bold;
- color: var(--dark-color);
- }
-
- /* Persistance */
- .persistence-section {
- background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
- border-radius: 12px;
- padding: 1.5rem;
- margin-top: 2rem;
- border-left: 5px solid #f59e0b;
- }
-
- .persistence-header {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 1rem;
- }
-
- .persistence-level {
- font-size: 1.5rem;
- font-weight: bold;
- color: #d97706;
- }
-
- .persistence-details {
- margin-top: 1rem;
- }
-
- .persistence-item {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 10px;
- padding: 8px;
- background: rgba(255, 255, 255, 0.5);
- border-radius: 8px;
- }
-
- /* Form Elements */
- .form-group {
- margin-bottom: 1.5rem;
- }
-
- .form-label {
- display: block;
- margin-bottom: 0.5rem;
- font-weight: 600;
- color: var(--dark-color);
- display: flex;
- align-items: center;
- gap: 8px;
- }
-
- .form-control {
- width: 100%;
- padding: 12px 15px;
- border: 2px solid #e2e8f0;
- border-radius: 10px;
- font-size: 1rem;
- transition: all 0.3s;
- background: #f8fafc;
- }
-
- .form-control:focus {
- outline: none;
- border-color: var(--primary-color);
- background: white;
- box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
- }
-
- .form-row {
- display: flex;
- gap: 20px;
- margin-bottom: 1.5rem;
- }
-
- .form-col {
- flex: 1;
- }
-
- /* Buttons */
- .btn {
- padding: 12px 25px;
- border: none;
- border-radius: 10px;
- font-size: 1rem;
- font-weight: 600;
- cursor: pointer;
- transition: all 0.3s;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: 10px;
- }
-
- .btn-primary {
- background: linear-gradient(135deg, var(--primary-color) 0%, #2563eb 100%);
- color: white;
- }
-
- .btn-primary:hover {
- transform: translateY(-2px);
- box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3);
- }
-
- .btn-secondary {
- background: var(--secondary-color);
- color: white;
- }
-
- .btn-large {
- padding: 15px 30px;
- font-size: 1.1rem;
- }
-
- /* Productivity Options - STYLE MODIFIÉ */
+ /* Objectif Section */
.productivity-grid {
display: grid;
grid-template-columns: 1fr 1fr;
@@ -953,19 +565,115 @@
box-shadow: 0 3px 10px rgba(139, 92, 246, 0.1);
}
- /* Visualizations */
- .visualization-container {
- background: white;
- border-radius: 15px;
- padding: 2rem;
- margin-top: 2rem;
- box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
+ /* Quality Indicators */
+ .quality-indicator {
+ display: flex;
+ gap: 10px;
+ margin: 15px 0;
}
- .chart-container {
- position: relative;
- height: 400px;
+ .quality-dot {
+ width: 25px;
+ height: 25px;
+ border-radius: 50%;
+ cursor: pointer;
+ transition: all 0.3s;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: white;
+ font-weight: bold;
+ font-size: 0.8rem;
+ }
+
+ .quality-dot:hover {
+ transform: scale(1.2);
+ }
+
+ .quality-0 { background: linear-gradient(135deg, #ef4444, #dc2626); }
+ .quality-1 { background: linear-gradient(135deg, #f59e0b, #d97706); }
+ .quality-2 { background: linear-gradient(135deg, #10b981, #059669); }
+ .quality-3 { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
+
+ .quality-dot.active {
+ box-shadow: 0 0 0 3px white, 0 0 0 6px currentColor;
+ }
+
+ /* Form Elements */
+ .form-group {
+ margin-bottom: 1.5rem;
+ }
+
+ .form-label {
+ display: block;
+ margin-bottom: 0.5rem;
+ font-weight: 600;
+ color: var(--dark-color);
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ }
+
+ .form-control {
width: 100%;
+ padding: 12px 15px;
+ border: 2px solid #e2e8f0;
+ border-radius: 10px;
+ font-size: 1rem;
+ transition: all 0.3s;
+ background: #f8fafc;
+ }
+
+ .form-control:focus {
+ outline: none;
+ border-color: var(--primary-color);
+ background: white;
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
+ }
+
+ .form-row {
+ display: flex;
+ gap: 20px;
+ margin-bottom: 1.5rem;
+ }
+
+ .form-col {
+ flex: 1;
+ }
+
+ /* Buttons */
+ .btn {
+ padding: 12px 25px;
+ border: none;
+ border-radius: 10px;
+ font-size: 1rem;
+ font-weight: 600;
+ cursor: pointer;
+ transition: all 0.3s;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 10px;
+ }
+
+ .btn-primary {
+ background: linear-gradient(135deg, var(--primary-color) 0%, #2563eb 100%);
+ color: white;
+ }
+
+ .btn-primary:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3);
+ }
+
+ .btn-secondary {
+ background: var(--secondary-color);
+ color: white;
+ }
+
+ .btn-large {
+ padding: 15px 30px;
+ font-size: 1.1rem;
}
/* Planner Cards */
@@ -1025,14 +733,19 @@
border-bottom: 1px dashed #e2e8f0;
}
- /* Notifications */
- .notification-card {
- background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
- border-left: 5px solid var(--warning-color);
- padding: 1.5rem;
- border-radius: 12px;
- margin-bottom: 1rem;
- animation: slideIn 0.5s ease;
+ /* Visualizations */
+ .visualization-container {
+ background: white;
+ border-radius: 15px;
+ padding: 2rem;
+ margin-top: 2rem;
+ box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
+ }
+
+ .chart-container {
+ position: relative;
+ height: 400px;
+ width: 100%;
}
/* Stats Cards */
@@ -1058,43 +771,129 @@
margin: 10px 0;
}
- .stat-label {
- color: var(--gray-color);
+ .stat-label {
+ color: var(--gray-color);
+ font-size: 0.9rem;
+ }
+
+ /* Heatmap d'activité */
+ .heatmap-container {
+ margin-top: 2rem;
+ }
+
+ .heatmap-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 1.5rem;
+ }
+
+ .heatmap-title {
+ font-size: 1.3rem;
+ color: var(--dark-color);
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ }
+
+ .heatmap-controls {
+ display: flex;
+ gap: 10px;
+ }
+
+ .heatmap-period {
+ padding: 8px 15px;
+ border: 2px solid #e2e8f0;
+ border-radius: 8px;
+ background: #f8fafc;
+ cursor: pointer;
+ transition: all 0.3s;
+ }
+
+ .heatmap-period:hover {
+ border-color: var(--primary-color);
+ }
+
+ .heatmap-period.active {
+ background: var(--primary-color);
+ color: white;
+ border-color: var(--primary-color);
+ }
+
+ .heatmap-grid {
+ display: grid;
+ grid-template-columns: auto repeat(7, 1fr);
+ gap: 8px;
+ margin-top: 1rem;
+ }
+
+ .heatmap-day-label {
+ text-align: right;
+ padding: 10px;
+ font-weight: 600;
+ color: var(--dark-color);
+ }
+
+ .heatmap-cell {
+ aspect-ratio: 1;
+ border-radius: 4px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 0.8rem;
+ font-weight: bold;
+ cursor: pointer;
+ transition: transform 0.2s;
+ }
+
+ .heatmap-cell:hover {
+ transform: scale(1.1);
+ z-index: 10;
+ }
+
+ .heatmap-intensity-0 { background: #f1f5f9; color: var(--gray-color); }
+ .heatmap-intensity-1 { background: #dbeafe; color: var(--dark-color); }
+ .heatmap-intensity-2 { background: #93c5fd; color: white; }
+ .heatmap-intensity-3 { background: #3b82f6; color: white; }
+ .heatmap-intensity-4 { background: #1d4ed8; color: white; }
+
+ .heatmap-week-label {
+ text-align: center;
+ padding: 5px;
font-size: 0.9rem;
+ color: var(--gray-color);
}
- /* Quality Indicators */
- .quality-indicator {
+ .heatmap-legend {
display: flex;
- gap: 10px;
- margin: 15px 0;
+ justify-content: center;
+ align-items: center;
+ gap: 15px;
+ margin-top: 1.5rem;
+ padding-top: 1.5rem;
+ border-top: 2px solid #f1f5f9;
}
- .quality-dot {
- width: 25px;
- height: 25px;
- border-radius: 50%;
- cursor: pointer;
- transition: all 0.3s;
+ .legend-item {
display: flex;
align-items: center;
- justify-content: center;
- color: white;
- font-weight: bold;
- font-size: 0.8rem;
+ gap: 5px;
}
- .quality-dot:hover {
- transform: scale(1.2);
+ .legend-color {
+ width: 20px;
+ height: 20px;
+ border-radius: 4px;
}
- .quality-0 { background: linear-gradient(135deg, #ef4444, #dc2626); }
- .quality-1 { background: linear-gradient(135deg, #f59e0b, #d97706); }
- .quality-2 { background: linear-gradient(135deg, #10b981, #059669); }
- .quality-3 { background: linear-gradient(135deg, #3b82f6, #1d4ed8); }
-
- .quality-dot.active {
- box-shadow: 0 0 0 3px white, 0 0 0 6px currentColor;
+ /* Notifications */
+ .notification-card {
+ background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
+ border-left: 5px solid var(--warning-color);
+ padding: 1.5rem;
+ border-radius: 12px;
+ margin-bottom: 1rem;
+ animation: fadeIn 0.5s ease;
}
/* ============================================ */
@@ -1370,17 +1169,219 @@
color: var(--secondary-color);
}
- .dashboardEM-change.negative {
- background: rgba(239, 68, 68, 0.1);
- color: var(--danger-color);
+ .dashboardEM-change.negative {
+ background: rgba(239, 68, 68, 0.1);
+ color: var(--danger-color);
+ }
+
+ .dashboardEM-trend {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+ font-size: 0.9rem;
+ color: var(--gray-color);
+ }
+
+ /* Indicateurs de gestion du temps */
+ .time-management-stats {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: 20px;
+ margin-top: 2rem;
+ }
+
+ .time-stat-card {
+ background: white;
+ border-radius: 12px;
+ padding: 1.5rem;
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
+ border-top: 4px solid var(--secondary-color);
+ }
+
+ .time-stat-header {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ margin-bottom: 1rem;
+ }
+
+ .time-stat-icon {
+ width: 40px;
+ height: 40px;
+ border-radius: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.2rem;
+ color: white;
+ background: linear-gradient(135deg, #10b981, #059669);
+ }
+
+ .time-stat-value {
+ font-size: 2.5rem;
+ font-weight: bold;
+ color: var(--secondary-color);
+ margin: 10px 0;
+ }
+
+ .time-stat-description {
+ color: var(--gray-color);
+ font-size: 0.9rem;
+ margin-top: 5px;
+ }
+
+ .progress-circle {
+ width: 100px;
+ height: 100px;
+ position: relative;
+ margin: 0 auto;
+ }
+
+ .progress-circle svg {
+ width: 100%;
+ height: 100%;
+ }
+
+ .progress-text {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ font-size: 1.5rem;
+ font-weight: bold;
+ color: var(--secondary-color);
+ }
+
+ /* Modal pour la saisie */
+ .modal {
+ display: none;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.5);
+ z-index: 1000;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .modal-content {
+ background: white;
+ border-radius: 15px;
+ padding: 2rem;
+ width: 90%;
+ max-width: 600px;
+ max-height: 80vh;
+ overflow-y: auto;
+ animation: slideIn 0.3s ease;
+ }
+
+ @keyframes slideIn {
+ from { transform: translateY(-20px); opacity: 0; }
+ to { transform: translateY(0); opacity: 1; }
+ }
+
+ .modal-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 1.5rem;
+ padding-bottom: 1rem;
+ border-bottom: 2px solid #f1f5f9;
+ }
+
+ .modal-title {
+ font-size: 1.5rem;
+ color: var(--dark-color);
+ }
+
+ .modal-close {
+ background: none;
+ border: none;
+ font-size: 1.5rem;
+ color: var(--gray-color);
+ cursor: pointer;
+ }
+
+ /* Effort Pattern */
+ .effort-pattern {
+ background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
+ border-radius: 12px;
+ padding: 1.5rem;
+ margin-top: 2rem;
+ }
+
+ .pattern-badge {
+ display: inline-block;
+ padding: 8px 15px;
+ background: linear-gradient(135deg, #f59e0b, #d97706);
+ color: white;
+ border-radius: 20px;
+ font-weight: bold;
+ margin-bottom: 1rem;
+ }
+
+ .pattern-details {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 15px;
+ margin-top: 1rem;
+ }
+
+ .pattern-item {
+ background: white;
+ padding: 1rem;
+ border-radius: 8px;
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
+ }
+
+ .pattern-label {
+ font-size: 0.9rem;
+ color: var(--gray-color);
+ margin-bottom: 5px;
+ }
+
+ .pattern-value {
+ font-size: 1.1rem;
+ font-weight: bold;
+ color: var(--dark-color);
+ }
+
+ /* Persistance */
+ .persistence-section {
+ background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
+ border-radius: 12px;
+ padding: 1.5rem;
+ margin-top: 2rem;
+ border-left: 5px solid #f59e0b;
+ }
+
+ .persistence-header {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ margin-bottom: 1rem;
+ }
+
+ .persistence-level {
+ font-size: 1.5rem;
+ font-weight: bold;
+ color: #d97706;
+ }
+
+ .persistence-details {
+ margin-top: 1rem;
}
- .dashboardEM-trend {
+ .persistence-item {
display: flex;
align-items: center;
- gap: 5px;
- font-size: 0.9rem;
- color: var(--gray-color);
+ gap: 10px;
+ margin-bottom: 10px;
+ padding: 8px;
+ background: rgba(255, 255, 255, 0.5);
+ border-radius: 8px;
}
/* Responsive */
@@ -1476,12 +1477,11 @@
PerseverAId (AI + Aid + Perseverance) –
-Apprendre à manager l'effort et maintenir la persistance PerseverAId (AI + Aid + Perseverance) – Apprendre à manager l'effort et maintenir la persistance Compagnon Pédagogique
-