Commit Graph

332 Commits

Author SHA1 Message Date
Serreau Jovann
fe9960ac45 feat(Customer/Billing): Crée l'événement de génération d'avis de paiement et PDF. 2025-07-29 16:10:15 +02:00
Serreau Jovann
2437458fbc feat(order.twig): Ajoute l'état annulé et l'action d'annulation du devis. 2025-07-29 12:00:31 +02:00
Serreau Jovann
b9e4db3409 feat(RepeatLine.js): Vide les champs lors de l'ajout d'une nouvelle ligne.
 feat(order-edit.twig): Ajoute le template pour modifier un devis.
♻️ refactor(order.twig): Affiche ou non le bouton modifier un devis.
 feat(CustomerController.php): Ajoute la modification d'un devis.
2025-07-29 11:52:57 +02:00
Serreau Jovann
ede7326a1c feat(template/commande): Ajoute champ caché pour conserver l'onglet "commande" actif. 2025-07-29 11:25:53 +02:00
Serreau Jovann
e13c28e19a feat(CustomerController): Ajoute l'envoi et le renvoi de devis client.
 feat(CreateDevisCustomerEventSend): Crée événement pour envoi devis.
♻️ refactor(BillingEventSusbriber): Gère l'envoi du devis au client.
🌐 i18n(translations): Ajoute les états 'send' et 'accepted'.
🎨 style(order.twig): Améliore l'affichage des états des devis.
2025-07-29 11:22:55 +02:00
Serreau Jovann
358688eb5d feat(SignController): Ajoute la gestion des signatures Docuseal et les notifications. 2025-07-29 11:10:25 +02:00
Serreau Jovann
369877742d feat(CustomerDevis): Ajoute la gestion de l'upload des devis clients avec VichUploader. 2025-07-25 15:06:43 +02:00
Serreau Jovann
d77b934f07 feat(BillingEventSusbriber): Génère et stocke le PDF du devis lors de la création. 2025-07-25 15:01:15 +02:00
Serreau Jovann
0e66b3c1e9 feat(vich_uploader): Configure VichUploader pour gérer les devis et paiements de factures/annonces. 2025-07-25 14:58:12 +02:00
Serreau Jovann
b2b53f97c0 feat(vich_uploader): Ajoute la configuration VichUploader pour les devis clients.
 feat(VichUploader): Crée les classes DevisName et AvatarName pour VichUploader.
📝 chore(BillingEventSusbriber): Commente la génération directe du PDF pour le devis.
📝 chore(DevisPdf): Supprime la méthode generate() de la classe DevisPdf.
2025-07-25 14:57:31 +02:00
Serreau Jovann
c5c747bc0a feat(order): Ajoute la génération de devis PDF et un filtre Twig pour le total.
🐛 fix(order-add): Corrige le label du prix en "Prix HT" sur le formulaire.

✏️ chore(customer): Corrige une faute de frappe dans le titre de la page.
2025-07-25 14:53:22 +02:00
Serreau Jovann
59bd6d5fe4 feat(template): Affiche l'état du devis et met le prix à 0 dans le tableau. 2025-07-24 10:16:36 +02:00
Serreau Jovann
38d1fca150 feat(CustomerController): Ajoute création de devis client.
Ajoute la possibilité de créer des devis pour un client donné, avec
gestion des numéros de devis et des lignes de devis.
2025-07-24 10:08:51 +02:00
Serreau Jovann
6476186275 feat(RepeatLine.js): Ajoute la classe RepeatLine pour répéter des lignes de formulaire
Ajoute la classe RepeatLine pour gérer la répétition dynamique de lignes de formulaire avec suppression et tri.
2025-07-24 09:17:20 +02:00
Serreau Jovann
a18b89b790 feat(CustomerController): Ajoute route pour création de commande client
Ajoute une route pour créer des commandes (devis, avis de paiement, facture) pour un client spécifique. Crée template associé.
2025-07-24 08:54:04 +02:00
Serreau Jovann
d4d9d47bd1 feat(customer): Ajoute la navigation et les relations pour les devis, paiements et commandes. 2025-07-23 14:47:09 +02:00
Serreau Jovann
97cbe889be feat(templates): Ajoute onglet facturation client et template associé. 2025-07-23 14:34:06 +02:00
Serreau Jovann
4a35cea456 feat(Ovh/Client): Ajoute un service client OVH pour récupérer les infos d'un NDD.
🐛 fix(CustomerController): Corrige la logique d'enregistrement et mise à jour des NDDs.

 feat(CustomerController): Ajoute la synchronisation des infos de NDD depuis OVH.

 feat(composer): Ajoute la librairie OVH et League OAuth2 client.

