feat/login #10

Open
maurine wants to merge 6 commits from feat/login into main
Collaborator

pour relecture :)

pour relecture :)
maurine added 2 commits 2026-03-18 17:35:31 +01:00
maurine requested review from melvin-leveque 2026-03-18 17:35:31 +01:00
maurine added 1 commit 2026-03-19 11:54:32 +01:00
maurine added 1 commit 2026-03-19 12:10:12 +01:00
maurine added 1 commit 2026-03-19 12:20:27 +01:00
maurine added 1 commit 2026-03-19 12:29:08 +01:00
maurine added 1 commit 2026-03-19 12:40:24 +01:00
maurine added 1 commit 2026-03-19 12:40:31 +01:00
maurine added 1 commit 2026-03-23 18:43:48 +01:00
maurine closed this pull request 2026-03-23 18:44:33 +01:00
maurine reopened this pull request 2026-03-23 18:44:46 +01:00
maurine added 1 commit 2026-03-27 00:57:01 +01:00
melvin-leveque requested changes 2026-03-27 14:33:27 +01:00
.env Outdated
@@ -10,1 +9,4 @@
KAZ_API_PASSWORD=
###> symfony/framework-bundle ###
APP_ENV=dev

Les variables APP_SECRET, APP_ENV... sont en plusieurs exemplaires dans le fichier .env

Les variables APP_SECRET, APP_ENV... sont en plusieurs exemplaires dans le fichier .env
Author
Collaborator

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S
melvin-leveque marked this conversation as resolved
.env.test Outdated
@@ -0,0 +1,3 @@
# define your env variables for the test env here
KERNEL_CLASS='App\Kernel'

Pourquoi avoir fait un fichier ".env.test" ? il semble indiquer qu'il y a des tests unitaires mais il n'y en a pas dans les sources

Pourquoi avoir fait un fichier ".env.test" ? il semble indiquer qu'il y a des tests unitaires mais il n'y en a pas dans les sources
Author
Collaborator

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S
melvin-leveque marked this conversation as resolved
.gitignore Outdated
@@ -36,0 +50,4 @@
###< symfony/framework-bundle ###
###> phpunit/phpunit ###
/phpunit.xml

encore des lignes en double par exemple phpunit.xml ;)

encore des lignes en double par exemple phpunit.xml ;)
Author
Collaborator

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S

je ne sais pas pourquoi des données se sont ajoutées, je n'ai rien touché :S
melvin-leveque marked this conversation as resolved
@@ -0,0 +1,18 @@

Pourquoi avoir ajouté un fichier compose.override.yaml ? il apporte quoi de plus que le fichier compose.yaml ?

Pourquoi avoir ajouté un fichier compose.override.yaml ? il apporte quoi de plus que le fichier compose.yaml ?
melvin-leveque marked this conversation as resolved
compose.yaml Outdated
@@ -27,2 +27,4 @@
MP_SMTP_AUTH_ALLOW_INSECURE: 1
###> doctrine/doctrine-bundle ###
database:

Section database en double, créer un problème lors du lancement des dockers en local :)

Section database en double, créer un problème lors du lancement des dockers en local :)
melvin-leveque marked this conversation as resolved
@@ -1,6 +1,12 @@
security:
# Hierarchie des rôles #
role_hierarchy:
ROLE_ORGANISATION: ROLE_USER

2x le rôle user ?

2x le rôle user ?
Author
Collaborator

une erreur d’inattention ^^"

une erreur d’inattention ^^"
Author
Collaborator

normalement, ça aurait du être : ROLE_ADMIN: ROLE_ADMIN

normalement, ça aurait du être : ROLE_ADMIN: ROLE_ADMIN
melvin-leveque marked this conversation as resolved
@@ -13,2 +15,2 @@
#[Route(path: '/login', name: 'app_login', methods: ['GET','POST'])]
public function login(AuthenticationUtils $authenticationUtils): Response
#[Route(path: '/test-password', name: 'test_password')]
public function testPassword(UserRepository $userRepo, UserPasswordHasherInterface $hasher): Response

