Aller au contenu

Mon profil

À quoi ça sert

Cette page centralise vos informations personnelles et professionnelles, vos coordonnées, vos coordonnées bancaires, vos documents RH et la sécurité de votre compte (mot de passe, authentification à deux facteurs).

Prérequis

Prérequis

  • Modules sous licence : HR
  • Rôles : ORG_ADMIN, HR_MANAGER, MANAGER, EMPLOYEE, RECRUITER, ACCOUNTANT, CFO

Comment ça marche

Consulter et modifier mes informations

  1. Ouvrez Mon profil (/dashboard/profile). La page est organisée en onglets : Informations personnelles, Contact, Coordonnées bancaires, Documents, Sécurité.
  2. L'onglet Informations personnelles affiche vos informations d'emploi (poste, date d'embauche, département) en lecture seule, puis vos informations personnelles modifiables.
  3. L'onglet Contact liste vos numéros de téléphone et adresses email, avec possibilité d'en ajouter et de désigner une entrée comme principale.
  4. L'onglet Coordonnées bancaires permet de renseigner l'IBAN utilisé pour vos remboursements (notes de frais) et votre salaire.
  5. L'onglet Documents liste les documents RH vous concernant (contrat, avenants, justificatifs) déposés par les RH ou par vous-même.

Changer mon mot de passe

  1. Dans l'onglet Sécurité, cliquez sur Modifier dans la section « Mot de passe ».
  2. Renseignez votre mot de passe actuel, votre nouveau mot de passe (minimum 8 caractères) et sa confirmation.
  3. Le bouton de validation ne s'active que si les deux nouveaux mots de passe correspondent et respectent la longueur minimale.
  4. Après validation, tous vos jetons de connexion actifs sur les autres appareils sont révoqués : vous resterez connecté sur l'appareil courant, mais devrez vous reconnecter ailleurs.

Activer l'authentification à deux facteurs (2FA)

  1. Dans la section « Authentification à deux facteurs » de l'onglet Sécurité, activez le bascule (toggle).
  2. Un QR code s'affiche : scannez-le avec une application d'authentification (Google Authenticator, Microsoft Authenticator, etc.).
  3. Saisissez le code à 6 chiffres généré par l'application pour vérifier l'appairage, puis validez.
  4. Une fois activée, une liste de codes de secours à usage unique vous est présentée — conservez-les en lieu sûr, ils permettent de vous connecter en cas de perte de votre téléphone.
  5. Vous pouvez régénérer un nouveau jeu de codes de secours à tout moment depuis cette même section.
  6. Pour désactiver la 2FA, basculez à nouveau le toggle et confirmez avec votre mot de passe actuel.

Se connecter avec la 2FA activée

  1. Sur l'écran de connexion, saisissez votre email et mot de passe comme d'habitude.
  2. Un second écran vous demande le code à 6 chiffres de votre application d'authentification (valable environ 30 secondes, avec une tolérance d'environ 90 secondes).
  3. Vous pouvez cocher « Faire confiance à cet appareil » pour ne plus avoir à ressaisir de code sur ce même navigateur pendant une durée limitée.

Qui peut faire quoi

Aucune permission particulière. Rôles concernés : ORG_ADMIN, HR_MANAGER, MANAGER, EMPLOYEE, RECRUITER, ACCOUNTANT, CFO.

Le profil est personnel : chaque utilisateur gère son propre profil et sa propre sécurité sans permission spécifique additionnelle — l'accès est garanti par l'authentification elle-même. La consultation du profil d'un autre collaborateur (fiche RH, organigramme) requiert la permission employee.read, et sa modification par un tiers requiert employee.manage (voir la fiche Employés & contrats).

Détails techniques

Détails techniques
  • Authentification et mot de passe : module app.jigi.auth. PATCH /auth/password (UpdatePasswordRequest { currentPassword, newPassword }) vérifie le mot de passe actuel par BCrypt, ré-encode le nouveau, révoque tous les refresh tokens existants (refreshTokenRepository.revokeAllByUserId) et notifie l'utilisateur (PASSWORD_CHANGED).
  • 2FA (TOTP) : POST /auth/2fa/setup (génère le secret + QR code + codes de secours), POST /auth/2fa/verify (vérifie le code et active la 2FA), DELETE /auth/2fa (désactivation). Paramètres : HMAC-SHA1, secret 160 bits, pas de temps 30s, code à 6 chiffres, fenêtre de validation ±1 pas (~90s), 8 codes de secours à 10 caractères alphanumériques hashés en BCrypt.
  • Entités : UserTotpSecret, UserTotpBackupCode.
  • Connexion avec 2FA : POST /auth/login renvoie requiresTwoFactor=true avec un tempToken (JWT de 5 min, purpose=2fa_challenge) ; POST /auth/verify-2fa vérifie le code (limité à 5 tentatives / 30 min via le rate limiter), pose les cookies de session (jigi_at/jigi_rt) et, si trustDevice=true, un cookie de confiance d'appareil.
  • Profil RH : module app.jigi.hr.employee, contrôleurs EmployeeBankAccountController, EmployeeDocumentController, EmployeeEmergencyContactController (lecture employee.read, écriture employee.manage lorsqu'un tiers agit sur la fiche).
  • Frontend : frontend/src/app/(dashboard)/dashboard/profile/page.tsx (onglets Personnel / Contact / Bancaire / Documents / Sécurité), services updatePassword, setup2fa, verify2faSetup, disable2fa, regenerateBackupCodes (@/services/auth).

Cas d'erreur et FAQ

J'ai perdu mon téléphone avec mon application d'authentification, comment me connecter ? Utilisez un de vos codes de secours à la place du code à 6 chiffres lors de la connexion, puis désactivez et réactivez la 2FA avec un nouvel appareil dès que possible.

Pourquoi suis-je déconnecté de mes autres appareils après un changement de mot de passe ? C'est un comportement de sécurité voulu : le changement de mot de passe révoque tous les jetons de rafraîchissement existants, sauf sur la session courante.

Puis-je désactiver la 2FA moi-même ? Oui, depuis l'onglet Sécurité, en confirmant avec votre mot de passe actuel. Le forçage de désactivation par un administrateur pour un autre utilisateur n'est pas encore disponible (fonctionnalité prévue).

Mon IBAN est-il visible par tout le monde ? Non, seules les personnes disposant des permissions RH/comptabilité adéquates peuvent consulter vos coordonnées bancaires ; elles servent au versement du salaire et au remboursement des notes de frais.

Je ne reçois pas le code de vérification lors de l'activation de la 2FA. Vérifiez que l'heure de votre téléphone est synchronisée automatiquement (le TOTP est sensible au décalage d'horloge) et que vous avez bien scanné le dernier QR code affiché.

Voir aussi