✏️ chore(.env): Ajoute les variables d'environnement OVH.

 feat(nnd.twig): Ajoute un bouton de synchronisation OVH pour les NDDs OVH.*
2025-07-23 14:32:12 +02:00
Serreau Jovann
e8a9cd57d1 feat(customer): Ajoute la vue, l'édition et la gestion des noms de domaine des clients. 2025-07-23 13:59:34 +02:00
Serreau Jovann
9616d82ccd feat(CustomerController): Ajoute la suppression et restauration de clients
Ajoute les fonctionnalités de suppression logique et de restauration pour les clients.
2025-07-23 12:33:14 +02:00
Serreau Jovann
db239c1791 feat(Customer): Ajoute la fonctionnalité de recherche de clients. 2025-07-23 12:15:29 +02:00
Serreau Jovann
b341b06656 feat(CustomerController): Ajoute la création de clients avec formulaire et contact principal.
Renomme le controller Inranet en Intranet. Ajoute la gestion de la création de client avec formulaire et contact principal. Ajoute l'appel API auto customer.
2025-07-23 11:50:33 +02:00
Serreau Jovann
1edce18a6b feat(CustomerController): Ajoute la page de création de client et API interne.
Ajoute la route pour la page de création de client et une API pour l'auto-complétion des informations via le Siret.
2025-07-23 10:49:43 +02:00
Serreau Jovann
c50f3fd14a feat(artemis/admin): Ajoute la création de comptes administrateur avec formulaire. 2025-07-23 10:24:31 +02:00
Serreau Jovann
abb955dd87 feat(CustomerController): Crée le contrôleur et la vue pour la gestion des clients.
 feat(VaultClient): Ajoute la clé pour le service client mainframe.
🎨 feat(customer.twig): Ajoute la vue pour la liste des clients.
🎨 feat(base.twig): Ajoute le lien vers la page client dans le menu intranet.
2025-07-23 10:10:02 +02:00
Serreau Jovann
4b3dc566cc 🐛 fix(ansible/playbook): Corrige la typo dans la destination du fichier .env.local 2025-07-23 09:36:27 +02:00
Serreau Jovann
e3eb4235f9 feat(ansible/playbook): Ajoute des variables Vault pour l'authentification. 2025-07-23 09:35:59 +02:00
Serreau Jovann
2625024623 🔥 chore(install-deps.yml): Supprime les jobs d'installation et de test, garde seulement le déploiement. 2025-07-23 09:27:05 +02:00
Serreau Jovann
28196bab39 feat(Mailer): Ajoute la fonction d'envoi multiple d'emails.
🐛 fix(Mailer): Supprime le dd() de débogage.
 feat(templates): Ajoute un template pour les erreurs de logger.
 feat(LoggerService): Ajoute un service de journalisation centralisé.
 feat(services): Ajoute un listener Doctrine pour le LoggerService.
 feat(security): Ajoute une page pour modifier le mot de passe admin.
 feat(Form): Ajoute un formulaire pour modifier le mot de passe admin.
 feat(VaultClient): Ajoute un client Vault pour le chiffrement.
 feat(HomeController): Ajoute une route de déconnexion.
 feat(artemis): Ajoute une page pour gérer les comptes administrateurs.
 feat(security): Ajoute un UserChecker pour vérifier l'état du compte.
 feat(Exception): Ajoute une exception pour les champs immuables du logger.
 feat(AccountLoginRegisterRepository): Ajoute une fonction pour récupérer la dernière connexion.
 feat(artemis): Ajoute une page pour lister les serveurs.
 feat(artemis): Ajoute une option dans le menu pour les administrateurs.
 feat(AccountRepository): Ajoute une fonction pour récupérer les comptes.
 feat(settings): Ajoute une page pour les logs d'un compte admin.
 feat(EventListener): Ajoute un listener pour la double authentification.
 feat(Account): Ajoute un champ pour activer ou désactiver un compte.
 feat(AdminFormType): Ajoute un formulaire pour modifier un compte admin.
 feat(settings): Ajoute une page globale pour modifier un compte admin.
 feat(VaultExtensions): Ajoute des extensions Twig pour Vault.
