Commit Graph

66 Commits

Author SHA1 Message Date
Serreau Jovann
9a4d7b6ae1 ```
 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.
```
2026-01-29 10:06:39 +01:00
Serreau Jovann
61fe970aa6 ```
 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.
```
2026-01-29 09:31:02 +01:00
Serreau Jovann
bdc9823a53 ```
 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.
```
2026-01-29 09:03:38 +01:00
Serreau Jovann
034210d91d ```
 feat(Formules.php): Ajoute relation OneToOne avec FormulesRestriction.
 feat(Dashboard/FormulesController.php): Gère restrictions formules et formulaire.
🎨 refactor(template/formules): Améliore interface configuration restriction formule.
🐛 fix(assets/RepeatLine.js): Corrige réinitialisation TomSelect et selects "Type".
 feat(assets/initTomSelect.js): Gère cache options et init TomSelect.
```
2026-01-28 16:00:35 +01:00
Serreau Jovann
6362f389b4 ```
 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.
```
2026-01-28 14:11:57 +01:00
Serreau Jovann
b375b90d58 feat(Formules): Ajoute options incluses, améliore affichage et PWA
Ajoute la gestion des options incluses dans les formules,
améliore l'affichage des packs et corrige le start_url de la PWA.
2026-01-28 12:31:05 +01:00
Serreau Jovann
0e6cb9a700 feat(PWA): Configure le PWA pour une meilleure expérience hors ligne et ajoute des raccourcis.
🐛 fix(config-pack.twig): Ajoute l'attribut 'readonly' au champ produit pour empêcher la modification.
2026-01-28 12:19:49 +01:00
Serreau Jovann
61d3c8d3dd ```
 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.
```
2026-01-28 10:54:05 +01:00
Serreau Jovann
08334b0298 ```
 feat(admin.js): Ajoute CrmEditor pour l'édition WYSIWYG et l'initialise.
🎨 style(templates): Intègre CrmEditor pour la description des produits et formules.
```
2026-01-28 10:30:47 +01:00
Serreau Jovann
aa75f290d0 ```
 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.
```
2026-01-28 10:00:58 +01:00
Serreau Jovann
0e03ca1fcd feat(formules): Ajoute des templates de configuration spécifiques aux types de formules. 2026-01-28 09:43:30 +01:00
Serreau Jovann
c3f585bf2b ```
 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.
```
2026-01-28 09:38:27 +01:00
Serreau Jovann
fb608b79fe ```
 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.
```
2026-01-28 09:20:51 +01:00
Serreau Jovann
f200de5432 ```
 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
2026-01-28 09:08:53 +01:00
Serreau Jovann
349b5fc2cc ```
 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.
```
2026-01-28 08:56:54 +01:00
Serreau Jovann
63ee6b71c6 ```
 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.
```
2026-01-27 23:10:54 +01:00
Serreau Jovann
454b748973 ```
 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.
```
2026-01-27 20:24:02 +01:00
Serreau Jovann
52e92b4230 ```
 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.
```
2026-01-27 19:35:54 +01:00
Serreau Jovann
c7b4efcf1a feat(produit): Améliore l'affichage des prix et ajoute des options de prix supplémentaires. 2026-01-27 10:01:13 +01:00
Serreau Jovann
401b20ea6f ```
 feat(dashboard): Ajoute l'intégration d'Umami pour les statistiques du site. and fix erro return line
```
2026-01-27 09:50:26 +01:00
Serreau Jovann
216ef477ac ```
 feat(Product): Ajoute les dimensions largeur, hauteur et profondeur au produit.
```
2026-01-27 09:08:14 +01:00
Serreau Jovann
a067785bd7 feat(products.twig): Supprime colonne "Install." et son affichage dans la liste des produits. 2026-01-27 08:46:43 +01:00
Serreau Jovann
d0de3b479c ```
 feat(Product): Supprime le champ 'installation' et ajuste les tarifs.
```
2026-01-27 08:46:12 +01:00
Serreau Jovann
acbdd66510 ```
 feat(dashboard): Affiche les statistiques principales sur le tableau de bord.
