---
suivi: 1455
date: 2026-09-04
sujet: Juridique — 500 pièce jointe, import MimeSupport manquant
chantier: juridique
type: fix
statut: poussé
hash: d00481af
fichiers:
  - app/Http/Controllers/DemandeJuridiqueController.php
  - tests/Unit/JuridiquePieceJointeMime1455SourceTest.php
  - docs/suivi/SUIVI_1455_juridique_piece_jointe_mime.md
---

# SUIVI #1455 — Import PieceJointeMimeSupport

## PROMPT ENVOYÉ

500 prod au clic sur une pièce jointe juridique (user 29, 04/09 10:14) :
Class "App\Http\Controllers\PieceJointeMimeSupport" not found
à DemandeJuridiqueController.php:483. Ajouter le `use` manquant, rien d’autre.

## FICHES LUES

- `SUIVI_1451` — suiveurs M365 ; ne pas défaire.
- Cause mesurée en prod (log) : nom court résolu dans `App\Http\Controllers`.

Base : `origin/main` `c66ba400` (chore #1454).

## CAUSE RACINE

`PieceJointeMimeSupport::mimeDepuisNomFichier()` appelé L481 sans `use`.
La classe existe : `app/Support/Juridique/PieceJointeMimeSupport.php`.
`php -l` ne voit pas le défaut.

## FIX

Une ligne : `use App\Support\Juridique\PieceJointeMimeSupport;`
après `JuristeResolver`, avant `ProgrammeEnseigneComfortFiltre`.

Signature réelle : `public static function mimeDepuisNomFichier(string $nomOriginal): string`

## AUDIT `Class::` (lecture seule)

Voir tableau dans la synthèse. Seul `PieceJointeMimeSupport` manquait ; corrigé.
Aucun second défaut.

## DÉPLOIEMENT-TEST

git pull origin main
php artisan optimize:clear
Pas de migrate. Pas de npm.
Vérifier le téléchargement avec le compte Manon KOELH (id 29, GS_JURIDIQUE).

## LEÇON

Un `use` manquant = HTTP 500 invisible à `php -l`. ReflectionClass +
`class_exists` + appel statique. Ne pas « corriger » en dupliquant la classe
dans le namespace du contrôleur.