Méthode avec le nom "testPassword" !!! Elle fait quoi de beau cette methode ? Le nom n'est pas très clair :)

Méthode avec le nom "testPassword" !!! Elle fait quoi de beau cette methode ? Le nom n'est pas très clair :)
Author
Collaborator

C'était une route test, mais je ne l'ai plus dans mon code, donc je ne comprends pas que tu l'aies encore :S

C'était une route test, mais je ne l'ai plus dans mon code, donc je ne comprends pas que tu l'aies encore :S
melvin-leveque marked this conversation as resolved
@@ -15,1 +16,4 @@
public function testPassword(UserRepository $userRepo, UserPasswordHasherInterface $hasher): Response
{
// 1. On va chercher ton admin directement en base
$admin = $userRepo->findOneBy(['email' => 'admin@kaz.fr']);

L'email de l'utilisateur devrait être passé en paramètre non ?

L'email de l'utilisateur devrait être passé en paramètre non ?
Author
Collaborator

Je n'ai plus cette route dans mon code, donc je ne comprends pas que tu l'aies encore :S

Je n'ai plus cette route dans mon code, donc je ne comprends pas que tu l'aies encore :S
maurine marked this conversation as resolved
@@ -38,0 +40,4 @@
# #[Route('/user/{email}', name: 'app_user', methods: ['GET'])]
# public function index(string $email, KazApiService $apiClient): Response
# {
# $exist = $apiClient->getUserData($email);

On va pouvoir regarder comment fonctionne l'api :) et réactiver cette route

On va pouvoir regarder comment fonctionne l'api :) et réactiver cette route
Author
Collaborator

tout à fait ! pour l'instant, je l'ai ignorée volontairement et je me suis basée sur mes fixtures pour vérifier que ma mise en page était OK

tout à fait ! pour l'instant, je l'ai ignorée volontairement et je me suis basée sur mes fixtures pour vérifier que ma mise en page était OK
maurine marked this conversation as resolved
@@ -38,0 +69,4 @@
if ($form->isSubmitted() && $form->isValid()) {
/** @var UploadedFile $imageFile */
$imageFile = $form->get('image')->getData();

Le formulaire permet seulement de modifier l'image ?

Le formulaire permet seulement de modifier l'image ?
Author
Collaborator

normalement, non. Je peux modifier l'image, le numéro de téléphone et l'adresse mail de secours

normalement, non. Je peux modifier l'image, le numéro de téléphone et l'adresse mail de secours
melvin-leveque marked this conversation as resolved
@@ -43,0 +117,4 @@
# Vérification du formulaire, s'il est bien soumis et valide
if ($form->isSubmitted() && $form->isValid()) {
# Récupération des données du formulaire
$user = $this->getUser();

On a deux récupération de l'utilisateur $user = $this->getUset()

On a deux récupération de l'utilisateur `$user = $this->getUset()`
Author
Collaborator

je me suis trompée

je me suis trompée
melvin-leveque marked this conversation as resolved
@@ -43,0 +121,4 @@
$plainOldPassword = $form->get('oldPassword')->getData();
$newPassword = $form->get('newPassword')->getData();
# Vérification de l'ancien mot de passe

Très bien de vérifier l'ancien mot de passe

Très bien de vérifier l'ancien mot de passe
melvin-leveque marked this conversation as resolved
@@ -29,20 +29,15 @@ class AppFixtures extends Fixture
for ($i = 0; $i < 10; $i++) {

Niquel les fixtures :)

Niquel les fixtures :)
melvin-leveque marked this conversation as resolved
@@ -36,3 +38,3 @@
#[ORM\Column(length: 255)]
private ?string $emailQuota = null;
private ?string $emailQuota = '1G';

Pourquoi emailQuota à une valeur par défaut et pas les autres quotas ? Comm nextcloudQuota par exemple ?

Pourquoi emailQuota à une valeur par défaut et pas les autres quotas ? Comm nextcloudQuota par exemple ?
Author
Collaborator

parce que papa m'a dit qu'un adhérent à un espace de 1G max pour les mails, qu'importe l'offre choisie

parce que papa m'a dit qu'un adhérent à un espace de 1G max pour les mails, qu'importe l'offre choisie
melvin-leveque marked this conversation as resolved
@@ -51,3 +54,3 @@
#[ORM\Column(length: 255)]
private ?string $nextcloudQuota = '1G';
private ?string $nextcloudQuota = null;

Pourquoi mettre une valeur par défault sur l'email et non sur le nextcloud ?

Pourquoi mettre une valeur par défault sur l'email et non sur le nextcloud ?
Author
Collaborator

parce que la taille du cloud dépend de l'offre choisie par l'adhérent

parce que la taille du cloud dépend de l'offre choisie par l'adhérent
melvin-leveque marked this conversation as resolved
@@ -0,0 +1,65 @@
<nav class="bg-white border-b border-gris-clair shadow-sm py-4 px-6 sticky top-0 z-50 font-sora">

Niquel les templates et le code front :)

Niquel les templates et le code front :)
melvin-leveque marked this conversation as resolved
@@ -0,0 +42,4 @@
</li>
{# Onglet : Mon organisation (ne s'affiche que si on a le rôle adéquat) #}
{% if is_granted('ROLE_ADMIN_ORGANISATION') %}

Top de conditionner l'affichage selon le rôle de l'utilisateur :)

