637 Commits

Author SHA1 Message Date
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
Serreau Jovann
b9761f1e67 feat(ci): Ajoute PHP 8.3 et .env.test au workflow 2025-07-17 08:59:25 +02:00
Serreau Jovann
3925fa1b5d feat(ci): Lancer les services Docker pour les tests 2025-07-17 08:56:50 +02:00
Serreau Jovann
fc3fd43c4f feat: .github/workflows: Ajoute job test avec dépendances 2025-07-17 08:52:50 +02:00
Serreau Jovann
1734a016ea feat(deps): Ajouter l'installation des dépendances Bun 2025-07-17 08:49:41 +02:00
Serreau Jovann
528908d895 chore: Configuration pour l'environnement prod 2025-07-17 08:41:27 +02:00
Serreau Jovann
ff8b054d08 chore(deps): Ajoute setup-php pour PHP 8.3 2025-07-17 08:38:03 +02:00
Serreau Jovann
d98f50d3ad feat: Ajoute workflow CI pour installer les dépendances 2025-07-17 08:37:13 +02:00
Serreau Jovann
f95d302fb9 chore(gitlab-ci): Affiche .env pour débogage tests 2025-07-16 16:59:02 +02:00
Serreau Jovann
11447f3f54 feat(ci): Améliore configuration CI/CD
Ajoute variables d'environnement et crée base de données pour tests.
Ajuste .gitignore pour fichiers d'environnement.
2025-07-16 16:55:59 +02:00
Serreau Jovann
1880151543 disable old route 2025-07-16 16:51:01 +02:00
Serreau Jovann
77285b7e56 fix: .env.test, .gitlab-ci.yml: Corrige URL BDD test 2025-07-16 16:48:32 +02:00
Serreau Jovann
ddfc59d19f fix: .gitlab-ci.yml: Corrige DATABASE_URL pour tests 2025-07-16 16:45:09 +02:00
Serreau Jovann
de674bad2c feat(gitlab-ci): Configure l'environnement de test
Ajout de variables d'environnement et exécution des tests en environnement de test.
2025-07-16 16:43:28 +02:00
Serreau Jovann
020de4b4c0 feat: Ajoute tests entité et repository Account
Ajoute tests unitaires pour Account et AccountRepository,
et modifie la configuration de test et gitlab CI.
2025-07-16 16:32:27 +02:00