Ajoute les pages Conditions Générales d'Utilisation (CGU) et Conditions Générales de Vente (CGV).
Réorganise les templates légaux dans un sous-dossier `legal/`.
Met à jour les liens et les routes pour refléter la nouvelle structure.
✨ feat(Customer): Ajoute relation avec FaultPayment pour suivi des impayés.
🐛 fix(CheckAvisPaymentStateCommand): Crée FaultPayment et relance si nécessaire.
🎨 style(customer.twig): Affiche si le client a des factures impayées.
`
🔥 feat(RevendeurService): Supprime l'enregistrement DNS Cloudflare lors de la suppression du revendeur.
✨ feat(revendeur.twig): Ajoute un lien pour lancer le déploiement et un lien pour supprimer un revendeur.
✨ feat(revendeur_view.twig): Crée le template pour la vue de modification d'un revendeur.
✏️ chore(.env): Ajoute la clé API Gitea.
✨ feat(RevendeurController): Gère la suppression des revendeurs et l'ajout d'un lancement de déploiement.
🌐 i18n(messages.fr.yaml): Ajoute la traduction pour l'hébergement de site.
✨ feat(templates/price.twig): Ajoute les prix pour les offres d'hébergement.
✨ feat(AutoCreatedAvisPaymentCommand): Génère les avis de paiement pour l'hébergement.
♻️ refactor(PriceController): Gère la sauvegarde des prix d'hébergement.
📧 feat(avis-payment-wait.twig): Améliore le formatage du mail d'avis de paiement.
✨ feat(EsyWeb): Ajoute gestion des licences et clés DMA pour sites web
Ajoute la gestion des licences pour les sites web EsyWeb, incluant
la génération, le renouvellement et la validation. Intègre aussi
la création et l'utilisation de clés DMA.
```
✨ feat(Website): Ajoute une relation Website-Serveur.
✨ feat(form/website): Ajoute le choix du serveur au formulaire de création de site.
✨ feat(infra/website): Crée un endpoint API pour le déploiement des sites.
✨ feat(twig): Ajoute des filtres twig pour slugify et récupérer la clé API principale.
✨ feat(compute): Ajoute une relation OneToMany vers Website.
♻️ refactor(ApiSubscriber): Gère les préfixes d'API privés séparément.
```
📝 chore(WalletController): Crée le controller pour gérer les wallets.
🐛 fix(WalletController): Corrige la description de l'historique du wallet.
✨ feat(Stancer/Client): Ajoute la récupération du status du paiement.
✨ feat(Website): Crée une clé API et DNS principal lors de la création.
🔒 fix(ApiSubscriber): Valide le header EsyWebDns pour l'accès API.
✨ feat(ServerCard): Met à jour l'affichage des métriques serveur.
✨ feat(StatusController): Ajoute un endpoint pour vérifier l'état du site.
🐛 fix(CustomerController): Corrige une faute de frappe dans un flash message.
✨ feat(customer): Ajoute l'entité CustomerWallet et la vue porte-monnaie.
♻️ refactor(template): Renomme external.twig en wallet.twig.
✨ feat(website): Ajoute une option pour afficher les options du site.
🐛 fix(serverCard): Affiche correctement le statut en temps réel via MQTT.
🌐 i18n: Corrige une faute de frappe dans la traduction de "Newsletter".
```
✨ feat(dashboard): Ajoute affichage des serveurs Google Compute et OVH.
Ajoute le script mqtt et la class ServerCard pour afficher le status serveur.
```