✨ feat(login): Ajoute l'authentification SSO via Keycloak et Discord
Cette modification implémente l'authentification unique (SSO) via
Keycloak et Discord, permettant aux utilisateurs de se connecter
facilement. Ajoute les trads FR.
```
✨ feat(templates): Style Neubrutaliste, refonte complète des templates
Refactorise les templates principaux avec un style Neubrutaliste.
Ajoute des animations, des filigranes et améliore la responsivité.
Traduit en français.
```
🎨 style(app): Ajoute du style pour l'affichage des rôles dans le formulaire d'adhésion.
🌐 i18n(translations): Adapte les textes pour le formulaire d'adhésion.
🐛 fix(JoinController): Corrige une erreur d'affichage des données du formulaire.
✨ feat(EventsController): Affiche la liste des événements et les détails
Ajoute l'affichage des événements et de leurs détails. Ajoute aussi la gestion des affiches.
```
✨ feat(deps): Ajoute Sentry pour le suivi des erreurs et MobileDetect.
🐛 fix(template): Corrige l'affichage des badges Stripe sur mobile et ajoute le réalisateur.
⚙️ chore(config): Active le bundle Sentry dans la configuration.
```
✨ feat(templates): Ajoute badge Stripe Climate au pied de page et CSP
Ajoute les badges Stripe Climate pour afficher nos actions et met à jour la
CSP pour autoriser climate.stripe.com.
```
✨ feat(doc): Ajoute la page de documents et les AGs au sitemap.
♻️ refactor(.env): Met à jour l'URL de développement Ngrok.
✨ feat(SitemapSubscriber): Ajoute les URLs contact et doc au sitemap.
✨ feat(AgGenerator): Ajoute l'option de largeur à la signature PDF.
✨ feat(Ag/Main): Ajoute le champ de signature de l'adhésion à l'AG.
✨ feat(AgTypeEdit): Crée le formulaire d'édition du type d'AG.
🌐 i18n: Ajoute des traductions chinoises pour la page documents.
✨ feat(Mailer): Ajoute le contenu texte aux e-mails.
✨ feat(DocumentController): Ajoute le contrôleur de documents.
✨ feat(txt-mails): Ajoute les templates de mails en texte.
✨ feat(AdController): Ajoute le contrôleur d'adhésion.
✨ feat(Service/Pdf): Crée le service PDF pour l'adhésion à l'AG.
✨ feat(AdminController): Ajoute la gestion de l'AG à l'admin.
🌐 i18n: Ajoute les traductions françaises pour la page documents.
✨ feat(Members): Ajoute la relation avec la signature de l'AG.
```
✨ feat(sitemap/who): Ajoute des villes et routes pour la page "Qui sommes-nous ?"
Ajoute des villes à la sitemap et aux traductions, crée une route
supplémentaire pour la page "Qui sommes-nous ?" et traduit le nom de la
ville affichée.
```
✨ 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(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(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.
```
✨ feat(translations/home): Ajoute les traductions pour la page d'accueil
✨ feat(templates/home): Crée le template de la page d'accueil avec sections
✅ chore(src/Controller): Crée le ShopController et la route vers la boutique
✨ feat(templates/base): Ajoute un lien vers la boutique dans le menu
```
Ajoute le support multilingue pour les pages légales (RGPD, CGU,
CGV, Mentions Légales, Cookies, Hébergement) et la page À propos,
incluant les traductions en français et en anglais. Désactive
aussi le sitemap pour les pages home et about.
🌐 i18n(messages.fr.yaml): Ajoute la traduction pour l'hébergement de site.
✨ feat(templates/price.twig): Ajoute les prix pour les offres d'hébergement.
✨ feat(AutoCreatedAvisPaymentCommand): Génère les avis de paiement pour l'hébergement.
♻️ refactor(PriceController): Gère la sauvegarde des prix d'hébergement.
📧 feat(avis-payment-wait.twig): Améliore le formatage du mail d'avis de paiement.
✨ feat(customer): Ajoute l'entité CustomerWallet et la vue porte-monnaie.
♻️ refactor(template): Renomme external.twig en wallet.twig.
✨ feat(website): Ajoute une option pour afficher les options du site.
🐛 fix(serverCard): Affiche correctement le statut en temps réel via MQTT.
🌐 i18n: Corrige une faute de frappe dans la traduction de "Newsletter".
```
✨ feat(src/Command): Formatte les dates dans AutoCreatedAvisPaymentCommand.
✨ feat(templates): Ajoute un lien pour la liste des impayés.
✨ feat(src/Service/Docuseal): Corrige l'URL du fichier Docuseal.
✨ feat(src/Controller): Ajoute la génération de la liste des impayés.
📝 chore(translations): Ajoute des traductions pour les statuts de factures.
✨ feat(src/Entity/CustomerAdvertPayment.php): Ajoute relation one-to-one avec AvisPaymentState
✨ feat(src/Controller): Crée ValidateAdvertController et template pour validation des avis
✨ feat(translations): Ajoute traduction pour renouvellement nom de domaine
✨ feat(templates): Ajoute lien vers validation des avis de paiement dans intranet
✨ feat(templates): Améliore formulaire prix avec champs dépot, renouvellement, rétablissement et gestion NDD
✨ feat(src/Command): Crée commande pour générer automatiquement les avis de paiement
✨ feat(src/Controller): Ajoute les custom price pour dépot, renouvellement, retablissement, gestion NDD
✨ feat(src/Repository): Ajoute une fonction pour recuperer les ndd expirant bientot
✨ feat(src/Controller): Affiche seulement les avis valider dans les factures client
✨ feat(src/Service): Ajoute fonction pour recuperer les ndd expirant bientot
```
Ce commit implémente l'ajout et la visualisation des sites internet.
Il inclut la gestion de formulaires, l'enregistrement en base de données,
et l'affichage des détails.
🐛 fix(SignClient): Corrige la méthode pour obtenir le lien de signature.
✨ feat(Dashboard): Affiche les services actifs du client sur le tableau de bord.
✨ feat(Dashboard): Ajoute la traduction pour les types de services.
```