# WT6 — Sous-ressource Adresses (ticket 1.7 / ERP-159) > ```bash > git fetch origin > git worktree add ../sb-erp159-adresses -b feat/erp-159-carrier-addresses origin/develop > cd ../sb-erp159-adresses && claude > ``` > **Base** : `origin/develop` **après merge de WT3** (entités `CarrierAddress`). Parallèle à WT5/WT7/WT8/WT9. --- ## Prompt à coller Projet Starseed (Symfony 8 / API Platform 4, DDD). Lis `CLAUDE.md`, `.claude/rules/backend.md`. Charge le skill `backend-entity-conventions`. **Miroir** : `SupplierAddressProcessor.php` (`src/Module/Commercial/Infrastructure/ApiPlatform/State/Processor/`). **Mission** : opérations d'écriture sur les adresses transporteur. **Spec** : `spec-back.md § 4.5` + RG-4.05→4.07. **À livrer** : - `POST /api/carriers/{id}/addresses`, `PATCH`/`DELETE /api/carrier_addresses/{id}` (security `manage`) — **resource/processor dédiés à `CarrierAddress`**, ne modifie pas l'ApiResource `Carrier`. - **RG-4.06** : `postalCode` matche `^[0-9]{4,5}$` (autocomplete ville = front). Message FR. - **RG-4.05** : si affrété → adresse obligatoire (Pays/CP/Ville/Adresse) — validation conditionnelle. - RG-4.07 (bouton Valider masqué si QUALIMAT) = front ; côté back, accepter le PATCH normalement. **Tests à écrire** : CP invalide → 422 ; adresse affrété incomplète → 422 ; PATCH/DELETE OK avec `manage`, 403 sans. **Scope STRICT** : uniquement `CarrierAddress` (resource + processor + tests). **NE TOUCHE PAS** `CarrierFixtures` (WT10), l'entité `Carrier`, les autres sous-ressources. Messages de validation FR (`EntityConstraintsHaveFrenchMessageTest`). **Fini quand** : `make test` vert + `make php-cs-fixer-allow-risky`. Commit (`--no-verify` si vert), puis **ouvre la PR** : ```bash git push -u origin feat/erp-159-carrier-addresses tea pr create --base develop --head feat/erp-159-carrier-addresses \ --title "feat(transport) : sous-ressource adresses transporteur (ERP-159)" \ --description "POST/PATCH/DELETE carrier_address + RG-4.05→4.07. Ticket ERP-159." ``` Puis labellise via l'API Gitea. Cible **develop**. Aucune mention IA.