Skip to content

feat: simulateur abattoirs#8

Merged
sbenfares merged 20 commits into
mainfrom
feat/simulateur-abattoirs
Jun 6, 2026
Merged

feat: simulateur abattoirs#8
sbenfares merged 20 commits into
mainfrom
feat/simulateur-abattoirs

Conversation

@sbenfares
Copy link
Copy Markdown
Collaborator

Ajout du simulateur abattoirs

sbenfares added 20 commits June 5, 2026 10:56
Implémentation des 5 règles métier dans une architecture en bounded contexts pour anticiper l'arrivée du 2e simulateur.
Cadre la stack UI pour rester conforme Beta.gouv et éviter la divergence visuelle.
Implémente le formulaire DSFR, le panneau de résultats avec badges accent, et le système de versions lié aux arrêtés officiels avec page d'historique dédiée.
Capture les erreurs React et JS non gérées via console.error structuré (Phase 1, sans endpoint distant) ; lien historique des versions ouvert dans un nouvel onglet pour préserver le résultat.
Remplace les deux clés typescript.* et javascript.* par la clé unifiée js/ts.preferences.importModuleSpecifier.
19 nouveaux scénarios Playwright couvrant la carte de sélection, le statut conditionnel, la validation, 3 cas connus du moteur et la page d'historique.
Utilise Intl.DateTimeFormat à la place du tableau MOIS_FR et sort le formatter du bounded context abattoirs (concept UI générique, pas métier).
Améliore l'a11y (annonce lecteur d'écran) et l'UX onglets en exposant un titre distinct par page, sans dépendance externe.
Trace les 3 décisions architecturales structurantes prises pendant le développement du simulateur Abattoirs.
Repère visuel des 3 sections (réception suidés, abattoir, destinataire) en remplacement des fr-icon-question-line génériques.
Resynchronisation du lockfile suite au rebase sur main (jsdom 29 + TS 6) et à l'introduction de xlsx par les commits du moteur abattoirs.
Ordre validé métier : zone indemne → ZI FS → ZP → ZS → ZRI → ZRII → ZRIII (cohérent avec la progression réglementaire et appliqué aux 3 dropdowns du formulaire).
Le champ Statut est sorti du DOM sauf quand zoneSuides est ZRII ou ZRIII (seules zones où le statut a un sens réglementaire), évitant ainsi un champ inerte affiché en gris à l'utilisateur.
Passage de w-6 à w-5 + object-contain pour préserver le ratio naturel, l'icône cochon paraissait visuellement trop large par rapport aux deux autres (building, truck).
…tion n'est lancée

Le panneau apparaît uniquement après un clic sur Valider et se masque à nouveau sur Réinitialiser ou modification d'un champ. Supprime la branche placeholder de AbattoirsResult (dead code) et durcit son prop result en non-nullable.
Le nouveau xlsx tranche les 4 ambiguïtés identifiées : LPS non requis sur les 35 + 336 cas vides, dérogation possible sur les 195 cas UE et les 27 cas Grist vs DOCX, libellé "possible" partout. Règles certification.ts et lps.ts adaptées, oracle régénéré (2 744 cas), entrée versions.ts ajoutée en tête.
Pas un nouvel arrêté mais une correction des oublis du tableau initial du 2026-05-12, donc « correctif » est plus juste que « V2 » dans la doc, les commentaires des règles et le libellé de l'entrée versions.ts.
@sbenfares sbenfares merged commit cdfb1df into main Jun 6, 2026
6 checks passed
@sbenfares sbenfares deleted the feat/simulateur-abattoirs branch June 6, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant