Files
Starseed/docs/specs/M1-clients/refonte-contact/M2-ticket-specs.md
T
matthieu 8fae987e15
Auto Tag Develop / tag (push) Successful in 6s
docs(commercial) : refonte contact — suppression du contact inline (specs M1 + M2) (#54)
Acte la décision refonte-contact dans les specs : le contact principal inline (firstName/lastName/phonePrimary/phoneSecondary/email) est retiré des entités tiers (Client, Supplier). Les contacts vivent uniquement dans ClientContact / SupplierContact (onglet Contacts). Garantie « >=1 contact nommé » préservée par RG-1.05/1.14 (M1) et RG-2.04/2.13 (M2).

- M1 (spec-back/spec-front/cahier) : modèle Client sans contact inline ; RG-1.01/1.02 supprimées ; D1 (recherche) / D2 (export) décrites ; version V1.
- M2 (spec-back/spec-front) : FICHIERS NOUVEAUX (non versionnés sur develop), introduits déjà corrigés (Supplier sans contact inline, RG-2.01/2.02 supprimées) ; version V0.2.
- docs/specs/M1-clients/refonte-contact/ : décision (README) + tickets (M1 back/front/specs, M2 specs) + prompts + amendement des tickets M2.

Lesstime : tâches #103 (M1 back), #104 (M1 front), #105 (M1 specs), #106 (M2 specs) ; tickets M2 #85-#97 amendés.
---------

Co-authored-by: Matthieu <contact@malio.fr>
Reviewed-on: #54
Co-authored-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr>
Co-committed-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr>
2026-06-03 13:16:11 +00:00

3.4 KiB

M2 · Ticket Specs — Retirer le contact inline du Supplier dans les specs M2

1. Objectif

Mettre à jour les specs M2 Fournisseurs déjà rédigées pour ne plus inclure le contact principal inline sur le Supplier. M2 est le jumeau strict de M1 (Supplier / SupplierContact / SupplierAddress / SupplierRib) et n'est pas encore codé : il faut donc corriger la conception en amont, pour que les 14 tickets M2 « prêts à dev » soient implémentés directement sans les 5 colonnes inline.

Pendant de M1 ticket 3/3, mais côté M2 : aucune migration de suppression ni backfill — on retire simplement le contact inline du modèle cible. Contexte : README.md du dossier refonte-contact.

2. Fichiers à modifier

Fichier Sections concernées
docs/specs/M2-suppliers/spec-back.md § 3.1 diagramme E-R (l.175-179 : retirer les 5 colonnes du bloc supplier) ; § 3.2 CREATE TABLE supplier (l.227-231) ; § 3.4 squelette entité Supplier (l.496-517 : props + Assert\Callback RG-2.01) ; § 4 exemples payload POST/GET (l.782-805, 867-871) ; recherche ?search= (l.847 : refléter D1) ; export (refléter D2) ; § contrat de sérialisation (l.725, 729) ; § 7 RG (voir § 3).
docs/specs/M2-suppliers/spec-front.md « Formulaire principal » (l.105-117 : retirer Nom/Prénom/Téléphone/Téléphone 2/Email) ; onglet « Contact » (l.140-157 : retirer la phrase de pré-remplissage depuis le formulaire principal, l.142) ; écrans Consultation/Modification ; règles de formatage (l.283-285) ; recherche (l.76 : refléter D1).

3. Traitement des règles de gestion M2

  • RG-2.01 (firstName OU lastName obligatoire sur Supplier) → supprimée : remplacée par RG-2.04 (≥ 1 contact valide) + RG-2.13 (≥ 1 bloc Contact). Le contact inline n'existe plus sur Supplier.
  • RG-2.02 (max 2 téléphones sur Supplier) → supprimée du Supplier (reste sur SupplierContact).
  • RG-2.12 (normalisation Capitalize / chiffres / lowercase) → restreindre le scope : s'applique à companyName (UPPERCASE) et aux champs de SupplierContact ; plus aux champs inline du Supplier (qui disparaissent).
  • Ne pas renuméroter les RG : marquer « supprimée / requalifiée » en place, avec date.

4. Forme

  • Bumper la version des deux specs M2 + entrée d'historique datée (2026-06-03, motif « Suppression du contact inline du Supplier — alignement refonte-contact M1 »).
  • Encadré « Décision » renvoyant au README.md du dossier refonte-contact.
  • Garder le style des specs M2.

5. Lien avec les tickets M2 existants

La mise à jour des specs doit être cohérente avec l'amendement des tickets M2 (voir M2-amendement-tickets.md) : tickets back #85/#86/#87/#91/#92 et front #94/#95/#96 (+ #93/#97 légers). Specs et tickets décrivent le même modèle cible (sans contact inline).

6. Critères d'acceptation (DoD)

  • spec-back.md M2 : aucune mention des 5 colonnes inline dans le modèle supplier (E-R + SQL + entité + payloads + sérialisation) ; RG-2.01/2.02 marquées supprimées ; D1/D2 décrites.
  • spec-front.md M2 : formulaire principal sans champs de contact ; onglet Contact présenté comme seul lieu de saisie (sans pré-remplissage depuis le principal).
  • Versions bumpées + historique daté.
  • Cohérence avec l'amendement des tickets M2.