- pages/clients/new.vue : route /clients/new gatee par commercial.clients.manage.
Formulaire principal (POST /clients) puis validation incrementale des onglets
via MalioTabList ; un onglet valide passe en lecture seule, passage automatique
au suivant. Information (PATCH groupe information), Contact/Adresse (sous-ressources
contacts/addresses), Comptabilite (PATCH scalaires accounting + POST ribs, gate
accounting.view/manage), onglets coquille auto-avances. Mode strict RG-1.28 :
chaque requete ne porte que les champs de son groupe.
- i18n : cles commercial.clients.form.* (formulaire, onglets, confirmation, toasts).
RG-1.04 (Information obligatoire pour la Commerciale) : non miroitee cote front
(roles = IRIs dans /api/me, Bureau == Commerciale en permissions) ; appliquee de
maniere fiable par le back. A rebrancher quand un code de role sera expose.
- useClientReferentials : chargement des selects (categories, sites, modes TVA,
delais/types de reglement, banques) en ?pagination=false + listes
distributeurs/courtiers via ?categoryCode=DISTRIBUTEUR|COURTIER.
- ClientContactBlock / ClientAddressBlock : blocs reutilises par 1.11/1.12.
L'adresse gere la saisie assistee BAN (via le stub) avec bascule en mode
degrade (ville/adresse en saisie libre).
- TabPlaceholderBlank : frame vide des onglets non implementes.
- clientFormRules : RG-1.05/1.14 (contacts), RG-1.06/07/08/11 (exclusivite
adresse + email facturation), RG-1.12/1.13 (banque/RIB selon type de
reglement), construction des onglets (gating Comptabilite). 18 tests Vitest.
- types/clientForm : brouillons locaux (contact/adresse/RIB) + fabriques.
- useAddressAutocomplete : STUB ERP-63 conforme a la signature ERP-66 (mode
degrade), a remplacer par l'implementation BAN d'ERP-66.
Note : RG-1.04 (Information obligatoire pour la Commerciale) volontairement non
miroitee cote front (le payload /api/me ne porte pas le code de role ; Bureau et
Commerciale partagent les memes permissions). Le back l'applique de maniere fiable.