# 🎨 Design System & Composants Visuels - Notytex Class Dashboard ## Vue d'ensemble Le Class Dashboard de Notytex représente l'excellence en matière d'interface utilisateur moderne, combinant une hiérarchie visuelle claire, des animations fluides et une adaptation responsive parfaite. Ce système de design privilégie l'experience utilisateur avec des interactions naturelles et des feedback visuels immédiats. --- ## 📐 Design System Global ### 🎨 Palette de Couleurs #### **Couleurs Primaires** ```css /* Bleu - Action principale, navigation */ --primary-blue: #3B82F6 --primary-blue-dark: #1D4ED8 --primary-blue-light: #93C5FD /* Gradient hero sections */ --gradient-indigo: from-indigo-600 to-purple-600 --gradient-blue: from-blue-50 to-indigo-100 ``` #### **Couleurs Sémantiques par État** ```css /* Rouge - Urgence, non commencé */ --status-error: #EF4444 --status-error-bg: #FEF2F2 --status-error-border: #FECACA /* Orange - En cours, attention */ --status-warning: #F59E0B --status-warning-bg: #FEF3C7 --status-warning-border: #FDE68A /* Vert - Terminé, succès */ --status-success: #10B981 --status-success-bg: #ECFDF5 --status-success-border: #D1FAE5 /* Gris - Neutre, secondaire */ --neutral-gray: #6B7280 --neutral-gray-light: #F3F4F6 --neutral-gray-border: #E5E7EB ``` #### **Couleurs Métier** ```css /* Domaines d'évaluation */ --domain-green: #059669 --domain-green-bg: #ECFDF5 --domain-green-accent: #10B981 /* Compétences */ --competence-purple: #7C3AED --competence-purple-bg: #F3E8FF --competence-purple-accent: #8B5CF6 /* Résultats et statistiques */ --results-orange: #EA580C --results-orange-bg: #FFF7ED --results-orange-accent: #FB923C ``` ### 📝 Typographie #### **Hiérarchie des Titres** ```css /* H1 - Titre principal (Hero) */ .text-4xl.font-bold { font-size: 2.25rem; /* 36px */ font-weight: 700; line-height: 1.2; letter-spacing: -0.025em; } /* H2 - Titres de sections */ .text-xl.font-bold { font-size: 1.25rem; /* 20px */ font-weight: 700; line-height: 1.3; color: #1F2937; } /* H3 - Titres de cards */ .text-lg.font-semibold { font-size: 1.125rem; /* 18px */ font-weight: 600; line-height: 1.4; color: #374151; } ``` #### **Corps de Texte** ```css /* Texte principal */ .text-base { font-size: 1rem; /* 16px */ line-height: 1.5; color: #374151; } /* Texte secondaire */ .text-sm { font-size: 0.875rem; /* 14px */ line-height: 1.4; color: #6B7280; } /* Texte de métadonnées */ .text-xs { font-size: 0.75rem; /* 12px */ line-height: 1.3; color: #9CA3AF; } ``` #### **Nombres et Statistiques** ```css /* Gros nombres (moyennes) */ .text-3xl.font-bold { font-size: 1.875rem; /* 30px */ font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.025em; } ``` ### 📏 Système d'Espacement #### **Espacement Interne (Padding)** ```css /* Cards principales */ .p-6 { padding: 1.5rem; } /* 24px */ /* Sections compactes */ .p-4 { padding: 1rem; } /* 16px */ /* Éléments fins */ .p-3 { padding: 0.75rem; } /* 12px */ /* Micro-espacements */ .p-2 { padding: 0.5rem; } /* 8px */ ``` #### **Espacement Externe (Margin)** ```css /* Séparation entre sections */ .space-y-8 > * + * { margin-top: 2rem; } /* 32px */ /* Séparation entre cards */ .space-y-6 > * + * { margin-top: 1.5rem; } /* 24px */ /* Séparation entre éléments */ .space-y-4 > * + * { margin-top: 1rem; } /* 16px */ ``` #### **Grid et Gaps** ```css /* Gap principal (desktop) */ .gap-6 { gap: 1.5rem; } /* 24px */ /* Gap réduit (mobile) */ .gap-4 { gap: 1rem; } /* 16px */ /* Gap micro-interactions */ .gap-2 { gap: 0.5rem; } /* 8px */ ``` ### 🔲 Système de Grilles #### **Grille Principale (Desktop)** ```css /* Grid responsive 4 colonnes */ .grid-cols-1.md:grid-cols-2.lg:grid-cols-4 { grid-template-columns: repeat(1, 1fr); /* Mobile */ repeat(2, 1fr); /* Tablet */ repeat(4, 1fr); /* Desktop */ } /* Statistics grid adaptatif */ .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; } ``` #### **Layout Containers** ```css /* Conteneur principal */ .max-w-7xl.mx-auto { max-width: 80rem; /* 1280px */ margin: 0 auto; } /* Padding container responsive */ .px-8.py-8 { padding: 2rem; /* Desktop */ } .px-4.py-6 { padding: 1.5rem 1rem; /* Mobile */ } ``` --- ## 🧩 Composants Visuels Principaux ### 🏆 Hero Section #### **Structure & Style** ```html
Dashboard de gestion de classe
Description contextuelle
Message d'erreur
Créez votre première évaluation pour cette classe
Créer une évaluation