✨ feat(MailCommand): Automatise les rappels et suivis par mail
- Ajoute rappels devis/contrats non signés.
- Gère les acomptes/cautions manquants.
- Planifie rappels logistiques J-3/J-1.
```
✨ feat(crm/planning): Ajoute le planning logistique
Ce commit ajoute le planning logistique utilisant FullCalendar pour
visualiser les réservations. Il inclut la récupération des données
de l'API et l'affichage des détails dans une modale.
```
✨ feat(contrat/view): Ajoute l'attribut data-turbo="false" au lien d'acompte.
🐛 fix(RedirecListener): Exclut les webhooks de la redirection ngrok.
✨ feat(Webhooks): Crée des ProductReserve lors du paiement d'un acompte.
✨ feat(ContratPdfService): Remplace le code-barres par un QR code.
✨ feat(ContratController): Gère le paiement de l'acompte via Stripe.
```
✨ feat: fin de création des contrat dans crm fonctionel et valide
activation partie visiteur sur création et connexion compte visiteur valide et tester
```
✨ feat(facture): Ajoute la gestion des factures et paiements (CRUD, export).
Cette commit ajoute la fonctionnalité de gestion des factures et des paiements,
incluant l'affichage, la recherche, l'export Excel et la pagination.
```
✨ feat(contrats): Ajoute gestion manuelle des paiements et états de caution
Ajoute la gestion manuelle des paiements (accompte, solde, caution) et permet la libération/encaissement de caution avec envoi de mail.
```
✨ feat(contrats): Ajoute détails option, actions paiements et style liste
Ajoute un champ détails pour les options de contrat, permet la validation
manuelle des paiements (accompte, caution, solde) et améliore le style
de la liste des contrats.
```
✨ feat(DevisController): Améliore la gestion et l'édition des devis
Corrige des bugs et améliore la création/édition des devis, incluant options et lignes, et la gestion des signatures.
```
✨ feat(Security/Listener): Utilise APP_ENV pour le mode dev.
✨ feat(assets/admin.js): Ajoute le composant PlaningLogestics.
✨ feat(assets/libs): Crée composant PlaningLogestics pour calendrier.
➕ feat(package.json): Ajoute les dépendances FullCalendar.
➕ feat(templates/base.twig): Ajoute lien vers le planing de réservation.
➕ feat(src/Controller): Crée controller Reservation pour le planning.
➕ feat(templates): Crée template pour le planning de réservation.
```
✨ feat(Security/Listener): Utilise APP_ENV pour le mode dev.
✨ feat(assets/admin.js): Ajoute le composant PlaningLogestics.
✨ feat(assets/libs): Crée composant PlaningLogestics pour calendrier.
➕ feat(package.json): Ajoute les dépendances FullCalendar.
➕ feat(templates/base.twig): Ajoute lien vers le planing de réservation.
➕ feat(src/Controller): Crée controller Reservation pour le planning.
➕ feat(templates): Crée template pour le planning de réservation.
```
✨ feat(Security/Listener): Utilise APP_ENV pour le mode dev.
✨ feat(assets/admin.js): Ajoute le composant PlaningLogestics.
✨ feat(assets/libs): Crée composant PlaningLogestics pour calendrier.
➕ feat(package.json): Ajoute les dépendances FullCalendar.
➕ feat(templates/base.twig): Ajoute lien vers le planing de réservation.
➕ feat(src/Controller): Crée controller Reservation pour le planning.
➕ feat(templates): Crée template pour le planning de réservation.
```
✨ feat(revervation/formule): Affiche détails et composition des formules
Partie gestion formules terminer
Affiche la composition des formules (pack ou personnalisable), avec
détails produits et options. Ajoute des sections dynamiques.
```
✨ feat(translations): Ajoute et met à jour les traductions françaises.
This commit adds new French translations for the catalog page, base SEO,
navigation, and footer. It also updates existing translations to be
more accurate and consistent.
```
🔥 refactor(translations): Supprime le fichier de traduction français obsolète.
🌐 feat(templates/revervation): Ajoute la prise en charge de l'internationalisation (i18n).
```
✨ 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.
```