✨ 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.
```
✨ feat(Product): Ajoute un champ productId pour la synchronisation Stripe.
🎨 style(product/products.twig): Affiche l'état de synchronisation Stripe.
```
✨ 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.
```
📝 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(crm/admin): Améliore gestion des administrateurs et sécurité
Ajoute formulaires identité et mot de passe, rôles dynamiques.
Gère statuts, journal d'audit, connexions.
Améliore les notifications.
```
✨ feat(caddy): Améliore la sécurité avec CSP et headers standards
✨ feat(templates): Met à jour le logo sur la page d'inscription réussie
✨ feat(knp_paginator): Ajoute la configuration pour le style Tailwind
✨ feat(audit_logs): Crée la page de traçabilité des actions
✨ feat(logs): Ajoute le contrôleur pour gérer les logs d'audit
✨ feat(AppLogger): Enregistre l'user agent dans les logs d'audit
✨ feat(AccountController): Supprime l'appel inutile de l'EventAdminCreate
✨ feat(AuditLogRepository): Récupère les logs en excluant les ROOT
✨ feat(base): Ajoute la structure de base pour le dashboard
```
✨ feat(admin): Ajoute gestion des administrateurs avec création et suppression.
Ajoute la gestion complète des administrateurs : création, suppression,
logs d'audit, notifications mail (création/suppression) et désinscription.
```
✨ feat(Security): Active l'authentification à deux facteurs (2FA).
✨ feat(Account): Ajoute une entité et un formulaire pour les administrateurs.
🐛 fix(Security): Corrige la redirection après la connexion.
✨ feat(CRM): Ajoute une page d'administration des comptes administrateurs.
✨ feat(security): Ajoute l'authentification Keycloak SSO et migre les commandes
Supprime la commande AccountCommand, la migration et ajoute l'authentification
Keycloak SSO. Crée les vues de base pour le tableau de bord.
```
[+] chore(root): Initialise le projet avec une structure de base
Crée la structure de base du projet Symfony, incluant les entités,
services, formulaires, et templates nécessaires pour la gestion des
comptes utilisateurs, la sécurité, et la gestion des mots de passe
oubliés. Ajoute également la configuration pour la gestion des assets
avec Vite, la gestion des fichiers avec Flysystem, et la
génération de sitemaps.
```