Skip to content
## [6.5.0] - 2025-09-30

### Évolutions
- **Intégration Sentry** (Redmine 26581)  
  Nouvelle intégration Sentry pour le suivi des erreurs et des performances :  
  - Activation uniquement si `SENTRY_DSN` est défini  
  - Nouvelle variable `ENV_MODE` (`dev`, `recette`, `prod`) pour ajuster le sampling  
  - Configuration du logging adaptée pour éviter les doublons et n’envoyer que les erreurs  

- **Authentification et SSO Keycloak** (Redmine 26839, 27386, 27383, 27381, 27242)  
  - Nouveau mode de connexion via Keycloak (SSO OIDC)  
  - Gestion des comptes administrateurs via groupes Keycloak (`SSO_ADMIN_USER_GROUPS`)  
  - Ajout d’un système de notifications à la création d’utilisateurs via Keycloak  
  - Prise en compte des groupes Keycloak lors de l’authentification  

- **Notifications aux groupes d’utilisateurs** (Redmine 26377)  
  Mise en place d’un système de notifications par groupes d’utilisateurs :  
  - Nouveau modèle `UsersGroup` et gestion des appartenances via `UserGroupMembership`  
  - Possibilité de sélectionner un groupe notifié lors de la création d’un signalement  
  - Nouveau modèle de mail "Notification à un groupe", configurable dans l’admin Django  
  - Introduction d’un groupe spécial `all`, permettant à certains utilisateurs (ex. référents) de recevoir systématiquement toutes les notifications

- **Amélioration de la recherche textuelle dans les listes de valeurs** (Redmine 27831)  
  - Priorité aux correspondances commençant par le terme recherché  
  - Recherche insensible aux accents et aux tirets  
  - Correction de l'affichage limité à 10 résultats (ex. "Rennes" n'apparaissant jamais)  
  - Réponse API désormais paginée avec métadonnées (`results`, `total`, `limit`, `offset`)  

- **Permettre l'édition et suppression de géométries multiples** (Redmine 28563)  
  - Affichage des boutons édition et suppression sur la page liste & carte même si uniquement géométrie multiple
  - Ajout de transition à l'apparition de bouton pour rendre le fonctionnement plus intuitif

- Fixer automatiquement le statut du signalement en “publié” lors de la création (Redmine 27352)  
- Vérification supplémentaire lors de la création d’un compte utilisateur (Redmine 25582)  

### Correctifs
- **Génération des vues SQL** (Redmine 27462, 23375)  
  Amélioration de la robustesse de la commande de génération des vues SQL, pour corriger des cas problématiques rencontrés en production :  
  - Détection explicite des modes invalides/ambigus  
  - Inclusion automatique des `feature_data` même sans champ défini  
  - Gestion des suppressions en cascade, entités orphelines et conflits de noms de `CustomFields`  
  - Ajout du paramètre `--force_project_view_with_aliases`  

- Connexion CAS IDGO – erreur 404 corrigée (Redmine 26721)  
- Liste signalements – incohérences dans la recherche par titre (Redmine 26138)  
- Pagination – doublon du premier et dernier numéro sur 5 pages (Redmine 26632)  
- Sécurisation : un utilisateur ne peut plus voir les signalements qui ne lui appartiennent pas (Redmine 27230)  

### Breaking changes
- L’API `/prerecorded-list-values/<name>/` ne renvoie plus une liste brute mais un objet structuré avec `results`, `total`, `limit`, `offset`  
- Suppression de la variable d’environnement `SSO_ADMIN_USERS`, remplacée par `SSO_ADMIN_USER_GROUPS`  
- Plusieurs migrations doivent être appliquées, notamment :  
  - activation automatique de l’extension PostgreSQL `unaccent`  
  - création des modèles `UsersGroup`, `UserGroupMembership` et du modèle de mail "Notification à un groupe"  
  - ajout du modèle de template pour les notifications à la création d’utilisateur via Keycloak

### Variables d'environnement
- `SENTRY_DSN` : DSN Sentry, activation seulement si défini  
- `ENV_MODE` : mode d’exécution (`dev`, `recette`, `prod`), par défaut `recette`  
- `SSO_ADMIN_USER_GROUPS` : groupes Keycloak recevant les droits administrateur  
- Variables LDAP/Keycloak : `LDAP_SERVER_URI`, `LDAP_BASE_DN`, `LDAP_BIND_DN_TEMPLATE`,  
  `SSO_KEYCLOAK_URL`, `SSO_KEYCLOAK_DISCOVERY_ENDPOINT`, `SSO_KEYCLOAK_CLIENT_ID`,  
  `SSO_KEYCLOAK_CLIENT_SECRET`, `SSO_CALLBACK_PATH`, `SSO_POST_LOGOUT_REDIRECT_URI`, `LOGOUT_URL`  
- Autres : `FEATURE_CREATION_REDIRECT_URL`, `EXTERNAL_HOME_LINK`, `HIDE_MENU_NON_ADMIN`