Files
MaksTinyWorkshop b3417ad77b capitalisation: intégration ~60 entrées RL799_V2 (triage 2026-05-02)
Triage du 95_a_capitaliser.md (~75 propositions) :
- 60 entrées intégrées dans knowledge/ (backend, frontend, workflow)
- 4 nouveaux fichiers : backend/patterns/tests.md, backend/risques/tests.md,
  frontend/patterns/general.md, workflow/patterns/general.md
- 6 doublons rejetés
- Mise à jour des READMEs index pour refléter les nouvelles entrées
- 95_a_capitaliser.md restauré à sa structure initiale
- 40_decisions_et_archi.md : décision mono-tenant déployable vs SaaS multi-tenant
- 90_debug_et_postmortem.md : sub-agents Write indisponible, effet iceberg CI,
  prisma migrate diffs cosmétiques

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 22:12:44 +02:00
..
2026-03-25 08:34:19 +01:00
2026-03-28 12:50:07 +01:00

Frontend — Risques & vigilance — Index

Risques frontend/mobile susceptibles de provoquer des bugs subtils, comportements inattendus, dette technique ou régressions UX.

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
auth.md Auth, guards de rôle, entitlements, OAuth Auth côté client, loading infini écran gated, bouton OAuth vide, guard rôle flash UX
state.md Zustand, state management, erreurs async, optimistic UI Erreurs silencieuses, catch sans feedback, auto-reset état dégradé, fire-and-forget refresh, boolean UI hardcodé, flag isLoading unique, erreur sans rethrow, optimistic update sous-listes
navigation.md Expo Router, Vue Router, deep link, useEffect fetch, contexte store Store vide deep link/reload, guard incomplet états terminaux, collection sans clé contexte, double route racine, router-link disabled, état local query param
design-tokens.md Design tokens, spacing, Tailwind, StyleSheet RN Double système espacement, dimensions via spacing, inline styles dashboard, classes Tailwind invalides
nextjs.md Next.js App Router, SSR, Server Actions, sécurité useSearchParams sans Suspense, type ViewData dupliqué, composant React .ts, double validation segment, consent state ambigu, script inline XSS, window.location.reload, useTransition snapshot, window.confirm, import type server, img natif, useTransition global liste, formulaire defaultValue sans key
tests.md Jest, ts-jest, tests React Native, Vue Config node bloque .tsx, faux test négatif, helpers copiés, test écran indirect, test façade flux réel, tests présence textuelle
performance.md Re-renders, memoization, useCallback, fetch Sur-renders bundle non maîtrisé, useCallback inutile inline, fetch sans timeout
react-native.md React Native, fetch, ScrollView, TextInput Focus ring TextInput, contentInset iOS-only, fetch sans response.ok
general.md Accessibilité, regex, patterns transversaux, monorepo Accessibilité oubliée a11y, regex globale singleton lastIndex, Alert.prompt iOS-only, primitive UI couplée, migration partielle classes legacy, ARIA roles sans clavier, duplication logique métier monorepo, event listeners globaux modales, boutons imbriqués, fire-and-forget sans feedback