Conversation
Isalafont
force-pushed
the
feature/dpp-99-demande-externe-api-entreprise-suppression-du-responsable-de
branch
from
September 18, 2026 14:57
373ff0b to
55a75d5
Compare
Isalafont
marked this pull request as ready for review
September 21, 2026 14:41
This branch has not been deployed
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.
Le problème
API Entreprise demande de ne plus exiger le responsable de traitement sur ses habilitations. En administration, il est déjà connu (DAC, maire), change souvent et n’est pas maintenu : le référent utile est le contact métier, déjà demandé.
Le changement
Même geste que le retrait côté API Particulier (#327), sans le renommage vers le contact métier puisqu’il existe déjà :
AuthorizationRequest::APIEntreprisen’inclut plusGDPRContacts, le DPO est redéclaré en tête des contacts (ordre d’affichage inchangé). Validation, affichage, mail RGPD et fixture des e-mails automatiques suivent seuls, sur les 18 formulaires.api_entreprise_through_editor.html.erb, seule vue à lister ses contacts en dur, ne rend plus le bloc.BulkAuthorizationRequestUpdatesurapi_entreprise: modale au demandeur à sa prochaine visite du résumé, et entrée dans l’historique. Auteur en production :User.find(43_809), pas d’e-mail en dur.Aucune donnée n’est modifiée : les clés
responsable_traitement_*restent dansdata. Un ancien responsable de traitement garde donc l’accès en lecture et voit la demande dans ses mentions.Effets de bord à connaître
responsable_traitement_*disparaissent du payload API Entreprise, stock compris. À signaler à API Entreprise.databrut, le stock continue d’exposer ces champs, pas les nouvelles demandes (même situation qu’API Particulier).Tests corigés / ajoutés :
DeliverGDPRContactsMails(DPO seul, même avec une clé legacy endata).habilitations/api_entreprise/responsable_de_traitement.feature, vue rouge sur le code de develop.Recette : retrait du responsable de traitement sur API Entreprise (sandbox)
1. Nouvelle demande via un formulaire éditeur (compte user@yopmail.com)
2. Nouvelle demande via le formulaire standard en plusieurs étapes (même compte)
3. Validation par l’instruction (compte datapass@yopmail.com)
Se connecter avec datapass@yopmail.com
Valider l'une des des demandes Api Entreprise soumise.
Attendu : le message «La demande d’habilitation a été validé » s’affiche.
Attendu : seul le délégué à la protection des données reçoit un mail RGPD. Le responsable de traitement n’en reçoit plus. Côté formulaire, la liste des emails automatiques d’API Entreprise affiche « 3 emails automatiques » au lieu de 4.
En local : Ouvrir http://localhost:/letter_opener. Il doit y avoir un mail pour le délégué à la protection des données et aucun pour un responsable de traitement.
Sur Sandbox
Par le dashboard GoodJob /workers
https://sandbox.datapass.api.gouv.fr/workersIl faut être admin, avec datapass@yopmail.com. Après la validation, les jobs ActionMailer::MailDeliveryJob montrent le mailer appelé : on doit trouver GDPRContactMailer#delegue_protection_donnees et aucun GDPRContactMailer#responsable_traitement.4. Demande existante, créée avant le déploiement (compte du demandeur de cette demande)

6. Non-régression sur une autre API
Ref DPP-99, côté APIM : API-7366.