# Changelog

Tous les changements notables de ce projet seront documentés 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/).

## [Non publié]

### Ajouté
- Architecture Clean complète avec séparation Domain/Data/Presentation
- Système de gestion d'événements (création, modification, participation)
- Réseau social avec amis, posts et stories
- Authentification sécurisée avec stockage chiffré
- Intégration Google Maps pour la localisation
- Thème clair/sombre avec persistance
- Support multiplateforme (iOS, Android, Web, Desktop)
- Notifications en temps réel
- Système de réservations
- Profils utilisateurs avec statistiques
- Configuration centralisée des environnements
- Analyse statique stricte avec linter complet
- Scripts de nettoyage automatisés
- Documentation complète (README, CONTRIBUTING)

### Modifié
- Migration vers les dernières versions des dépendances (2024-2026)
- Amélioration du .gitignore avec règles complètes
- Refactoring de EventModel avec séparation entité/modèle
- Optimisation de la structure des dossiers

### Supprimé
- Fichiers de build et dossiers générés
- Logs d'erreur (hs_err_pid*.log)
- Fichiers de configuration locaux (local.properties)
- Dossier config/ dupliqué à la racine
- Dépendances obsolètes (flare_flutter)

### Sécurité
- Ajout de EnvConfig pour centraliser les secrets
- Stockage sécurisé des credentials avec flutter_secure_storage
- Hachage des mots de passe avec bcrypt/argon2
- Chiffrement des données sensibles

---

## [1.0.0] - À venir

### Prévu
- Tests unitaires complets
- Tests d'intégration
- Tests end-to-end
- CI/CD avec GitHub Actions
- Déploiement sur stores (Play Store, App Store)
- Internationalisation multi-langues
- Mode hors-ligne avec cache local
- Notifications push
- Chat en temps réel
- Partage d'événements sur réseaux sociaux

---

## Format des Versions

### Types de changements
- **Ajouté** : Nouvelles fonctionnalités
- **Modifié** : Changements dans les fonctionnalités existantes
- **Déprécié** : Fonctionnalités bientôt supprimées
- **Supprimé** : Fonctionnalités supprimées
- **Corrigé** : Corrections de bugs
- **Sécurité** : Corrections de vulnérabilités

### Numérotation Sémantique
- **MAJOR** : Changements incompatibles avec les versions précédentes
- **MINOR** : Nouvelles fonctionnalités compatibles
- **PATCH** : Corrections de bugs compatibles

Exemple : `1.2.3` = MAJOR.MINOR.PATCH

