---
suivi: 1274
date: 2026-08-11
sujet: URL sélection dépôt en query ?depot= (option B′)
chantier: depot-factures
type: feature
statut: poussé
hash: 5845737f
fichiers:
  - resources/js/Pages/DepotFactures/Index.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
  - docs/suivi/SUIVI_1274_depot_url_parametre.md
---

# SUIVI #1274 — URL sélection `?depot=` (option B′)

## PROMPT ENVOYÉ

Petit lot front navigation. Ne pas toucher `show` / `Show.vue`. Remplacer le `replaceState` `#1269` (`/depot-factures/{uuid}`) par `/depot-factures?depot={uuid}` ; bootstrap au montage ; pas de requête supplémentaire au sync URL.

## SYNTHÈSE

### OBJET 1–2–4
- `syncDepotUrlInAddressBar` écrit `?depot=` (conserve les autres query) ou retire `depot` si null.
- Au montage : `bootstrapDepotFromQueryParam` → réutilise `selectRow({ uuid })` → `axios.get(/depot-factures/{uuid}/data)`.
- Pagination : dépôt hors page courante → sélection + saisie OK ; surlignage liste optionnel.
- Erreurs : uuid malformé / 403 / 404 → `saisieDataError`, liste reste, pas de spinner infini.
- Nettoyage : `supprimerFacture` + `onFormValidated` appellent toujours `syncDepotUrlInAddressBar(null)`.

### OBJET 3 — paramètre vs filtres
- Filtres / pages : `fetchListe` → `axios.get('/depot-factures/liste', { params: buildListeQueryParams })` — **n’embarque pas** `depot` depuis l’URL.
- Comportement retenu : **conserver** `?depot=` dans la barre lors d’un changement de filtre ou de page (la sélection/saisie reste ouverte ; le deep-link survit à un Ctrl+F5).
- Serveur : `resolveBoiteDepotListeContext` fait `$request->validate([...])` **sans** clé `depot`. Laravel n’échoue pas sur un paramètre inconnu ; `$validated` l’ignore. **Aucune modification PHP** (preuve lecture code L2878–2890). `router.reload()` éventuel avec `?depot=` ne casse donc pas l’index.

### OBJET 5 — inchangé
- `DepotFactureController::show` + `DepotFactures/Show.vue` : inchangés.
- Les 15 points d’entrée (#1273) vers `depot-factures.show` gardent le rendu Show.
- « Facture suivante » inchangée.
- Pas de touch `DepotFactureSaisieForm.vue` / `AppShell.vue` / routes / controller.

## LEÇON

`#1269` a choisi une URL de Show pour « vraie » URL, mais Ctrl+F5 basculait d’écran. Option B′ : query sur l’index = même écran au refresh, sans porter Show ni casser mails/alertes.

## Vérification

**Lecture de code** (pas d’écran réel ERP, pas de fixture UI).

## DÉPLOIEMENT

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