Files
notytex/README.md
Bertrand Benjamin 3e49bd467c refactor: restructure codebase into modular architecture
- 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>
2025-08-03 20:59:10 +02:00

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