2025-07-23 09:15:11 +02:00
Serreau Jovann
ee3df99de3 feat(server): Récupère et affiche les statistiques CPU, RAM et HDD du serveur. 2025-07-21 16:02:36 +02:00
Serreau Jovann
1ca4959185 Icon + server 2025-07-21 15:09:18 +02:00
Serreau Jovann
18ef3466b5 feat(artemis/infra): Ajoute la gestion des serveurs Google Compute Engine en français 2025-07-21 13:25:15 +02:00
Serreau Jovann
8f96e1c2fb feat(2fa): Implémente l'authentification à deux facteurs pour Artemis. 2025-07-21 11:16:05 +02:00
Serreau Jovann
98dbe1a9de feat(commande): Initialise la page de commande avec base, affichage et contrôleur. 2025-07-21 10:58:54 +02:00
Serreau Jovann
96b8084970 🚀 ci(deploy): Active le déploiement en production. 2025-07-21 09:50:54 +02:00
Serreau Jovann
3ba57e7003 ✏️ chore(.github): Commente l'étape SonarQube dans le workflow d'installation des dépendances. 2025-07-21 09:50:35 +02:00
Serreau Jovann
0fa8508fba feat(profil): Ajoute la gestion de l'avatar et du mot de passe. 2025-07-21 09:47:40 +02:00
Serreau Jovann
20a5ea8779 feat(Account): Ajoute le nom du fichier avatar à l'entité Account. 2025-07-21 09:03:50 +02:00
Serreau Jovann
b4df1c056a feat(Account): Ajoute le nom du fichier avatar à l'entité Account. 2025-07-21 09:03:21 +02:00
Serreau Jovann
757907821a feat(admin): Ajoute interface d'administration avec Tailwind et Turbo.
🐛 fix(mailer): Corrige l'URL de suivi du mail pour production.

 feat(account): Ajoute la gestion de l'avatar de l'utilisateur.

 feat(account): Ajoute la gestion du premier mot de passe à la connexion.

🗑️ refactor: Supprime les tests unitaires obsolètes.
2025-07-21 09:02:13 +02:00
Serreau Jovann
dd7f4730fb feat: Optimise la configuration SonarQube
Ce commit simplifie la configuration SonarQube en réduisant les sources analysées à seulement le répertoire `src`.  Cela améliore potentiellement la vitesse d'analyse et réduit le bruit dans les résultats, en se concentrant sur le code source principal.  Les répertoires `assets` et `templates` sont exclus de l'analyse source.
2025-07-18 13:47:29 +02:00
Serreau Jovann
40bec33def fix(sécurité): Améliore la gestion de la visibilité des mots de passe
Ce commit corrige un problème d'affichage des mots de passe en ajoutant une icône de visibilité et en encapsulant le champ de mot de passe dans un conteneur. L'initialisation de `widgetViewPassword` a été supprimée car elle n'était pas utilisée. Le positionnement relatif a été ajouté au conteneur pour faciliter le positionnement de l'icône.
2025-07-18 13:46:02 +02:00
Serreau Jovann
664e9d2cd9 feat: Implémente la fonctionnalité de réinitialisation de mot de passe
Ce commit ajoute la fonctionnalité de réinitialisation de mot de passe pour les utilisateurs. Il comprend les éléments suivants :

- Ajout d'un formulaire pour demander la réinitialisation du mot de passe.
- Ajout d'un formulaire pour confirmer la réinitialisation du mot de passe.
- Ajout d'un service pour gérer le processus de réinitialisation du mot de passe.
- Ajout d'un modèle d'e-mail pour envoyer un lien de réinitialisation du mot de passe.
- Mise à jour de la configuration de sécurité pour permettre l'accès aux routes de réinitialisation du mot de passe.
- Ajout d'une icône pour afficher ou masquer les mots de passe

Les changements spécifiques incluent :

- Création des formulaires `RequestPasswordConfirmType` et de son test unitaire `RequestPasswordConfirmTypeTest`.
- Création des templates `forgot-password-confirm.twig` et `mails/artemis/reset.twig`.
- Création des services `ResetPasswordPubscriber` et de l'event `ResetPasswordConfirmEvent`.
- Ajout de la migration pour la table `account_reset_password_request`.
- Modification de la configuration `security.yaml` pour la gestion des rôles.
- Ajout d'un script dans `app.js` pour afficher/masquer le mot de passe.
- Modification du template `login.twig` pour afficher les messages flash.
2025-07-18 13:40:50 +02:00
Serreau Jovann
ca0bce9f94 feat: Ajoute la fonctionnalité de demande d'accès à l'API publique
Ce commit introduit une nouvelle fonctionnalité permettant aux utilisateurs de demander l'accès à l'API publique via un formulaire. Il inclut également l'envoi d'e-mails de notification.

Les changements suivants ont été effectués :

