15 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			15 KiB
		
	
	
	
	
	
	
	
🎨 Design System - Class Dashboard
Guide complet du design et des composants visuels pour la page de présentation de classe
Version : 2.0 - Janvier 2025
Expertise : UI/UX Designer
🎯 Philosophie Design
Le Class Dashboard suit une approche Mobile-First avec une hiérarchie visuelle claire et des micro-interactions soignées. Le design privilégie la lisibilité des données statistiques tout en maintenant une esthétique moderne et accessible.
Principes Directeurs
- Clarté de l'information : Hiérarchie visuelle marquée pour les données importantes
- Cohérence systémique : Components réutilisables avec variations d'état
- Performance visuelle : Animations fluides optimisées pour 60fps
- Accessibilité universelle : Contraste élevé, navigation clavier, screen readers
- Progressive enhancement : Dégradation gracieuse selon les capacités device
🎨 Design System Global
Palette de Couleurs
Couleurs Primaires
- Bleu Principal : #3B82F6- Actions principales, liens actifs
- Indigo Accent : #6366F1- Gradients hero, éléments premium
- Orange Highlight : #F97316- Métriques principales, call-to-action
- Gris Neutre : #6B7280- Textes secondaires, borders subtiles
Couleurs Sémantiques
- Succès (Vert) : #10B981- Évaluations terminées, excellentes performances
- Attention (Jaune) : #F59E0B- En cours, performances moyennes
- Erreur (Rouge) : #EF4444- Non commencées, performances faibles
- Information (Bleu) : #3B82F6- Notifications neutres, help tooltips
Couleurs de Performance
- Excellence (>16/20) : Vert saturé #059669
- Bon niveau (12-16/20) : Bleu confiance #2563EB
- Moyen (8-12/20) : Orange attention #EA580C
- Insuffisant (<8/20) : Rouge alerte #DC2626
Typographie
Hiérarchie des Titres
- H1 Dashboard : text-3xl font-bold(30px) - Titre principal classe
- H2 Sections : text-2xl font-bold(24px) - Domaines, Compétences
- H3 Cards : text-lg font-semibold(18px) - Titres de cartes
- H4 Metrics : text-xl font-bold(20px) - Valeurs statistiques importantes
Corps de Texte
- Body Principal : text-base(16px) - Texte standard lisible
- Body Secondaire : text-sm text-gray-600(14px) - Métadonnées, descriptions
- Micro-données : text-xs text-gray-500(12px) - Labels, unités de mesure
- Labels UI : text-sm font-medium(14px) - Formulaires, boutons
Système d'Espacement
Grille de Base
- Base unit : 4px (0.25rem)
- Spacing scale : 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px
- TailwindCSS mapping : p-1, p-2, p-3, p-4, p-6, p-8, p-12, p-16
Règles d'Application
- Cards padding : p-6(24px) pour confort de lecture
- Grid gaps : gap-6(24px) entre cards principales,gap-4(16px) pour contenus
- Sections margin : mb-8(32px) séparation des grandes sections
- Micro-spacing : space-y-2(8px) entre éléments liés
🏗️ Architecture Visuelle
Layout Principal
Structure Hiérarchique
Hero Section (100vw, gradient background)
├── Container max-width centré (1200px desktop)
├── Grid responsive principal
└── Breadcrumb navigation
Statistics Grid (4 colonnes desktop → 1 colonne mobile)
├── Cards principales avec shadow elevation
├── Hover states avec scale léger
└── Loading skeleton structure
Content Sections (2 colonnes desktop → 1 colonne mobile)
├── Domaines dynamiques
├── Compétences adaptatives  
└── Empty states informatifs
Grille Responsive
- Desktop (lg+) : grid-cols-4puisgrid-cols-2pour sections
- Tablet (md) : grid-cols-2puis stack vertical sections
- Mobile (sm) : grid-cols-1stack complet avec optimisations tactiles
Elevation et Profondeur
Système de Shadows
- Level 0 : Pas de shadow - éléments intégrés
- Level 1 : shadow-sm- Borders légères, separators
- Level 2 : shadow-md- Cards au repos, conteneurs
- Level 3 : shadow-lg- Cards hover, modals
- Level 4 : shadow-xl- Overlays, tooltips flottants
🧩 Composants Principaux
Hero Section
Structure Visuelle
- Background gradient : bg-gradient-to-br from-blue-50 to-indigo-100
- Corner radius : rounded-xl(12px) pour modernité
- Padding responsive : p-6mobile →p-8desktop
- Content layout : Flexbox justify-between pour distribution
Éléments Constitutifs
- Titre classe : Typographie H1 avec text-gray-900pour contrast élevé
- Description : Text secondaire text-gray-600avec line-height optimisé
- Selector trimestre : Form control avec focus states personnalisés
Statistics Cards
Card Container Base
- Background : bg-whitepure pour lisibilité maximale
- Border radius : rounded-xlcohérent avec hero
- Shadow : shadow-mdau repos,shadow-lgau hover
- Padding : p-6pour breathing room optimal
- Transition : transition-all duration-300pour fluidité
Variantes par Type
Card Quantité :
- Layout : Stack vertical avec space-y-3
- Metrics display : Flex justify-between pour alignement
- Color coding : Vert/Orange/Rouge selon statut
- Typography : Labels text-sm, valeurs font-bold
Card Résultats :
- Hero metric : Centre avec text-3xl font-bold
- Supporting data : Grid 2x2 pour min/max/médiane/écart-type
- Color emphasis : Orange pour métrique principale
- Micro-data : Nombre d'évaluations en text-xs
Dynamic Cards (Domaines/Compétences)
Layout Structure
- Header : Flex justify-between avec titre tronqué si nécessaire
- Content area : Métriques avec space-y-2
- Footer : Progress bar full-width avec animation
Progress Bar Design
- Container : w-full bg-gray-200 rounded-full h-2
- Fill bar : Couleur contextuelle, transition-all duration-1000 ease-out
- Animation : Width de 0% à target% avec délai séquentiel
- Accessibility : Attributes ARIA pour screen readers
Interactive Elements
Trimester Selector
- Base style : Form select avec custom styling
- Focus state : Ring blue pour accessibilité
- Options : Clear labeling avec noms complets trimestres
- Mobile optimization : Touch-friendly size (44px minimum)
Loading States
- Skeleton cards : animate-pulse bg-gray-200avec forme cards
- Spinners : animate-spinavec couleurs contextuelles
- Overlay : Semi-transparent avec pointer-events disabled
- Text feedback : Messages informatifs pendant chargement
🎬 Animations et Micro-interactions
Système de Transitions
Durées Standard
- Ultra-fast : 150ms - Hover states, focus indicators
- Fast : 300ms - Cards transforms, color changes
- Normal : 500ms - Layout changes, section updates
- Slow : 800ms - Progress bars, number animations
- Extra-slow : 1000ms - Page transitions, major state changes
Easing Functions
- ease-out : Transitions d'entrée naturelles
- ease-in-out : Hover states bidirectionnels
- cubic-bezier : Custom curves pour animations complexes
Animation Patterns
Cards Introduction
- Stagger animation : Délais de 50ms entre cards (0ms, 50ms, 100ms...)
- Transform entrance : translateY(20px)→translateY(0)
- Opacity fade : opacity-0→opacity-1
- Duration : 300ms avec ease-out
Number Animations
- RequestAnimationFrame : Pour fluidité 60fps
- Easing : Cubic ease-out pour décélération naturelle
- Precision : Arrondi approprié selon type donnée
- Accessibility : Respecte prefers-reduced-motion
Progress Bars
- Sequential reveal : Chaque barre après la précédente
- Smooth width transition : 0% à valeur cible
- Color morphing : Transition couleurs selon performance
- Completion feedback : Micro-animation de fin
📱 Design Responsive et Mobile
Breakpoints Strategy
Mobile-First Approach
- Base (sm) : 0px - Design pour mobile d'abord
- Tablet (md) : 768px - Adaptations pour tablettes
- Desktop (lg) : 1024px - Layout multi-colonnes
- Wide (xl) : 1280px - Optimisations grands écrans
Mobile Optimizations
Touch Targets
- Minimum size : 44px × 44px pour confort tactile
- Spacing : 8px minimum entre targets adjacents
- Visual feedback : Ripple effects, highlight states
- Gestures : Swipe support pour navigation
Content Adaptation
- Typography scaling : Tailles adaptées par breakpoint
- Grid collapse : 4-col → 2-col → 1-col progressif
- Padding reduction : p-6 → p-4 sur petits écrans
- Navigation : Collapse/expand patterns
Desktop Enhancements
Hover States
- Cards elevation : Shadow-md → shadow-lg
- Scale subtle : transform scale(1.02) pour depth
- Color intensification : Couleurs légèrement plus saturées
- Cursor indicators : Pointer, grab selon interaction
Layout Expansions
- Multi-column : Exploitation largeur disponible
- Sidebar potential : Space pour navigation secondaire
- Modal overlays : Interactions riches avec overlays
- Keyboard shortcuts : Support touches rapides
♿ Accessibilité Visuelle
Contraste et Lisibilité
WCAG 2.1 Compliance
- AA Level : Ratio 4.5:1 pour texte normal
- AAA Level : Ratio 7:1 pour texte critique
- Large text : Ratio 3:1 pour text-lg+
- UI elements : Ratio 3:1 pour borders, icons
Color Blindness Support
- Pas de couleur seule : Information via forme/texte aussi
- Patterns distinctifs : Textures, icons pour différenciation
- High contrast mode : Adaptation système preferences
- Alternative indicators : Icons + couleur pour statuts
Navigation et Focus
Keyboard Navigation
- Focus visible : Ring blue claire sur tous éléments
- Tab order : Logique de lecture naturelle
- Skip links : Navigation rapide aux contenus principaux
- Keyboard shortcuts : Raccourcis pour actions communes
Screen Reader Support
- ARIA labels : Descriptions complètes pour contexts
- Live regions : Annonces mises à jour dynamiques
- Landmark roles : Structure sémantique claire
- Alt texts : Descriptions images/graphiques
Motion et Animation
Prefers-Reduced-Motion
- Detection system : @media (prefers-reduced-motion: reduce)
- Animation disable : Transitions instantanées si demandé
- Alternative feedback : Visual sans animation
- Graceful degradation : Fonctionnalités préservées
🔧 Guidelines d'Implémentation
Classes TailwindCSS Recommandées
Structure Cards
- Container : bg-white rounded-xl shadow-md p-6 hover:shadow-lg transition-all duration-300
- Title : text-lg font-semibold text-gray-800 mb-4
- Content : space-y-3pour espacement vertical cohérent
- Footer : mt-4 pt-4 border-t border-gray-100si nécessaire
Typography Hierarchy
- Page title : text-3xl font-bold text-gray-900 mb-2
- Section headers : text-2xl font-bold text-gray-900 mb-6
- Metrics large : text-xl font-bold text-{color}-600
- Supporting text : text-sm text-gray-600
Interactive States
- Hover cards : hover:scale-105 hover:shadow-lg
- Focus elements : focus:ring-2 focus:ring-blue-500 focus:outline-none
- Active buttons : active:scale-95 active:bg-{color}-600
- Disabled states : disabled:opacity-50 disabled:cursor-not-allowed
Animation Implementation
CSS Transitions
- Default : transition-all duration-300 ease-out
- Colors only : transition-colors duration-200
- Transform only : transition-transform duration-300
- Custom timing : transition-[property] duration-[time]
Custom Animations
- Fade in up : Entrée cards avec transform + opacity
- Pulse : Loading states avec scale animation
- Slide : Navigation transitions avec translateX
- Bounce : Feedback succès avec scale + elasticity
📊 Métriques de Qualité Design
Performance Visuelle
- First Contentful Paint : < 1.8s pour première impression
- Largest Contentful Paint : < 2.5s pour contenu principal
- Cumulative Layout Shift : < 0.1 pour stabilité visuelle
- Animation framerate : 60fps constant pour fluidité
Accessibilité
- Color contrast : 100% compliance WCAG AA
- Keyboard navigation : Tous éléments accessibles
- Screen reader : Contenu 100% navigable
- Touch targets : 44px minimum respecté
Responsive Quality
- Mobile usability : Score Google 100/100
- Cross-browser : Compatibilité IE11+ garantie
- Device coverage : iPhone SE à desktop 4K
- Touch optimization : Gestures naturels supportés
🚀 Évolutions Futures
Dark Theme
- Color palette : Variables CSS pour switch automatique
- Contrast adaptation : Niveaux ajustés pour dark mode
- Media query : @media (prefers-color-scheme: dark)
- Toggle manual : Contrôle utilisateur avec persistence
Advanced Interactions
- Drag & drop : Réorganisation cards personnalisée
- Chart overlays : Graphiques détaillés en modal
- Bulk actions : Sélection multiple avec toolbar
- Real-time updates : WebSocket pour données live
Micro-animations Avancées
- Morphing numbers : Transitions chiffres plus fluides
- Particle effects : Célébrations achievements
- Parallax subtle : Depth effect sur scroll
- Physics-based : Spring animations réalistes
🎯 Checklist Qualité Design
Avant Déploiement
- Contraste colors vérifié WCAG AA
- Navigation clavier testée complète
- Responsive validé sur tous breakpoints
- Performance animations 60fps confirmé
- Cross-browser testé Chrome/Firefox/Safari/Edge
- Touch targets 44px minimum respectés
- Loading states tous scenarios couverts
- Error states feedback utilisateur clair
Maintenance Continue
- Design tokens mis à jour si évolutions
- Component library synchronisée
- Documentation à jour avec changes
- Accessibility audit périodique
- Performance monitoring métriques suivies
- User feedback intégré dans itérations
📚 Ressources Design
Assets et Outils
- Color palette : Variables CSS dans design-system.css
- Icons : FontAwesome 6 pour cohérence
- Fonts : System fonts stack pour performance
- Images : Formats WebP avec fallback PNG
Documentation Technique
- Storybook : Catalogue composants interactifs
- Design tokens : Variables Figma → CSS automation
- Style guide : Guidelines équipe développement
- Pattern library : Composants réutilisables documentés
Documentation réalisée avec expertise UI/UX Designer
Version 2.0 - Janvier 2025 - Notytex Design System 🎨