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.
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`
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.
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.
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.
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.
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.
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).
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`.
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.
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.
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.
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`.
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.
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.
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.