- Change Docker ports from 80/8000 to 8081/8080 (non-privileged) - Update CORS_ORIGINS in docker-compose.yml and .env.docker - Update all documentation (README.md, DOCKER.md) with new ports - Add Podman compatibility section to CHANGELOG.md - Enable podman-compose usage without root privileges
162 lines
4.1 KiB
Markdown
162 lines
4.1 KiB
Markdown
# 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**
|