Top de conditionner l'affichage selon le rôle de l'utilisateur :)
melvin-leveque marked this conversation as resolved
@@ -0,0 +17,4 @@
</h2>
{# Zone réservée pour les futures données de l'API
TODO : Gérer les données de l'API #}

Bonne pratique de mettre les TODO dans le code :)

Bonne pratique de mettre les TODO dans le code :)
melvin-leveque marked this conversation as resolved
@@ -40,0 +48,4 @@
</div>
{# checkbox "se souvenir de moi" #}
<div class="flex items-center pt-1">

A ton avis ? comment on pourrais mettre en place la fonctionnalité "se souvenir de moi" ? ou est-ce que cette fonctionnalité se joue dans le code backend de symfony ?

A ton avis ? comment on pourrais mettre en place la fonctionnalité "se souvenir de moi" ? ou est-ce que cette fonctionnalité se joue dans le code backend de symfony ?
Author
Collaborator

j'aurais du faire ça dans le controller plutôt ?

j'aurais du faire ça dans le controller plutôt ?
maurine marked this conversation as resolved
@@ -3,0 +7,4 @@
{{ form_start(form, {'attr': {'class': 'max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 grid md:grid-cols-3 gap-8'}}) }}
{# TODO: voir si c'est pertinent avec l'API et s'il y a l'utilité d'une photo de profil #}

On peut aussi avoir l'information de la photo seulement au niveau de l'app symfony :)
C'est toujours sympa d'avoir de la personnalisation pour les utilisateurs

On peut aussi avoir l'information de la photo seulement au niveau de l'app symfony :) C'est toujours sympa d'avoir de la personnalisation pour les utilisateurs
Author
Collaborator

d'ac !

d'ac !
melvin-leveque marked this conversation as resolved
maurine added 1 commit 2026-03-28 10:42:22 +01:00
maurine added 1 commit 2026-03-28 11:03:49 +01:00
maurine added 1 commit 2026-03-30 12:10:15 +02:00
maurine added 2 commits 2026-04-01 10:00:40 +02:00
maurine added 1 commit 2026-04-01 11:58:08 +02:00
maurine added 1 commit 2026-04-04 12:54:33 +02:00
melvin-leveque added 1 commit 2026-04-05 14:08:01 +02:00
- Adaptation de l'objet kazUser pour qu'il corresponde a l'attente de l'api.
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/login:feat/login
git checkout feat/login
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: melvin-leveque/interface-kaznautes#10