✨ 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(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.
```
✨ feat(ReserverController): Affiche les formules publiées et leur détail.
✨ feat(formule/show.twig): Crée template pour afficher détails d'une formule.
🎨 style(formules.twig): Améliore l'affichage des formules disponibles.
```
✨ feat(FormulesController): Gère l'ajout et la mise à jour des produits inclus.
Ajoute la logique pour ajouter et mettre à jour les produits inclus dans une formule, avec persistance en base de données. Affiche également les produits inclus existants.
✨ feat(admin.js): Enregistre le composant SearchProductFormule.
Enregistre le composant SearchProductFormule pour permettre son utilisation dans les templates.
✨ feat(config-pack.twig): Affiche et permet la gestion des produits inclus.
Affiche une liste des produits inclus dans une formule et permet leur ajout, modification et suppression via un formulaire.
✨ feat(SearchProductFormule.js): Crée un composant de recherche de produits.
Crée un composant web personnalisé pour rechercher et sélectionner des produits à ajouter à une formule.
```
✨ feat(admin.js): Ajoute CrmEditor pour l'édition WYSIWYG et l'initialise.
🎨 style(templates): Intègre CrmEditor pour la description des produits et formules.
```
✨ feat(Formules.php): Ajoute les propriétés de prix et la fonction slug.
✨ feat(ReserverController.php): Affiche les formules sur la page d'accueil.
♻️ refactor(Dashboard/FormulesController.php): Gère le statut et les prix.
✨ feat(templates/dashboard): Affiche les tarifs des formules.
```
✨ feat(Formules.php): Ajoute les champs description et isPublish à l'entité Formules.
✨ feat(add.twig): Ajoute le champ description au formulaire d'ajout de formules.
✨ feat(FormulesType.php): Ajoute le champ description au formulaire FormulesType.
✨ feat(Dashboard/FormulesController.php): Gère l'ajout, la suppression et la vue des formules.
✨ feat(view.twig): Crée la vue pour modifier les détails d'une formule.
✨ feat(formules.twig): Affiche la liste des formules avec actions et statut.
```
✨ feat(SitePerformanceRepository): Ajoute fonction moyenne stats et logique random.
🐛 fix(ReserverController): Corrige la date de création en DateTimeImmutable.
✨ feat(HomeController): Affiche les moyennes des Core Web Vitals.
🎨 style(home.twig): Améliore l'esthétique du tableau de bord et ajoute CWV.
⚡️ perf(reserve.js): Ajoute l'envoi des métriques LCP, INP et CLS.
```
✨ feat(FormulesController): Ajoute la page et formulaire de création de formules
Ajoute la route, le controller et le formulaire pour créer des formules
(packs ou formules libres). Inclut la gestion de l'upload d'image.
```
//todo add seleted produit inclus and option pack if packmode selected, if free selected add line ("X structure") avec liste des produit allow in line
✨ 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(SitePerformance): Ajoute la collecte des métriques web vitales.
🐛 fix(caddy): Corrige la redirection du script Trustpilot.
📦 chore: Ajoute web-vitals comme dépendance et adapte package.json.
```
✨ feat(ansible): Ajoute la mise à jour du journal client et permissions fichier
✨ feat(HomeController): Récupère et affiche le journal de bord client.
📦️ chore: Ajoute gemini-api-php/client et corrige des dépendances.
🐛 fix(docker): Supprime la configuration Xdebug obsolète.
```
✨ feat(UtmEvent): Ajoute le tracking Umami des utilisateurs connectés.
Ajoute l'identification des utilisateurs Umami et enregistre la session.
Implémente une bannière de consentement pour les cookies et gère l'état.
```
✨ feat(devis): Améliore la sélection des produits et options avec modales de recherche
Supprime la relation Product->DevisLine, ajoute des composants de recherche modale pour produits/options dans les devis.
```
✨ feat(contrat): Affiche les détails du contrat et gère les paiements.
📝 chore(contrat/view): Traduit "ID Yousign" en "Numéro de signature".
🎨 style(reservation/search): Supprime une condition d'affichage des produits.
♻️ refactor(ContratController): Modifie les routes de paiement du contrat.
🐛 fix(Signature/Client): Corrige les valeurs par défaut des champs signature.
🎨 style(revervation/produit): Améliore l'affichage de l'image du produit.
```
✨ 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(reservation/devis): Ajoute affichage des devis client et filtres Twig
Ajoute la vue des devis pour le client avec états et actions dynamiques.
Ajoute aussi un filtre Twig pour l'URL de signature du devis.
```
✨ 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.
```