Files
MaksTinyWorkshop 16707b6aaf chore(sanitization): nettoyage repo post-capitalisation
- Suppression de 3 fichiers *.tmp versionnés (résidus install BMAD 6.0.4, vides)
- Ajout de *.tmp au .gitignore
- Déduplication: entrée "Prisma init au chargement = casse build Next.js"
  était dupliquée à l'identique dans risques/prisma.md ET risques/nextjs.md
  → conservée dans nextjs.md (risque Next.js), retirée de prisma.md
- Déduplication: pattern "Tests de styles RN sans renderer JSX" dupliqué dans
  patterns/tests.md ET patterns/design-tokens.md → conservé dans tests.md
- Correction README backend/risques : retrait des entrées fantômes de la ligne
  prisma.md ("init module build" déplacé vers nextjs ; "suppression champ .map()"
  qui vit en réalité dans general.md)

Audit complet de la base : aucun doublon d'ancre restant, liens non cassés,
README synchronisés, format risques/patterns constant. Branches obsolètes
mcp_test et mcp_v1 supprimées (mergées dans main).
2026-06-26 10:49:47 +02:00
..
2026-03-25 08:34:19 +01:00

Frontend — Patterns validés — Index

Patterns frontend/mobile testés et validés en conditions réelles.

Avant toute proposition frontend, identifie le fichier dont le nom et la description matchent le domaine traité, puis lis-le.


Fichier Domaine Entrées clés
state.md State management, UI states, Zustand, listes paginées, refactor monolithe Vue États UI loading/empty/error, séparation server/client state, refresh idempotent, UI admin légère, refactor monolithe Vue sous-lots Go/No-Go, convention pages/<module>/, styles.css partagé non-scoped, annuaire client-side TTL, race-token partagé (latest-wins), capture synchrone before async, event bus via timestamp, clé de cache composite, loadings séparés initial/pagination, flags d'état séparés par préoccupation, dérivé = computed, une source deux vues lecture inerte, noyau visuel générique + variants
forms.md Formulaires, validation, Server Actions, optimistic UI Formulaire robuste, toggle optimiste rollback, Server Action retourne entité, AppInput Outlined Material thème dark, fusion DRY composants jumeaux par prop discriminante
navigation.md Navigation, routing, Expo Router, intégrations tierces Navigation réactive post-action async, link-out page locale canonique, factorisation page mode dynamique via meta.mode typé, tab bar native cachée (wiring routing pur), état UI éphémère via useFocusEffect, routes typées Href, stack indépendant par tab, routing décorrélé du rendu (builder pur)
design-tokens.md Design tokens, typographie, spacing, Tailwind, RN StyleSheet Tokens TypeScript Expo/RN, typography sémantique, export styles composant, grilles 2 colonnes, palette light/dark MD3 + useThemedColors + dual export, map sémantique slug → token, migration tokens typo formalisés
nextjs.md Next.js App Router, embeds, ESLint Click-to-load embeds tiers, ESLint flat config Next.js
tests.md Tests styles React Native, smoke checks, mount + mock composable Tests de styles sans renderer JSX, smoke checks readFileSync, classe CSS modifier vs texte, cleanup E2E best-effort, helpers SW purs, mount + mock composable, assertions React Email, garde-fous de non-activation feature parking Later
general.md Focus visible, inputs date HTML5, journaux/audit logs, pages admin, composants génériques Focus visible interne pour overflow clip, restyle global <input type="date">, UI patterns journaux d'audit, structuration pages admin, reset défensif pointer events, modale dédiée vs partagée, fail-fast branche unreachable __DEV__, extension rétrocompatible vs sibling, CTA toggle async préserver l'état, helpers fail-safe data backend, prop de raccourci, compositions sémantiques utilisées, touch target 44 minWidth+minHeight, helpers temps/date purs, avatar initiale pastel, composants génériques + états de chargement (EmptyState/Skeleton)