# 📚 Documentation - Page des Classes Modernisée > **Version**: 2.0 > **Date de mise à jour**: 7 août 2025 > **Auteur**: Équipe UI/UX Design ## 🎯 **Vue d'Ensemble** La page des classes a été **entièrement modernisée** pour adopter le design system cohérent de Notytex. Elle transforme une interface basique en une expérience moderne, engageante et parfaitement harmonisée avec le reste de l'application. ### 📋 **Fichiers Concernés** - `templates/classes.html` - Page principale modernisée - `templates/components/class/class_card.html` - Nouveau composant de carte de classe - `templates/components/common/macros.html` - Macros réutilisées --- ## 🎨 **Architecture Visuelle** ### **Structure de Page** ``` ┌─── Hero Section (Gradient coloré) ────┐ │ "Mes Classes 🏫" │ │ Meta-info + Bouton action │ └────────────────────────────────────────┘ ┌─── Grille de Cartes Responsives ──────┐ │ ┌─ Carte 1 ─┐ ┌─ Carte 2 ─┐ │ │ │ 6ème A │ │ 5ème A │ ... │ │ │ (Bleu) │ │ (Vert) │ │ │ └───────────┘ └───────────┘ │ └────────────────────────────────────────┘ 📱 État vide moderne (si aucune classe) ``` ### **Design Tokens** ```scss // Gradients par niveau 6ème: from-blue-500 to-blue-600 5ème: from-green-500 to-green-600 4ème: from-purple-500 to-purple-600 3ème: from-orange-500 to-orange-600 2nde: from-red-500 to-red-600 1ère: from-pink-500 to-pink-600 Term: from-indigo-500 to-indigo-600 ???: from-gray-500 to-gray-600 // Non reconnu // Hero Section Gradient: from-blue-600 to-green-600 ``` --- ## 🧩 **Composants Utilisés** ### **1. Hero Section** ```jinja2 {{ hero_section( title="Mes Classes 🏫", subtitle="Gérez et organisez toutes vos classes", meta_info=[ {'icon': '...', 'text': classes|length ~ ' classes actives'}, {'icon': '...', 'text': 'Année scolaire 2024-2025'} ], primary_action={ 'url': '#', 'text': 'Nouvelle classe', 'icon': '...' }, gradient_class="from-blue-600 to-green-600" ) }} ``` **✨ Caractéristiques:** - Gradient thématique éducatif (bleu vers vert) - Meta-informations dynamiques (nombre de classes, année) - Bouton d'action principal intégré - Responsive design automatique ### **2. Composant class_card** **Fichier**: `templates/components/class/class_card.html` ```jinja2 {{ class_card(class) }} ``` **🎯 Fonctionnalités:** - **Couleurs adaptatives** selon le niveau de classe - **Header gradient** avec nom de classe proéminent - **Indicateur d'élèves** en temps réel - **Actions intégrées** : Voir élèves, Évaluations, Modifier - **Métadonnées** : Niveau, nombre d'élèves, statut --- ## 🔍 **Logique d'Affichage** ### **Extraction du Niveau de Classe** ```jinja2 {# Extraire le niveau de classe du nom (ex: "6ème A" -> 6, "Terminale S" -> "T") #} {% set class_level = class.name[0] | int if class.name[0].isdigit() else ('T' if class.name.startswith('T') or class.name.startswith('t') else 'unknown') %} ``` **⚙️ Algorithme:** 1. Prendre le premier caractère du nom de classe 2. Si c'est un chiffre → niveau de classe 3. Si commence par T/t → Terminale ("T") 4. Sinon → "unknown" (Non reconnu, gris) ### **Attribution des Couleurs** ```jinja2 {% set year_colors = { 6: {'bg': 'from-blue-500 to-blue-600', 'accent': 'blue'}, 5: {'bg': 'from-green-500 to-green-600', 'accent': 'green'}, // ... autres niveaux } %} {% set year_config = year_colors.get(class_level, year_colors[6]) %} ``` **🎨 Système de Couleurs:** - Chaque niveau a sa **couleur signature** - Fallback automatique vers "unknown" (gris) si niveau indéterminable - **Indication visuelle claire** pour les classes non reconnues - Cohérence visuelle avec l'ensemble du site --- ## 📱 **Responsive Design** ### **Breakpoints** ```css /* Mobile-first approach */ grid-cols-1 /* Mobile: 1 colonne */ md:grid-cols-2 /* Tablette: 2 colonnes */ lg:grid-cols-3 /* Desktop: 3 colonnes */ ``` ### **Adaptations par Écran** | Écran | Layout | Détails | | ------------ | ------ | --------------------------------------- | | **Mobile** | 1 col | Cartes pleine largeur, actions empilées | | **Tablette** | 2 cols | Équilibre lecture/espace | | **Desktop** | 3 cols | Optimisation espace écran | --- ## 🔄 **États d'Interface** ### **État avec Classes** - **Grille de cartes** responsive - **Tri automatique** par année et nom - **Actions rapides** sur chaque carte - **Indicateurs visuels** (badges, compteurs) ### **État Vide** ```jinja2
Commencez votre gestion scolaire en créant votre première classe...