✨ feat(i18n): Ajoute la traduction chinoise et Google API
Ajoute la traduction chinoise, intègre l'API Google Marchand et
corrige des problèmes de gestion des paramètres de langue.
```
✨ feat(sentry): Ajoute Sentry pour le suivi des erreurs
Ajoute Sentry pour le suivi des erreurs en production et améliore la
gestion des erreurs côté client et serveur.
```
✨ feat(SitemapSubscriber): Ajoute génération d'URLs "Qui sommes-nous" par ville
➕ feat(who.twig): Ajoute template pour la page "Qui sommes-nous"
➕ feat(HomeController): Ajoute route et controller pour la page "Qui sommes-nous"
```
✨ feat(assets/app.js): Ajoute gestion bandeau cookies et notifications en français.
Ajoute les messages, la logique et l'affichage des bandeaux de cookies et de notifications.
```
✨ feat(sw.js/app.js): Gère les notifications push et l'abonnement
Ajoute la gestion des notifications push avec abonnement via le
service worker et enregistre l'abonnement sur le serveur. Gère
l'affichage d'une bannière pour demander la permission.
```
✨ feat(templates): Implémente la structure de base de la boutique avec catégories et produits.
🐛 fix(ErrorListener): Corrige l'affichage des erreurs seulement en prod.
🌐 feat(translations): Ajoute les traductions FR et EN pour la boutique.
✨ feat(dons): Ajoute la fonctionnalité de dons avec Stripe et reçus PDF.
Ajoute une page de dons avec formulaire, intégration Stripe, webhooks,
génération de reçus PDF et envoi de mails de confirmation. Ajoute aussi
gestion des erreurs 404/500.
```
✨ feat(security): Utilise l'email pour l'authentification, crée dashboard admin.
Ajoute le dashboard admin, les membres, les events, et les comptes.
Utilise l'email au lieu du username pour l'authentification.
```
✨ feat(security): Ajoute réinitialisation mot de passe, robots.txt, et traductions.
Ajoute la fonctionnalité de réinitialisation de mot de passe, met à jour le
robots.txt, et ajoute des traductions en français et en anglais.
```
Ajoute la gestion des menus utilisateur (desktop et mobile) avec des fonctions pour basculer la visibilité et ferme les menus au clic extérieur.
Ajoute aussi la gestion de la touche "Echap" pour fermer les menus.
✨ feat(translations/messages.en.yaml): Add security translations for login & password.
Ajoute les traductions anglaises pour la sécurité (connexion, mot de passe oublié).
✨ feat(translations/messages.fr.yaml): Ajoute les traductions pour la sécurité.
Ajoute les traductions françaises pour les formulaires de connexion et mot de passe oublié.
✨ feat(templates/security): Crée les templates pour login et mot de passe oublié.
Crée les templates login.twig, forgot_password.twig et forgot_password_success.twig.
✨ feat(src/Service/ResetPassword): Adapte ResetPasswordSubscriber pour E-Cosplay.
Adapte le service ResetPasswordSubscriber pour le projet E-Cosplay.
✨ feat(src/Controller/SecurityController): Crée le contrôleur de sécurité.
Crée le SecurityController avec les routes pour la connexion et la gestion du mot de passe oublié.
✨ feat(templates/base.twig): Ajoute le menu utilisateur desktop et mobile.
Ajoute le menu utilisateur (desktop et mobile) avec gestion de la connexion/déconnexion.
✨ feat(event): Ajoute la liste des événements et la gestion d'absence d'événements.
Ajoute la liste des événements avec affichage de date, lieu, organisateur et un lien vers les détails. Gère l'absence d'événements.
```