Commit Graph

101 Commits

Author SHA1 Message Date
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
Serreau Jovann
422cac4a54 feat(sonar): Inclure les dossiers template et assets dans l'analyse SonarQube
Ce commit modifie le fichier `sonar-project.properties` pour inclure les dossiers `template` et `assets` dans l'analyse de SonarQube.  Cela permettra de détecter les problèmes de code dans ces dossiers et d'améliorer la qualité globale du projet.
2025-07-18 09:34:14 +02:00
Serreau Jovann
9d0fb07573 feat(sonar): Ajoute des règles d'exclusion SonarLint
Ce commit ajoute de nouvelles règles d'exclusion à la configuration SonarLint (sonar-project.properties) pour ignorer les issues suivantes:

- php:S1142
- php:S6353
- php:S5869

Ces règles sont ajoutées afin de réduire le bruit dans les résultats d'analyse SonarLint et de se concentrer sur les problèmes les plus pertinents.
2025-07-18 09:31:55 +02:00
Serreau Jovann
742cded84a feat: Ajoute la fonctionnalité de création d'administrateur et envoi de mot de passe temporaire
Ce commit introduit une nouvelle fonctionnalité permettant de créer un compte administrateur via une commande console et d'envoyer un mot de passe temporaire par email.

Les changements incluent:

