Files
ben-to/.github/ISSUE_TEMPLATE/04-refactor-builder-solid.md
T
kazerlelutin 785e1be2aa
CI / quality (push) Waiting to run
CI / e2e-and-a11y (push) Blocked by required conditions
CI / lighthouse (push) Blocked by required conditions
CI / android-smoke (push) Waiting to run
CI / pull-request-report (push) Blocked by required conditions
Security / codeql (push) Waiting to run
Security / deps-and-secrets (push) Waiting to run
actions
2026-07-21 16:52:43 +02:00

1.5 KiB
Raw Blame History

name, about, title, labels, assignees
name about title labels assignees
Refactor Builder SOLID Découpage SOLID du flux builder (BuilderFlow) [Refactor] Builder — découpage SOLID et responsabilités claires
refactor

Contexte

La logique et lUI du parcours builder sont concentrées dans apps/web/src/ui/BuilderFlow.tsx (fichier très volumineux). Le domaine pur existe déjà dans packages/features/builder/src/domain.ts.

Objectif

Réduire la surface « tout-en-un » du flux builder et clarifier les frontières entre UI, état du wizard, et domaine (@ben-to/builder).

Pistes techniques

  • Extraire par responsabilité unique : étapes (base / variante / recette), barre dactions, feuille recette, navigation « Continuer », synchronisation reset (builder-reset-bus).
  • Introduire des hooks / ports testables (ex. useBuilderSteps, useRecipeSheet) pour isoler les effets et la lecture du catalogue.
  • DIP : lUI consomme le domaine (domain.ts) et des interfaces stables pour le catalogue, sans détails de parsing dispersés.
  • Conserver / étendre les tests (*.unit.test.ts, e2e, Gherkin @int-builder-*).

Critères dacceptation

  • Aucun fichier du flux builder > ~250300 lignes sans justification documentée en commentaire de module.
  • Tests unitaires / intégration et e2e verts ; pas de régression sur le parcours dans specs/features/builder.feature.

Références

  • apps/web/src/ui/BuilderFlow.tsx
  • packages/features/builder/src/domain.ts
  • specs/features/builder.feature