Stage 2026 - #15
Draft
Quentin-Guillemin wants to merge 93 commits into
Draft
Stage 2026#15Quentin-Guillemin wants to merge 93 commits into
Quentin-Guillemin wants to merge 93 commits into
Conversation
Tous les get dans le corntoller fonctionne Reste a faire le post pour la modification de password
il faut que je visualise le ldap pour le changment de mot de passe il faut faire les verisfications des mot de passe etc en commentaire
il faut que je visualise le ldap pour le changment de mot de passe il faut faire les verisfications des mot de passe etc en commentaire
il faut que je teste tout ce que j ai fait - passer de loffit à jwt
…e changer le mot de passe. Reste à fixer : les fonctions de verifications du mot de passe retroune des string, il faudrait que ca retourne des exceptions afin de ne pas recevoirs 200 alors qu il y a une erreur
…e changer le mot de passe. Reste à fixer : les fonctions de verifications du mot de passe retroune des string, il faudrait que ca retourne des exceptions afin de ne pas recevoirs 200 alors qu il y a une erreur
…isie de mot de passe afin d etre sur que ca fonctionne correctement
…uisse tester avec swagger
…plémentation de gestion des mots de passe Reste à faire : - gérer les cas particuliers où l’algorithme de chiffrement ne peut pas être modifié - gérer les utilisateurs Samba
… via regex - Ajout des expressions régulières dans application.yml : regex-groups-with-ssha-pass : détecte les utilisateurs devant conserver SSHA regex-groups-with-samba-nt : détecte les utilisateurs nécessitant une mise à jour Samba - Ajout dans ServiceProperties de la propriété regexGroupsWithSambaNt - Ajout dans PasswordService : requiresSSHA() : vérifie si l'utilisateur appartient au groupe SSHA via regex LDAP requiresSamba() : vérifie si l'utilisateur appartient au groupe Samba via regex LDAP Choix dynamique de l'algo (SSHA ou ARGON2) selon les groupes LDAP Calcul conditionnel des hash Samba LM + NT TODO : Les test
… les éléments du mot de passe
… selon les groupes LDAP et vérification de l'activation de Samba si requis
…nformations de la personne ayant changé le mot de passe Des modifications ont été faites dans application.yml et logback, mais ne sont pas pushées.
…centraliser la gestion des logs dans logback.xml lors de la création de fichiers
refonte des logs pour les rendre plus lisibles ajout d’un logger spécifique (specialLog) création d’un fichier de configuration pour centraliser les éléments répétitifs utilisation du MDC pour enrichir le contexte des logs
…des mots de passe
…ation des en-têtes de licence manquants dans l'ensemble des fichiers du projet
… formatage du code - Ajout de .editorconfig pour définir les règles de formatage du projet - Application des règles via le reformatage des fichiers existants - Ajout de spotless-maven-plugin pour automatiser le respect des règles
…s inutiles dans application.example.yml
…et amélioration des tests pour UserDTOFactoryImpl, PersonneService - Création de `ClasseGroupeServiceImplTest` avec des tests couvrant divers scénarios (profils ENS, non-ENS, attributs LDAP, etc.). - Ajout de tests d'intégration pour `UserDTOFactoryImpl`, incluant des cas limites et des méthodes supplémentaires (conversion, gestion de mot de passe, utilisateur actuel). - Enrichissement des tests pour `PersonneService` avec des scénarios liés à la gestion des avatars et à `InvalidAvatarException`.
- Ajout des sections Prérequis, Installation, Configuration, Build et Structure du projet - Documentation des étapes pour compiler, tester, et exécuter le projet - Explication de l'utilisation de `application.yml` et accès à l'API
…des workflows et des mentions de copyright * Ajout de `eclipse-formatter.xml` pour garantir un formatage cohérent du code dans l'ensemble du projet. * Ajout du schéma `license-lookup-v1.0.xsd` et définition du mapping des licences dans `license-mappings.xml`. * Mise à jour des mentions de copyright à 2023.
…nces et leurs licences
…Maven * Ajout d'une boucle de vérification afin de s'assurer que MariaDB est opérationnelle avant de poursuivre. * Suppression des étapes inutilisées liées à l'installation et à la gestion d'OpenLDAP. * Mise à jour de l'étape d'arrêt du conteneur pour gérer proprement le nettoyage de MariaDB.
… les commandes MySQL
…es commandes MySQL - Suppression de Java 17 du `matrix` dans le workflow. - Simplification des commandes MySQL pour se connecter à MariaDB.
…stion de cache - Création de tests pour `CacheEventLogger`, `ConfigBeanProperties`, `Constants` et différents getters/setters des entités. - Validation des comportements attendus et des valeurs par défaut.
…uppression d'un mock inutile
… refactoring des tests pour améliorer la lisibilité et réduire la duplication - Utilisation de `List.of` pour un code plus concis. - Simplification des assertions et des tests répétitifs. - Refactorisation des méthodes de nettoyage temporaire avec `cleanupTempDir`. - Réduction des mocks inutiles dans plusieurs classes de tests.
…umentation
- Uniformisation des blocs de code dans les tests pour une meilleure lisibilité (`{}` formaté, suppression des sauts de ligne inutiles).
- Mise à jour des commandes dans la documentation pour utiliser `./mvnw` au lieu de `mvn` afin d'assurer la compatibilité avec Maven Wrapper.
- Nouveau service EmailVerificationService (envoi + vérification par code SecureRandom) - Nouvel endpoint PUT /update-email → 202 Accepted (envoi email de confirmation) - Nouvel endpoint public GET /verify-email (confirmation par code) - Résolution email fixe : LDAP > apersonne.email (suppression domaine confiance) - Résolution email personnel : cerbere_confirmation confirmé > apersonne.emailPersonnel - updateEmail ne persiste plus en DB/LDAP (cache eviction uniquement) - Suppression champs mailFixeConfirm/mailPersoConfirm dans UserDTO - Extraction de validateEmailForUpdate() dans PersonneService - Refactoring from() dans UserDTOFactoryImpl (~130→~35 lignes, 9 méthodes extraites) - Ajout dépendance spring-boot-starter-mail - Ajout tests : EmailVerificationServiceTest (8 tests), 12 cas spéciaux UserDTOFactoryImpl, verify-email + avatar dans PersonneRestControllerTest
…é la getsion du mot de passe
…ut des tests et config de test
- Les utilisateurs authentifiés via Samba NT (groupe LDAP) peuvent désormais changer leur mot de passe même si leur profil est bloqué par isConnectOk() - Le champ ntPass (transient) est calculé dans evalPublic() à partir de la même regex regex-groups-with-samba-nt que la génération des hashs NT/LM - noOldPass : les comptes CVDL sans mot de passe stocké en base (authentification Samba NT uniquement) n'ont pas besoin de fournir l'ancien mot de passe - Correction NPE dans validateRequest() quand oldPass est null et noOldPass=true - Tests : validation du flag ntPass (CVDL/GIP/match/miss), bouclage des profils bloqués débloqués par ntPass, isNoOldPass (CVDL+ntPass+null/ACTIVE/stored), validateRequest avec noOldPass, changement réussi sans oldPass
… le front - Le champ ntPass n'est plus exposé dans UserDTO (response JSON) - ntPass reste interne à PersonneDTO pour le calcul de mdp et noOldPass
- Génération d'un code à 6 chiffres (SecureRandom) au lieu d'un Base64 - Envoi du code directement dans l'email sans URL - Nouvel endpoint POST /verify-email avec body JSON au lieu de GET - Ajout du DTO VerifyEmailRequestDTO avec validation @pattern("\d{6}") - Réponse JSON (200/400) au lieu d'une redirection 302 - Suppression de la config base-url (devenu inutile) - Hash SHA-256 du code avant stockage en base - Réduction de l'expiration à 1h
- Supprime avatarUrl (doublon de avatar, meme source APersonne.photo) - Supprime listMenu et la methode listMenuTab (plus utile)
…, NON_PROF_COL_LOCAL, apprentis) - Ajoute EnumObjectClass avec 6 valeurs LDAP et méthodes de détection - Corrige NON_PROF_COL_LOCAL: CVDL uniquement si non-local, PERSONNEL sinon - Corrige isMaitre: détection via objectClass avant résolution des relations - Corrige apprentis.contact: résolution du maitreId via DB (retrievePersonnebyUid) - identifiant retourne toujours le login (même si externe) - Ajoute application.yml et application-test.yml - Ajoute EnumObjectClassTest
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.