---
suivi: 1377
date: 2026-09-01
sujet: demande_juridique_ergonomie_deux_colonnes
chantier: juridique
type: feature
statut: poussé
hash: f5132a54
fichiers:
  - resources/js/Pages/Juridique/Show.vue
  - app/Http/Controllers/DemandeJuridiqueController.php
  - app/Http/Requests/Juridique/UpdateDemandeJuridiqueChampRequest.php
  - app/Support/Juridique/DemandeJuridiqueParticipantResolver.php
  - app/Support/Juridique/DemandeJuridiquePresenter.php
  - app/Support/Juridique/DemandeJuridiqueHistoriqueService.php
  - tests/Unit/DemandeJuridiqueErgonomie1377SourceTest.php
  - tests/Unit/DemandeJuridiqueInlineChamp1376SourceTest.php
  - tests/Feature/DemandeJuridiqueDemandeurChamp1377Test.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
---

## PROMPT ENVOYÉ

SUIVI #1377 — mise en page deux colonnes + Statut/Priorité dans le cadre +
Demandeur éditable (GS_JURIDIQUE / GS_ADMIN_ERP) avec historique et 403 serveur.

## FICHES LUES

- **#1376 LEÇON** : réutiliser InlineEditableField + PATCH whitelist ; prouver
  l'historique par test, pas par lecture du controller. Conservé : pas de 2ᵉ
  mécanisme d'édition ; `demandeur_id` ajouté à la même whitelist.

## SYNTHÈSE

### Layout
Titre = Objet (inline #1376). Grille `lg:grid-cols-2` (repli mobile : gauche
puis droite). Historique hors grille, pleine largeur, dernier.

### Demandeur
`PATCH …/champ` `{ champ: demandeur_id, valeur: user_id }`. Droit via
`m365GroupNames()` brut (GS_JURIDIQUE | GS_ADMIN_ERP). GS_DSI = 403.
Historique : « Demandeur modifié : X → Y ».

### Impact droits
Changer le demandeur retire l'accès fiche / « Mes demandes » / notifications
au précédent (sauf s'il reste suiveur). Juristes GS_JURIDIQUE voient tout.

## DÉPLOIEMENT-TEST

```bash
git pull origin main
php artisan optimize:clear
php artisan view:clear
php artisan journal:sync
```

Pas de nouvelle route. Pas de migrate.

## LEÇON

Droit sensible (auteur) : groupes M365 **bruts**, jamais `hasAnyM365Group`
seul — Robin (GS_ADMIN_ERP) ne voit jamais le 403. Tester juriste vs DSI vs
demandeur.
