[docs] M1 — Répertoire clients : specs front + back #23
Reference in New Issue
Block a user
Delete Branch "feature/M1-spec-clients"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Spécifications front + back du Module 1 — Répertoire clients (premier module métier Tiers, extension du module
Commercialexistant).Origine : V0 client
.docxdu 22/05/2026 (M1-reportoire-clients.docx) + maquette Figmahttps://www.figma.com/design/jRYgT0T9c03VsEbjGhCwwS/Composants---Design-System?node-id=1132-31898.Pattern de rédaction : strictement aligné sur
docs/specs/M0-categories/(spec-front léger + spec-back très détaillé).Contenu
docs/specs/M1-clients/spec-front.md(289 lignes) — V0 client, structure UI, composants Malio, permissions par rôle, règles de formatagedocs/specs/M1-clients/spec-back.md(1056 lignes) — décisions archi, modèle données, migration SQL Postgres, API REST, RBAC matrice complète, 27 RG numérotées, tests à automatiser, 16 HP, liens & dépendancesDécisions structurantes (validées avec Tristan le 28/05/2026)
Commercial/(pas nouveau module)client_category+ seedCategoryType(DISTRIBUTEUR,COURTIER,SECTEUR,AUTRE)client+ contrainte CHECK mutexis_archivedexposé au M1, colonnedeleted_atpréparée mais non exposée (HP M2)useAddressAutocomplete()companyName+ email (indexes partiels Postgres, ignorent archivés et soft-deletés)phone_primary+phone_secondarypriority: 1).docx(ligne « Compta = Ajout/Modification Comptabilité uniquement » invalidée) — documenté en HP-M2-10Seed M1 (référentiels comptables)
tva_modeFRANCE_VENTES,EXPORT_VENTES,INTRACOM_VENTESpayment_delayJ15,J30,A_RECEPTIONpayment_typeVIREMENT,LCR,NON_SOUMISE,CHEQUEbankSG,CIC,CA(Société Générale / CIC / Crédit Agricole)category_type(extension M0)DISTRIBUTEUR,COURTIER,SECTEUR,AUTRERG ajoutées au-delà du
.docxcompanyNameUPPERCASE serveurfirstName/lastNameCapitalize serveurXX XX XX XX XXau frontPermissions RBAC (à synchroniser dans les 3 miroirs au moment du dev)
commercial.clients.viewcommercial.clients.managecommercial.clients.accounting.viewcommercial.clients.accounting.managecommercial.clients.archiveProchaines étapes (hors MR)
M1 — Répertoire clients(projetERP / Starseed, projectId=6)spec-back.md)Reviewer suggéré
Matthieu (CP MALIO).
Cible
develop.@@ -0,0 +122,4 @@Pattern Starseed standard :- `#[Auditable]` sur `Client`, `ClientContact`, `ClientAddress`, `ClientRib`- `#[AuditIgnore]` sur les champs sensibles : `ClientRib.iban`, `ClientRib.bic`Pas d'auditIgnore sur cette partie. L'audit est accessible que par les admin et on va avoir besoin de ces infos.
@@ -0,0 +864,4 @@- `ClientAddress` : `#[Auditable]`- `ClientRib` :- `#[Auditable]` sur l'entité- `#[AuditIgnore]` sur `iban` et `bic` (RGPD / sécurité)Comme vu plus haut, on laisse auditable ces champs
@@ -0,0 +46,4 @@|---|---|---|---|| **Admin** | ✅ Tout | ✅ Tout | ✅ || **Bureau** | ✅ Tout | ✅ Tout sauf onglet Comptabilité | ❌ || **Compta** | ✅ Tout | ❌ (lecture seule) | ❌ |Le rôle compta peux modifier l'onglet compta.
@@ -0,0 +270,4 @@|---|---|---|| 1 | Catégorie en multi-select non clarifiée (1 ou n par client) | **M2M `client_category`** validée. CategoryType seedé avec `DISTRIBUTEUR`, `COURTIER`, `SECTEUR`, `AUTRE` (HP-3 du M0 levé). || 2 | Distributeur / Courtier : liste de quoi ? | **Auto-référence Client** via 2 FK nullables `distributor_id` et `broker_id` (cf. RG-1.03). Une seule des deux est remplie à la fois. || 3 | Onglet « Comptabilité » : qui édite ? | **Admin uniquement au M1.** Compta lecture seule (décision validée par Tristan 28/05). Bureau / Commerciale ne voient pas l'onglet. |Le rôle compta peut éditer l'onglet.