✨ 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(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(contrats/add.twig): Ajoute le détail des options au formulaire
✨ feat(SearchProduct.js): Implémente la recherche et la sélection d'options
🐛 fix(DevisController.php): Corrige la création/édition de devis et supprime un devis
✨ feat(admin.js): Enregistre les custom elements SearchOptions
✨ feat(templates/dashboard/devis): Permet l'édition et la suppression d'un devis
```
✨ feat(Devis): Ajoute options, dates début/fin et améliore affichage PDF
Ajoute les champs date de début et fin au devis. Permet l'ajout d'options au devis. Améliore l'affichage du PDF.
```
✨ 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(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(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.
```