Commit Graph

63 Commits

Author SHA1 Message Date
Serreau Jovann
0be752c145 ```
 feat(revervation): [Ajoute la création de session de réservation et le flow]
🐛 fix(PurgeCommandTest): [Utilise addCommand au lieu de add pour les commandes]
📝 chore(deps): [Mise à jour des dépendances Composer et corrections]
🐛 fix(KeycloakAuthenticator): [Corrige le type nullable de l'exception start]
 feat(Customer): [Ajoute les sessions de commandes aux entités Customer]
♻️ refactor(AppLogger): [Refactorise l'AppLogger pour obtenir l'UserAgent]
 feat(FlowReserve): [Ajoute une action de validation du panier]
```
2026-01-31 13:49:25 +01:00
Serreau Jovann
02b20ecd3e ```
 feat(FlowReserve): Ajoute la propagation d'événements à la fermeture.
🎨 style(reservation/base): Ajuste la valeur z-index de la barre de date.
```
2026-01-30 18:27:30 +01:00
Serreau Jovann
3226b81bfb feat(ReserverController): Gère la durée et le prix total des produits.
⬆️ refactor(FlowReserve.js): Affiche le prix total au lieu du prix par jour.
2026-01-30 18:18:49 +01:00
Serreau Jovann
5cb93029b4 feat(ReserverController): Ajoute l'endpoint JSON pour le panier de réservation.
♻️ refactor(FlowReserve.js): Refactorise l'affichage du panier et gère les dates.
2026-01-30 18:10:01 +01:00
Serreau Jovann
a6fc8fdf3b ```
 feat(reservation): Ajoute le panier et sélection de date globale

Ajoute un composant de panier accessible depuis toutes les pages de réservation et un sélecteur de date global.
```
2026-01-30 15:59:19 +01:00
Serreau Jovann
05a53e9efe ```
 feat(reservation): Ajoute le panier et sélection de date globale

Ajoute un composant de panier accessible depuis toutes les pages de réservation et un sélecteur de date global.
```
2026-01-30 15:32:28 +01:00
Serreau Jovann
6f684e9dda feat(reservation): Affiche les produits 3-15 ans et trie les formules par position.
🎨 style(reserve.js): Change la couleur du texte du filtre actif en noir.
2026-01-30 12:48:11 +01:00
Serreau Jovann
53878e467a ```
 feat(workflow.twig): Ajoute animations AOS pour un effet visuel amélioré.

 feat(app.js): Initialise la librairie AOS pour les animations.

 chore(package.json): Ajoute AOS comme dépendance.

 feat(reserve.js): Initialise AOS pour les animations.

 feat(formules.twig): Ajoute animations AOS pour améliorer l'UX.

 feat(catalogue.twig): Ajoute animations AOS pour une meilleure UX.

 feat(dashboard/base.twig): Améliore la mise en page du dashboard.

 feat(base.twig): Ajoute macros pour les liens de navigation.

 feat(home.twig): Ajoute animations AOS et macros pour la page d'accueil.
```
2026-01-30 12:34:51 +01:00
Serreau Jovann
c5a0e41803 ```
 feat(ReserverController): Ordonne les formules par position
🎨 style(formule/show.twig): Simplifie le texte de tarification
♻️ refactor(FormulesController): Permet de réordonner les formules
🐛 fix(SortableReorder.js): Corrige l'attribut URL de tbody
 feat(formules/view.twig): Ajoute un sélecteur de type de formule
🐛 fix(formules.twig): Correction de l'ordre d'affichage
🐛 fix(revervation.twig): Correction de la description SEO
```
2026-01-30 10:35:02 +01:00
Serreau Jovann
b2928d896b ```
 feat(admin): Enregistre et utilise SortableReorder.js

Ajoute SortableReorder.js pour permettre le tri des lignes de tableau par drag-and-drop. L'implémente dans la page des formules.
```
2026-01-30 10:20:52 +01:00
Serreau Jovann
b6f90721ad ```
 feat(Formules): Ajoute champ 'pos' pour ordonner les formules.
🐛 fix(CrmEditor): Améliore la gestion du copier-coller et retire le toast d'erreur.
```
2026-01-30 09:48:27 +01:00
Serreau Jovann
4873c24bb2 Add security remove paste text in editor
Fix design for mobile formule product
2026-01-30 09:13:01 +01:00
Serreau Jovann
35e24491f4 ```text
 feat(crm): Améliore l'interface et la recherche de produits/options

Ce commit modernise l'interface utilisateur pour la recherche et la sélection de produits et d'options. Il améliore l'apparence
visuelle, l'ergonomie et la réactivité, en utilisant des composants plus modernes et des animations plus fluides. Les
fonctionnalités de recherche ont été optimisées pour une meilleure expérience utilisateur. Ajout de nouvelles classes
'SearchProductDevis' et 'SearchOptionsDevis' pour la gestion des options dans Devis.
```
2026-01-29 18:12:06 +01:00
Serreau Jovann
21ecf299e5 ```
 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.

```
2026-01-29 14:23:58 +01:00
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
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
f54029cc2a ```
♻️  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.
```
2026-01-28 13:41:31 +01:00
Serreau Jovann
cd73b934e9 feat(assets/reserve.js): Ajoute une fonctionnalité d'accessibilité avec synthèse vocale. 2026-01-28 12:42:12 +01:00
Serreau Jovann
b80238eee0 feat(admin.scss): Améliore le style global et ajoute le thème TomSelect.
 feat(admin.js): Regroupe l'enregistrement des custom elements et améliore l'UI.
 feat(app.js): Initialise Sentry et ajoute une gestion des erreurs Turbo.
 feat(reserve.js): Optimise le chargement des images et améliore l'UI.
