Files
notytex/CHANGELOG.md
Bertrand Benjamin 6654aa4248 feat: add Podman compatibility with non-privileged ports
- 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
2025-11-26 06:11:38 +01:00

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**