- Ajout d'une commande `AccountCommand` pour créer un compte administrateur.
- Création d'un service `TempPasswordGenerator` pour générer des mots de passe temporaires aléatoires.
- Ajout d'un événement `CreatedAdminEvent` pour déclencher l'envoi d'email après la création d'un administrateur.
- Modification du subscriber `MailerSubscriber` pour utiliser le nouveau template email et inclure le mot de passe temporaire.
- Création d'un nouveau template email `mails/artemis/new_admin.twig` pour l'envoi du mot de passe temporaire.
- Ajout de tests unitaires pour l'entité `Mail` et le repository `MailRepository`.
- Suppression de code commenté inutile dans `MailRepository`.
- Correction d'un bug dans `Mailer.php` pour passer les données au template twig.
- Mise à jour de la configuration `messenger.yaml` (suppression d'une ligne inutile).
2025-07-18 09:26:33 +02:00
Serreau Jovann
c2767f2bd6 feat: Ajoute le suivi des emails et améliore la gestion des envois
Ce commit introduit un système de suivi des emails pour surveiller l'ouverture des emails et améliorer la gestion des envois.

Les changements incluent :

- Ajout de l'entité `Mail` pour stocker les informations de suivi des emails (destinataire, sujet, statut, etc.).
- Création du repository `MailRepository` pour la gestion des données de l'entité `Mail`.
- Implémentation d'un contrôleur `TrackingController` pour gérer les requêtes de suivi via un pixel de suivi.
- Modification du service `Mailer` pour générer un identifiant unique pour chaque email, enregistrer les informations de l'email et gérer le statut d'envoi.
- Ajout d'une commande `TestMailerCommand` pour faciliter les tests de l'envoi d'emails.
- Modification de la configuration de Messenger.
- Ajout d'une image de tracking dans le template de mail `base.twig`.
- Mise à jour de la configuration du mailer dans le fichier `.env`.
2025-07-18 08:52:43 +02:00
Serreau Jovann
28a3b89049 feat(HomeController): Supprime l'envoi de mail de test lors de la connexion
Ce commit supprime l'envoi de mail de test dans la méthode `index` du `HomeController`. Cette fonctionnalité n'est plus nécessaire et supprimée afin de simplifier le code.
2025-07-17 15:20:16 +02:00
Serreau Jovann
2534b83e27 Merge branch 'master' of ssh://code.esy-web.dev:2222/SARL-SITECONSEIL/mainframe 2025-07-17 14:30:00 +02:00
Serreau Jovann
5ff0562b15 feat(artemis): Ajoute une réponse basique à la route du dashboard Artemis
Ce commit ajoute une réponse simple "a" à la route `/artemis` du DashboardController. Cela permet de s'assurer que la route fonctionne correctement et renvoie une réponse.
2025-07-17 14:28:24 +02:00
Serreau Jovann
7f16401536 feat(artemis): Ajoute une réponse basique à la route du dashboard Artemis
Ce commit ajoute une réponse simple "a" à la route `/artemis` du DashboardController. Cela permet de s'assurer que la route fonctionne correctement et renvoie une réponse.
2025-07-17 13:41:24 +02:00
Serreau Jovann
ba0978d492 fix: Corrige l'envoi d'emails et améliore la configuration SonarQube
Ce commit corrige des problèmes liés à l'envoi d'emails et apporte des améliorations à la configuration SonarQube.

Modifications:

- Corrige la configuration du transport d'email pour les environnements de développement et de production dans `src/Service/Mailer/Mailer.php`.
- Ajoute un `dd()` pour le debug dans `src/Service/Mailer/MailerSubscriber.php`.
- Ajoute la gestion du cas où l'utilisateur n'existe pas dans `src/Command/AccountCommand.php`.
- Ajoute l'exclusion de la règle S1808 de SonarQube dans `sonar-project.properties`.
- Ajuste des espaces et des conditions `if` dans `src/Controller/HomeController.php` et `src/Service/Mailer/Mailer.php`.
- Supprime des commentaires inutiles dans `src/Repository/AccountRepository.php`.
2025-07-17 13:08:59 +02:00
Serreau Jovann
aa0cdc0bfe fix: Corrige l'indentation dans AccountCommand et ajoute une règle d'exclusion SonarQube
Cette commit corrige un problème d'indentation dans la classe `AccountCommand` pour améliorer la lisibilité du code. De plus, elle ajoute une règle d'exclusion dans le fichier `sonar-project.properties` pour ignorer la règle `php:S103` sur tous les fichiers PHP, permettant ainsi d'éviter des faux positifs potentiels.
2025-07-17 13:04:49 +02:00
Serreau Jovann
2b03f715e3 feat: Initialise l'infrastructure de base et ajoute la gestion des comptes administrateurs
Ce commit initialise la structure de base du projet, ajoute une nouvelle fonctionnalité de gestion des comptes administrateurs, et configure l'environnement de développement.

Les modifications comprennent :

- Ajout d'une commande `mainframe:admin` pour créer des comptes administrateurs via la console.
- Implémentation d'un service de Mailer avec un subscriber pour envoyer des emails lors de la création d'un compte administrateur.
- Création d'un contrôleur `Artemis/DashboardController` pour la partie administration (artemis).
- Mise à jour du `HomeController` pour rediriger les utilisateurs connectés vers le dashboard.
- Ajout de dépendances Symfony (UID) et configuration du Dockerfile (ajout de l'extension exif)
- Suppression du test `HomeControllerTest.php`
- Configuration de SonarQube et de PHPUnit pour exclure certains dossiers du code coverage.
2025-07-17 12:05:39 +02:00
Serreau Jovann
d7f1fa0479 feat(ansible): Améliore déploiement et permissions
Corrige gestion des permissions, ajout d'ACL, optimise cache.
2025-07-17 11:36:14 +02:00
Serreau Jovann
624dcbba25 feat(ansible): Crée répertoire media avec variables. 2025-07-17 11:32:18 +02:00
Serreau Jovann
6c7b6be4ff feat(ansible): Crée et configure le dossier media 2025-07-17 11:29:45 +02:00
Serreau Jovann
3019b5f163 feat(install-deps): Ajoute déploiement en production 2025-07-17 11:13:05 +02:00
Serreau Jovann
3b4d1e6b5e feat(deps): Supprime revue dépendances obsolète 2025-07-17 11:07:03 +02:00
Serreau Jovann
c8bfa4b2bf feat(workflows): Ajoute tests et revue dépendances 2025-07-17 10:58:07 +02:00
Serreau Jovann
f2e54190c9 chore: Mettre à jour les dépendances Composer
feat: Supprimer redis-messenger

fix(workflows): Corriger la configuration des dépendances
2025-07-17 10:54:18 +02:00
Serreau Jovann
fe8ea5b8c8 feat: Ajouter support Redis Messenger
fix: Corriger port Redis dans workflow CI
2025-07-17 10:49:38 +02:00
Serreau Jovann
676234c5cd feat(install-deps): Utilise services Docker pour les tests
Le fichier install-deps.yml a été modifié pour utiliser des services Docker (Postgres, Redis) directement définis dans le workflow au lieu d'exécuter des commandes docker à l'intérieur. Cela simplifie la configuration et rend les tests plus propres. Les variables d'environnement ont été ajustées en conséquence.
2025-07-17 10:43:29 +02:00
Serreau Jovann
5a12cce8b4 chore(deps): Supprime service docker inutile 2025-07-17 10:34:58 +02:00
Serreau Jovann
f1f79a2e8f feat(deps): Ajoute service docker pour tests 2025-07-17 10:28:26 +02:00
Serreau Jovann
d698107e77 chore(deps): Mise à jour workflow installation dépendances 2025-07-17 10:25:02 +02:00
Serreau Jovann
42ab1759c7 fix(install-deps): Supprime volumes docker inutiles 2025-07-17 10:14:15 +02:00
Serreau Jovann
2e80ea0fa8 fix(workflows): Corrige les URLs pour les services externes 2025-07-17 10:07:45 +02:00
Serreau Jovann
e881a552ca feat(ci): Ajoute contrôle de disponibilité PostgreSQL
Ajoute un contrôle de disponibilité pour PostgreSQL dans le workflow CI.
2025-07-17 10:02:24 +02:00
Serreau Jovann
c909de180c (install-deps): Corrige les ports des services Docker
fix(install-deps): Corrige les ports des services CI
2025-07-17 09:53:46 +02:00
Serreau Jovann
3a546eca43 fix(.github): Corrige les ports des services CI 2025-07-17 09:49:09 +02:00
Serreau Jovann
8b7181350c fix(install-deps): Corrige l'URL de la base de données CI 2025-07-17 09:43:36 +02:00
Serreau Jovann
caeea77751 feat(ci): Ajoute des étapes de test CI
Corps:
Ajoute la création de la base de données de test, les migrations et les vérifications de sécurité PHP.
2025-07-17 09:38:27 +02:00
Serreau Jovann
8bacb22c63 feat: Dockerfile
Ajout Dockerfile et mise à jour image actions.
2025-07-17 09:32:54 +02:00