- Split monolithic app.py (400+ lines) into organized modules - Extract models, forms, and commands into separate files - Implement Flask blueprints for route organization - Maintain full functionality with cleaner architecture - Update all templates to use new blueprint URLs - Enhance README with technical documentation Structure: ├── app.py (50 lines) - Flask app factory ├── models.py (62 lines) - SQLAlchemy models ├── forms.py (43 lines) - WTForms definitions ├── commands.py (74 lines) - CLI commands └── routes/ - Blueprint modules for each feature 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Gestion Scolaire
 | |
| 
 | |
| Application web Flask pour gérer les élèves, évaluations et notes dans un contexte scolaire.
 | |
| 
 | |
| ## Fonctionnalités
 | |
| 
 | |
| ### ✅ Gestion complète des évaluations
 | |
| - **Groupes classes** : Organisation des élèves par classe
 | |
| - **Évaluations** : Création et gestion des contrôles/devoirs
 | |
| - **Exercices** : Structure hiérarchique des évaluations
 | |
| - **Éléments de notation** : Configuration fine des critères
 | |
| - **Saisie des notes** : Interface intuitive pour la notation
 | |
| 
 | |
| ### 🎯 Types de notation supportés
 | |
| - **Points** : Notation classique (ex: 2.5/4 points)
 | |
| - **Score** : Évaluation par compétences (0=non acquis, 1=en cours, 2=acquis, 3=expert, .=non évalué)
 | |
| 
 | |
| ## Installation et lancement
 | |
| 
 | |
| Avec uv (recommandé) :
 | |
| 
 | |
| ```bash
 | |
| # Installer les dépendances
 | |
| uv sync
 | |
| 
 | |
| # Initialiser la base de données avec des données de démonstration
 | |
| uv run flask --app app init-db
 | |
| 
 | |
| # Lancer en mode développement
 | |
| uv run flask --app app run --debug
 | |
| 
 | |
| # Ou lancer sans mode debug
 | |
| uv run flask --app app run
 | |
| ```
 | |
| 
 | |
| ## Architecture technique
 | |
| 
 | |
| ### Structure du code
 | |
| ```
 | |
| ├── app.py                 # Application Flask principale
 | |
| ├── models.py             # Modèles SQLAlchemy
 | |
| ├── forms.py              # Formulaires WTForms
 | |
| ├── commands.py           # Commandes CLI Flask
 | |
| ├── routes/
 | |
| │   ├── assessments.py    # Routes pour les évaluations
 | |
| │   ├── exercises.py      # Routes pour les exercices
 | |
| │   └── grading.py        # Routes pour la saisie des notes
 | |
| └── templates/            # Templates Jinja2 avec TailwindCSS
 | |
| ```
 | |
| 
 | |
| ### Modèles de données
 | |
| - **ClassGroup** : Groupes de classes (ex: 6ème A, 5ème B)
 | |
| - **Student** : Élèves assignés à un groupe classe
 | |
| - **Assessment** : Évaluations liées à un groupe classe
 | |
| - **Exercise** : Exercices composant une évaluation
 | |
| - **GradingElement** : Éléments de notation avec barème et type
 | |
| - **Grade** : Notes attribuées aux éléments de notation
 | |
| 
 | |
| ### Technologies utilisées
 | |
| - **Backend** : Flask, SQLAlchemy, WTForms
 | |
| - **Frontend** : TailwindCSS, Jinja2
 | |
| - **Base de données** : SQLite
 | |
| - **Gestionnaire de paquets** : uv |