✨ feat(gitignore): Ajoute Catalogue.pdf aux fichiers ignorés.
🎨 style(templates): Ajoute un lien vers le catalogue PDF dans la page produits.
♻️ refactor(pwa): Met à jour l'URL du catalogue PDF dans le fichier PWA.
♻️ refactor(templates): Met à jour l'URL du catalogue PDF dans la base de réservation.
✨ feat(ProductController): Ajoute une route pour mettre à jour le catalogue PDF.
```
♻️ refactor(ReserverController): Déplace les routes de réservation à la racine.
♻️ refactor(RedirecListener): Corrige la redirection pour l'intranet.
♻️ refactor(HomeController): Met à jour les routes pour l'intranet.
♻️ refactor(KeycloakAuthenticator): Nettoie KeycloakAuthenticator.
♻️ refactor(security): Modifie les patterns de firewall pour l'intranet.
✨ feat(assets): Met à jour l'URL de web-vitals dans reserve.js.
✨ feat(pwa): Met à jour les URLs du catalogue et des formules dans pwa.yaml.
```
🗑️ remove(Security/RedirecListener.php): Supprime le listener de redirection obsolète.
✨ feat(ansible/templates/caddy.j2): Ajoute la gestion du rewrite invisible pour la réservation.
🐛 fix(config/packages/pwa.yaml): Corrige la hauteur de l'image PWA pour l'accueil.
```
✨ feat(Product): Ajoute la relation avec l'entité FormulesProductInclus.
✨ feat(FormulesController): Crée le contrôleur pour gérer les formules.
✨ feat(templates): Ajoute le template pour afficher les formules dans le dashboard.
✨ feat(base.twig): Ajoute un lien vers la gestion des formules dans le menu.
⚙️ chore(vich_uploader): Configure vich uploader pour les images des formules.
```
✨ feat(contrat): Améliore l'affichage des contrats et ajoute suivi des paiements.
Cette commit améliore l'affichage des contrats dans le dashboard,
ajoute le suivi des paiements et corrige des bugs mineurs.
```
✨ feat(reservation): Ajoute la gestion des contrats client et améliore l'authentification.
Corrige l'URL de retour, ajoute la gestion des contrats client et le logout client.
```
✨ feat(ReserverController): Ajoute des routes pour connexion, création de compte et recherche.
Crée les routes pour la connexion (`/reservation/connexion`), la création de compte
(`/reservation/creation-compte`), la gestion du mot de passe
(`/reservation/creation-compte`), et la recherche de produits
(`/reservation/recherche`). Intègre UploaderHelper et Client pour la recherche.
```
🎨 style(templates): Améliore le contraste des couleurs et la lisibilité
Ce commit ajuste les couleurs du texte et des fonds pour améliorer
le contraste et la lisibilité sur différentes pages du site.
```
✨ feat(ViteAssetExtension): Ajoute la gestion des favicons et améliore la gestion des scripts.
⚙️ chore(pwa): Met à jour le nom et l'URL de démarrage du PWA.
```
✨ feat(liip_imagine): Ajoute un filtre pour l'image de couverture de la vidéo.
🐛 fix(home.twig): Détecte les bots et sert une image au lieu d'une vidéo.
➕ feat(composer): Ajoute jaybizzle/crawler-detect pour détecter les bots.
🎨 style(revervation/base.twig): Améliore l'effet de survol du logo.
```
✨ feat(reservation/contrat): Ajoute lieu, identité et sections finances.
Ajoute lieu de l'événement, section identité, tableau des options,
et section finances avec gestion de l'acompte et du solde.
```
✨ feat(Product.php): Ajoute ProductDoc pour gérer les documents.
✨ feat(Contrats.php): Gère les fichiers du contrat via VichUploader.
✨ feat(templates): Crée template mail signature contrat.
✨ feat(SignatureController): Ajoute la signature du contrat.
✨ feat(ContratsController): Crée contrat depuis devis et liste contrats.
✨ feat(Client): Crée soumission contrat Docuseal.
✨ feat(DevisPdfService): Corrige l'assurance RC Pro.
✨ feat(.env): Ajoute CONTRAT_BASEURL.
✨ feat(ProductDocType): Crée formulaire pour les documents produit.
✨ feat(contrats/list.twig): Liste et actions pour les contrats.
✨ feat(UtmEvent.js): Track click document produit.
✨ feat(ContratEvent.php): Crée event pour envoi contrat.
✨ feat(admin.js): Initialise la recherche dynamique des contrats.
✨ feat(ContratPdfService): Génère le PDF du contrat DocuSeal.
✨ feat(products/add.twig): Ajoute gestion des documents produits.
✨ feat(ContratController): Crée controlleur contrat.
✨ feat(ContratSubscriber.php): Envoi du contrat par email.
✨ feat(reservation/produit.twig): Affiche les documents produit.
✨ feat(ProductController.php): Refactorisation et ajout des documents.
```
✨ feat(Devis.php): Ajoute liaison Options <-> Devis et méthode get/set.
✨ feat(options/add.twig): Ajoute template création/édition des options.
♻️ refactor(.env): Met à jour les URLs ngrok pour la synchro Stripe.
🐛 fix(StripeCommand.php): Corrige et améliore la synchro Stripe.
✨ feat(products.twig): Ajoute gestion et affichage des options.
✨ feat(Client.php): Ajoute gestion des options (CRUD) pour Stripe.
✨ feat(vich_uploader.yaml): Ajoute configuration pour upload images options.
✨ feat(ProductController.php): Gère les options (CRUD) dans le contrôleur.
✨ feat(OptionsType.php): Ajoute formulaire pour la gestion des options.
```
🐛 fix(ReserverController): Corrige la route de la sitemap.
♻️ refactor(SiteMapListener): Génère les URLs des produits dans la sitemap.
🔧 chore(ansible): Ajoute le dossier seo aux dossiers à sauvegarder.
✨ feat(.env): Met à jour les URLs de signature et Stripe pour Ngrok
✨ feat(SignatureController): Ajoute le contrôleur de signature
✨ feat(DevisController): Intègre DocuSeal et la gestion des adresses client
🐛 fix(DevisManager.js): Corrige la sélection et la synchronisation des adresses
✨ feat(vich_uploader.yaml): Configure le stockage des fichiers PDF
✨ feat(initTomSelect.js): Améliore la gestion des prix des produits
✨ feat(DevisPdfService): Intègre la signature DocuSeal et améliore le pied de page
✨ feat(Client.php): Crée une soumission Docuseal pour les devis
✨ feat(Devis.php): Ajoute adresses de facturation et de livraison au devis.
🔒️ fix(IntranetLocked.php): Autorise l'accès à la route st_control en mode debug.
✨ feat(CustomerAddress.php): Gère les adresses de facturation et livraison.
✨ feat: Ajoute la console superadmin pour le contrôle système.
✨ feat(DevisController.php): Supprime la génération PDF temporaire.
✨ feat(st_control.js): Ajoute la logique de contrôle système via JS.
✨ feat: Crée les templates CGV, Cookies, Hébergement et RGPD.
🎨 style(app.scss): Ajoute un style de fond pour la console.
✨ feat: Ajoute le template pour les informations d'hébergement.
✨ feat: Crée un template de mail d'alerte pour les accès root.
✨ feat: Crée le template RGPD (données personnelles).
🐛 fix(ErrorListener.php): Gère les erreurs 404 en prod (JSON/HTML).
✨ feat: Ajoute les mentions légales.
✨ feat(DevisPdfService.php): Améliore la génération PDF du devis.
✨ feat(admin.js): Charge dynamiquement les produits dans le select.
✨ feat(add.twig): Ajoute un sélecteur de produit et d'autres champs.
✅ chore(config): Ajoute INTRANET_LOCK à l'env.
```
✨ feat(Product): Remplace les annotations Vich par des attributs.
♻️ refactor(Customer): Ajoute la relation OneToMany avec l'entité Devis.
✨ feat(DevisController): Affiche la liste des devis paginée.
✨ feat(devis/list.twig): Crée la vue de liste des devis avec pagination.
⚙️ chore(vich_uploader): Configure les mappings pour les fichiers de devis.
```
✨ feat(Stripe): Intègre Stripe pour la gestion des paiements et les webhooks
Ajoute Stripe pour la synchronisation des clients et la configuration des webhooks.
Crée une commande pour synchroniser les clients locaux avec Stripe.
Ajoute un champ customerId à l'entité Customer.
```
✨ feat(search): Ajoute EsySearch pour la recherche globale dans le CRM
Ajoute le service EsySearch, initialise l'index des admins et crée
une page de recherche unifiée. Active PWA en prod.
```
✨ feat(crm/admin): Améliore gestion des administrateurs et sécurité
Ajoute formulaires identité et mot de passe, rôles dynamiques.
Gère statuts, journal d'audit, connexions.
Améliore les notifications.
```
✨ feat(ansible/caddy): Supprime CSP statique et Permissions-Policy obsolète
🐛 fix(assets/admin): Corrige la gestion du menu admin et des flashs
✨ feat(Twig/ViteAssetExtension): Ajoute CSP nonce et gère les favicons
🐛 fix(Entity/AuditLog): Corrige la relation ManyToOne avec Account
➕ feat: Ajoute NelmioSecurityBundle pour gérer la sécurité CSP
```
✨ feat(caddy): Améliore la sécurité avec CSP et headers standards
✨ feat(templates): Met à jour le logo sur la page d'inscription réussie
✨ feat(knp_paginator): Ajoute la configuration pour le style Tailwind
✨ feat(audit_logs): Crée la page de traçabilité des actions
✨ feat(logs): Ajoute le contrôleur pour gérer les logs d'audit
✨ feat(AppLogger): Enregistre l'user agent dans les logs d'audit
✨ feat(AccountController): Supprime l'appel inutile de l'EventAdminCreate
✨ feat(AuditLogRepository): Récupère les logs en excluant les ROOT
✨ feat(base): Ajoute la structure de base pour le dashboard
```
✨ feat(Security): Active l'authentification à deux facteurs (2FA).
✨ feat(Account): Ajoute une entité et un formulaire pour les administrateurs.
🐛 fix(Security): Corrige la redirection après la connexion.
✨ feat(CRM): Ajoute une page d'administration des comptes administrateurs.
✨ feat(security): Ajoute l'authentification Keycloak SSO et migre les commandes
Supprime la commande AccountCommand, la migration et ajoute l'authentification
Keycloak SSO. Crée les vues de base pour le tableau de bord.
```
[+] chore(root): Initialise le projet avec une structure de base
Crée la structure de base du projet Symfony, incluant les entités,
services, formulaires, et templates nécessaires pour la gestion des
comptes utilisateurs, la sécurité, et la gestion des mots de passe
oubliés. Ajoute également la configuration pour la gestion des assets
avec Vite, la gestion des fichiers avec Flysystem, et la
génération de sitemaps.
```