2026-01-28 12:39:30 +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
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
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
ff9ae0e8d4 ```
 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.
```
2026-01-27 23:36:11 +01:00
Serreau Jovann
1e3ac4e561 feat(assets): Ajoute un loader d'image avec spinner Tailwind et gestion d'erreur. 2026-01-27 20:44:41 +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
a05aabe36e ```
 feat(Contrats): Ajoute la gestion de l'état de la caution (restituée/encaissée).
```
2026-01-23 14:45:32 +01:00
Serreau Jovann
59a1989076 ```
 feat(ReserverController): Crée la logique d'enregistrement client et envoie un email de bienvenue.
```
2026-01-23 09:25:11 +01:00
Serreau Jovann
bcaf67126f feat(assets/reserve.js): Remplace favicon.png par favicon.webp pour améliorer la performance. 2026-01-22 22:58:22 +01:00
Serreau Jovann
c6003897b7 ```
🎨 style(templates): Améliore le contraste des couleurs et la lisibilité

Ce commit ajuste les couleurs du texte et des fonds pour améliorer
le contraste et la lisibilité sur différentes pages du site.
```
2026-01-22 22:53:05 +01:00
Serreau Jovann
19e12285e0 feat(assets/reserve): Initialise Sentry uniquement si l'utilisateur n'est pas un bot.
🔧 chore(config/pwa): Désactive le cache des assets css et js dans Workbox.
2026-01-22 22:29:39 +01:00
Serreau Jovann
ccf1c3c042 ```
 feat(ViteAssetExtension): Améliore la gestion des assets et ajoute la détection de bot.
```
2026-01-22 22:17:32 +01:00
Serreau Jovann
6656d56111 ```
 feat(reservation/contrat): Ajoute la gestion complète des contrats
```
2026-01-22 20:15:21 +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
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
4651e0d7d2 feat(UtmEvent): Ajoute le suivi d'évènement pour l'affichage de la page d'accueil.
 feat(template/base): Ajoute un évènement UTM pour la vue de la page d'accueil.
2026-01-21 13:39:46 +01:00
Serreau Jovann
bdf1e69860 ```
 feat(Product): Ajoute méthode json pour sérialiser les données du produit.

 feat(analytics): Intègre suivi Umami pour catalogue, contact et produits.

 feat(caddy): Ajoute header Cloudflare et script UTM, améliore config PHP.

 feat(nelmio): Autorise tools-security.esy-web.dev dans CSP.

 feat(template): Ajoute suivi Umami sur pages catalogue, contact et produit.
```
2026-01-21 13:37:26 +01:00
Serreau Jovann
d59dc240f9 ```
 feat(ReserverController): Ajoute les routes et vues pour le catalogue.

 feat(templates): Ajoute template catalogue et modifie base et contact.

 feat(assets): Ajoute loader turbo, filtre catalogue et améliore JS.
```
2026-01-20 13:51:23 +01:00
Serreau Jovann
211e61bd0e 🐛 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.
```
2026-01-20 13:26:50 +01:00
Serreau Jovann
010af74dda ```
 feat(revervation): create basetwig for réservation
```
2026-01-19 21:08:04 +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
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
1afc6a20ea feat(sécurité): Implémente le verrouillage de l'intranet avec une page d'erreur personnalisée. 2026-01-19 08:38:10 +01:00
Serreau Jovann
52eecfda03 first commit 2026-01-17 22:29:04 +01:00