🐛 fix(templates): Corrige les numéros de RC Pro et une faute de frappe
Corrige le numéro de RC Pro dans les CGV et corrige une faute de frappe
sur la page d'accueil de réservation.
```
✨ feat(caddy): Ajoute l'exclusion d'indexation pour certains hôtes et améliore les headers.
➕ feat(security): Crée un listener pour rediriger la racine de reservation.ludikevent.fr.
```
✨ feat(Product.php): Ajoute la relation avec ProductReserve.
✨ feat(DevisSubscriber.php): Crée un subscriber pour l'envoi de devis.
✨ feat(Devis.php): Ajoute la relation avec ProductReserve.
✨ feat: Crée le template de mail pour la notification de signature.
✨ feat(DevisSend.php): Crée l'événement DevisSend.
✨ feat(Customer.php): Ajoute la relation avec ProductReserve.
🐛 fix(SignatureController.php): Corrige la gestion de la signature complétée.
✨ feat(DevisController.php): Ajoute la relance de signature et pagination.
✨ feat: Crée le template de mail pour l'envoi du devis à signer.
✨ feat: Crée le template de mail pour la confirmation de signature.
✨ feat(Client.php): Gère la création et le suivi de la signature DocuSeal.
✨ feat(DevisPdfService.php): Intègre les champs Docuseal.
✨ feat(list.twig): Affiche la liste des devis avec actions et statuts.
✨ feat: Crée la page de succès de signature.
✨ feat(StripeExtension.php): Ajoute le filtre totalQuoto pour calculer le total HT.
```
✨ 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(Product.php): Ajoute relation DevisLine et méthodes associées en français.
✨ feat(DevisLine.php): Ajoute propriétés et relations pour ligne de devis en français.
✨ feat(DevisController.php): Intègre génération PDF et ajout de lignes de devis en français.
🎨 style: Améliore la mise en page et l'esthétique de l'interface admin en français.
✨ feat: Initialise TomSelect et gère les adresses client dans DevisManager en français.
🐛 fix: Corrige l'initialisation de TomSelect et la gestion des lignes répétées en français.
✅ test: Ajoute génération du bon pour accord et signature en français.
```
✨ feat(backup): Améliore la sauvegarde et la gestion des fichiers.
Cette commit améliore la commande de sauvegarde pour inclure
les images, gère les erreurs et nettoie les anciens fichiers.
```
✨ 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(Devis): Ajoute l'entité DevisLine et le formulaire de création de devis non terminer
Ajoute l'entité DevisLine, le formulaire NewDevisType et la route pour la création de devis.
```
✨ feat(signature): Ajoute le service client pour l'intégration de signature électronique.
🐛 fix(env): Corrige les URL et la clé API pour l'environnement de signature.
⬆️ chore(deps): Met à jour la dépendance docusealco/docuseal-php.
```
✨ 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(Form/CustomerAddType): Ajoute formulaire pour créer un nouveau client.
✨ feat(Form/CustomerAddAddressType): Crée un formulaire pour gérer les adresses client.
✨ feat(template/customer): Affiche et permet l'édition des infos client et adresses.
♻️ refactor(Form/CustomerType): Simplifie le formulaire client.
🐛 fix(template/customer): Corrige l'affichage de la fiche client.
```
Ce commit ajoute la gestion des images pour les produits, l'indexation des produits pour la recherche et la synchronisation avec Stripe. Ajoute un formulaire de création/édition de produits avec gestion de l'image, l'indexation pour la recherche, et la synchronisation des produits avec Stripe. Gère les uploads d'images.
✨ feat(add.twig): Ajoute le template d'ajout de produit avec formulaire.
♻️ refactor(Stripe/Client): Ajoute la fonction pour désactiver un produit.
🔥 feat(ProductController): Ajoute les actions pour ajouter, éditer, supprimer.
✨ feat(Product): Ajoute un champ productId pour la synchronisation Stripe.
🎨 style(product/products.twig): Affiche l'état de synchronisation Stripe.
```
✨ feat(customer.twig): Affiche le nombre total de contacts et traduit les types.
✨ feat(Stripe/Client.php): Ajoute la suppression et la mise à jour des clients Stripe.
✨ feat(base.twig): Affiche les messages flash avec des styles et des icônes.
✨ feat(customer/show.twig): Crée la page d'édition et de suppression du client.
🐛 fix(CustomerController.php): Corrige les actions d'édition et de suppression.
```
✨ 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(dashboard/profil): Ajoute la page de profil utilisateur
Ajoute la page de profil utilisateur avec formulaire de mot de passe, gestion 2FA, et déconnexion.
✅ feat(AuditLogRepository): Améliore requête logs avec sécurité et filtre
Améliore la requête des logs en appliquant les restrictions de sécurité et le filtrage optionnel par compte.
➕ feat(ProfilsController): Crée le contrôleur des profils utilisateurs
Crée le contrôleur des profils utilisateurs pour gérer la sécurité du compte (2FA et mot de passe).
🎨 feat(dashboard/audit_logs): Améliore l'interface des journaux d'audit
Améliore l'interface des journaux d'audit avec filtre par compte et design plus moderne.
```
📝 style(templates): Crée un template de mail pour notifications de sauvegarde
🐛 fix(.gitignore): Exclut les fichiers de sauvegarde .zip
🎨 style(dashboard): Crée une page pour la gestion des sauvegardes
✨ feat(command): Implémente la commande de sauvegarde avec notification et rétention
🎨 style(dashboard): Améliore l'interface de recherche avec des effets visuels
✨ feat(dashboard): Ajoute une page pour la gestion des sauvegardes
✅ test(controller): Ajoute la logique de téléchargement et suppression des sauvegardes
✨ 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.
```