- Ajout du template `templates/api/quote.twig` pour le formulaire de demande d'accès à l'API.
- Ajout des templates `templates/mails/api/quote.twig` et `templates/mails/api/quote-team.twig` pour les e-mails de notification (client et équipe).
- Modification du contrôleur `src/Controller/Api/Public/RootController.php` pour gérer l'affichage du formulaire et le traitement de la soumission, y compris la validation CSRF et l'envoi d'e-mails.
2025-07-18 12:41:05 +02:00
Serreau Jovann
89301a7aa2 feat(api): Affiche un formulaire de citation dans l'API publique
Ce commit introduit un formulaire de citation simple dans l'API publique et améliore la cohérence du type de contenu.

Modifications:

*   Ajout d'une constante `CONTENT_TYPE` dans `RootController` pour définir le type de contenu `text/html`.
*   Mise à jour de la documentation OpenAPI pour utiliser la constante `CONTENT_TYPE`.
*   Implémentation d'une réponse HTML basique dans la méthode `quote` de `RootController`.
*   Exclusion du répertoire `src/Controller` du coverage dans `phpunit.dist.xml` (probablement pour éviter de tester les contrôleurs qui servent uniquement l'API).
2025-07-18 12:21:00 +02:00
Serreau Jovann
04697a1704 feat: Ajoute la documentation API avec NelmioApiDocBundle
Ce commit ajoute la prise en charge de la documentation API en utilisant NelmioApiDocBundle.

Les modifications suivantes ont été apportées :

- Installation de NelmioApiDocBundle via Composer.
- Ajout des configurations nécessaires pour NelmioApiDocBundle.
- Création d'un contrôleur API public de base avec des annotations OpenAPI.
- Mise à jour de la configuration des routes pour inclure la documentation Swagger UI.
- Ajout de styles SCSS personnalisés pour améliorer l'apparence de Swagger UI.
- Mise à jour du fichier sitemap pour inclure les routes de documentation API.
- Configuration de symfony.lock pour la version de nelmio.
2025-07-18 12:02:01 +02:00
Serreau Jovann
6d7a9552f6 feat: Implémente la fonctionnalité de réinitialisation du mot de passe
Ce commit introduit la fonctionnalité de réinitialisation du mot de passe pour les utilisateurs.

Les modifications apportées sont les suivantes :

- Ajout de l'entité `AccountResetPasswordRequest` pour gérer les requêtes de réinitialisation de mot de passe.
- Ajout du repository `AccountResetPasswordRequestRepository` pour interagir avec l'entité `AccountResetPasswordRequest`.
- Ajout du formulaire `RequestPasswordRequestType` pour permettre aux utilisateurs de demander une réinitialisation de mot de passe.
- Ajout de l'événement `ResetPasswordEvent` pour déclencher le processus de réinitialisation du mot de passe.
- Ajout de la route `/forgot-password` dans le `HomeController` pour gérer la demande de réinitialisation.
- Création des templates twig `admin/forgot-password.twig` et `admin/base.twig` et `form_tailwind.twig` pour la gestion de l'affichage du formulaire et de la base de l'interface admin.
- Modification des templates twig `admin/login.twig` pour ajouter un lien vers la page de réinitialisation de mot de passe.
- Mise à jour du fichier `assets/app.scss` pour inclure des styles CSS personnalisés.
- Ajout de tests unitaires pour l'entité, le repository et le formulaire.
- Ajout de la configuration twig pour prendre en charge les formulaires avec tailwind
- Ajout des règles d'exclusions sonar dans `sonar-project.properties`
2025-07-18 11:25:13 +02:00
Serreau Jovann
617eae9f24 fix(sonar): Ajoute une règle d'exclusion SonarQube pour javascript:S1128
Ce commit ajoute une nouvelle règle d'exclusion (e6) dans le fichier `sonar-project.properties` pour ignorer les issues de type `javascript:S1128` dans tous les fichiers JavaScript (`**/*.js`). Ceci permet de réduire le bruit dans les analyses SonarQube en ignorant les problèmes considérés comme non pertinents pour ce projet.
2025-07-18 09:52:56 +02:00
Serreau Jovann
41c3acf2ba feat: Étendre l'analyse SonarQube aux dossiers assets et templates
Ce commit modifie le fichier `sonar-project.properties` afin d'inclure les dossiers `assets` et `templates` dans l'analyse SonarQube. Cela permettra d'améliorer la couverture et la qualité du code en analysant également ces fichiers.
2025-07-18 09:48:02 +02:00
Serreau Jovann
a4cb479222 feat: Réduit les sources Sonar à 'src' uniquement
Ce commit réduit les sources analysées par SonarQube à la racine 'src'.  Les répertoires 'template' et 'assets' sont supprimés de la liste des sources Sonar afin de concentrer l'analyse sur le code source principal.
2025-07-18 09:41:15 +02:00