# Changelog - Notytex Toutes les modifications notables de ce projet seront documentées dans ce fichier. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/), et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/). --- ## [2.0.0] - 2025-11-26 ### 🎉 Réécriture Complète (Flask → FastAPI + Vue.js) #### Added - **Podman Compatibility** : Support complet sans privilèges root - Ports non-privilégiés (8080/8081 au lieu de 80/8000) - Compatible docker-compose et podman-compose - Documentation complète dans DOCKER.md - **Backend FastAPI** : API REST JSON pure avec support async - FastAPI 0.115+ - SQLAlchemy 2.0.36+ avec aiosqlite - Pydantic 2.10+ pour validation - Uvicorn 0.32+ serveur ASGI - Architecture hexagonale (domain/infrastructure/api) - 99 tests unitaires (100% de succès) - Documentation OpenAPI automatique - **Frontend Vue.js 3** : Single Page Application moderne - Vue.js 3.5+ - Vite 6.0+ (build ultra-rapide) - Vue Router 4.5+ - Pinia 2.2+ (state management) - TailwindCSS 3.4+ - Chart.js 4.4+ pour graphiques - 14 vues complètes - 40+ composants réutilisables - **Docker** : Configuration complète de déploiement - Dockerfile multi-stage pour frontend - Docker Compose avec orchestration - Healthchecks automatiques - Guide de déploiement complet (DOCKER.md) - Support HTTPS ready - **Documentation** : - README.md complet pour v2 - REWRITE.md : historique de migration - DOCKER.md : guide de déploiement - Documentation API interactive (Swagger/ReDoc) #### Changed - **Architecture** : Séparation complète backend/frontend - **API** : 45 routes RESTful (vs templates HTML) - **Performance** : Support async/await natif - **Validation** : Pydantic pour toutes les entrées - **Tests** : 99 tests unitaires + tests de parité - **Configuration** : Variables d'environnement avec Pydantic Settings - **Logging** : Logs structurés JSON #### Removed - Code Flask monolithique (archivé dans Git history) - Templates Jinja2 (remplacés par Vue.js) - WTForms (remplacé par validation Pydantic) - JavaScript fragmenté (remplacé par Vue.js moderne) #### Migration Notes - Base de données SQLite **inchangée** (compatibilité 100%) - Mêmes modèles de données - Mêmes règles métier et calculs - Tests de parité v1/v2 validés --- ## [1.0.0] - 2024-09-17 ### Initial Release (Flask) #### Features - Application Flask monolithique - Gestion des classes et élèves - Système d'évaluations avec notation dual (notes/compétences) - Calcul de statistiques et résultats - Conseil de classe - Import CSV élèves - Envoi de bilans par email - Templates Jinja2 + TailwindCSS - 100 tests unitaires Flask --- ## Versions des Dépendances ### Backend (v2.0.0) ``` Python: 3.11-3.13 FastAPI: 0.115+ SQLAlchemy: 2.0.36+ Pydantic: 2.10+ Uvicorn: 0.32+ pytest: 8.3+ ``` ### Frontend (v2.0.0) ``` Node.js: 22 LTS Vue.js: 3.5+ Vite: 6.0+ Vue Router: 4.5+ Pinia: 2.2+ TailwindCSS: 3.4+ Chart.js: 4.4+ ``` ### Docker (v2.0.0) ``` Docker: 24.0+ Docker Compose: 2.20+ Python base: 3.12-slim Node base: 22-alpine Nginx: alpine (latest) ``` --- ## Migration Guide v1 → v2 ### Pour les utilisateurs 1. **Pas de migration de données nécessaire** - La base SQLite est compatible 2. **Nouvelles commandes de démarrage** : ```bash # Backend cd backend && uv run python -m uvicorn api.main:app --reload --port 8000 # Frontend cd frontend && npm run dev ``` 3. **Nouvelles URLs** : - Frontend : http://localhost:3000 - API : http://localhost:8000 - Docs : http://localhost:8000/api/v2/docs ### Pour les développeurs 1. **Nouvelle structure** : Voir `REWRITE.md` pour l'architecture complète 2. **Tests** : `cd backend && uv run pytest tests/ -v` 3. **Linting** : `cd backend && uv run ruff check .` 4. **Format** : `cd backend && uv run black .` --- ## Liens Utiles - [Documentation API](http://localhost:8000/api/v2/docs) (Swagger) - [Guide de déploiement Docker](DOCKER.md) - [Architecture détaillée](REWRITE.md) - [Code source](https://github.com/votre-repo/notytex) --- **Développé avec ❤️ pour simplifier la vie des enseignants**