```
2026-01-26 17:26:55 +01:00
Serreau Jovann
42d588765d ```
 feat(Contrats): Ajoute la gestion de l'état de la caution (restituée/encaissée).
```
2026-01-23 13:10:42 +01:00
Serreau Jovann
418bb13785 ```
 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.
```
2026-01-23 11:57:51 +01:00
Serreau Jovann
881dd88d71 ```
 feat(all): Ajoute l'attribut `data-turbo="false"` sur les liens.
🐛 fix(security): Corrige le chemin d'accès de l'espace client.
```
2026-01-23 10:48:49 +01:00
Serreau Jovann
160240fe85 ```
 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.
```
2026-01-23 10:17:53 +01:00
Serreau Jovann
91aacf90a7 feat(search): Indexe les options et contrats, ajuste la durée du devis. 2026-01-23 08:06:58 +01:00
Serreau Jovann
afa6133907 ```
 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.
```
2026-01-22 15:58:57 +01:00
Serreau Jovann
4f253bc03f ```
 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
```
2026-01-22 11:05:29 +01:00
Serreau Jovann
7dc2978094 ```
 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.
```
2026-01-22 10:36:26 +01:00
Serreau Jovann
5ab4b06d7d ```
 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.
```
2026-01-22 09:19:04 +01:00
Serreau Jovann
a4ee1c3379 ```
 feat(dashboard/contrats): Ajoute le formulaire de création de contrat

Ajoute le formulaire de création de contrat avec gestion des adresses, des détails techniques et des prestations.
```
2026-01-21 17:02:37 +01:00
Serreau Jovann
f9280db146 feat(Devis): Ajoute relation one-to-one avec Contrats et met à jour l'entité.
 feat(contrats): Ajoute le formulaire de création de contrats.
📝 feat(Contrats): Crée le type de formulaire ContratsType.
 feat(Customer): Ajoute la relation one-to-many avec Contrats.
 feat(contrats): Ajoute la vue de création de contrats.
2026-01-21 15:41:26 +01:00
Serreau Jovann
b4e4712b6d feat(devis/contrats): Ajoute lien pour créer contrat depuis devis et page de création. 2026-01-21 14:44:31 +01:00
Serreau Jovann
2afd6e6be8 ```
 feat(Product): Ajoute description et quantité aux produits, et formulaire associé.
```
2026-01-21 14:38:16 +01:00
Serreau Jovann
cd45a37d73 ```
 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.
```
2026-01-19 19:40:27 +01:00
Serreau Jovann
0afc9e3396 feat(ansible): Ajoute le dossier PDF aux droits d'écriture et modifie l'URL API
 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
2026-01-19 18:22:53 +01:00
Serreau Jovann
5d6c0fdde7 ```
 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.
```
2026-01-19 17:56:57 +01:00
Serreau Jovann
44d619d659 ```
 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.
```
2026-01-19 14:14:12 +01:00
Serreau Jovann
4c14932fee ```
 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.
```
2026-01-19 13:52:41 +01:00
Serreau Jovann
52eecfda03 first commit 2026-01-17 22:29:04 +01:00
Serreau Jovann
84180d9561 ```
 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.
```
2026-01-16 16:00:00 +01:00
Serreau Jovann
5bab18f966 ```
 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.
```
2026-01-16 15:04:50 +01:00
Serreau Jovann
bd99d1af43 ```
 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.
```
2026-01-16 14:52:30 +01:00
Serreau Jovann
7e7a10f5b6 feat(crm): Ajoute les contrôleurs et les vues pour les devis, contrats et factures. 2026-01-16 14:32:20 +01:00
Serreau Jovann
6e60c9d4b3 feat(product): Ajoute gestion des images, indexation et synchro Stripe produits
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.
2026-01-16 14:23:53 +01:00
Serreau Jovann
7ea3098125 feat(ProductType): Ajoute le formulaire de création et édition des produits.
 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.
2026-01-16 14:10:26 +01:00
Serreau Jovann
1304260c1b feat(Product): Ajoute la gestion des images des produits avec VichUploader. 2026-01-16 13:52:22 +01:00