mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
Refonte Structure
This commit is contained in:
11
knowledge/product/patterns/README.md
Normal file
11
knowledge/product/patterns/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Product — Patterns validés — Index
|
||||
|
||||
Patterns de cadrage produit, priorisation et analyse fonctionnelle validés sur des projets réels.
|
||||
|
||||
Avant toute proposition produit, identifie le fichier dont le nom et la description matchent le domaine traité, puis lis-le.
|
||||
|
||||
---
|
||||
|
||||
| Fichier | Domaine | Entrées clés |
|
||||
|---------|---------|--------------|
|
||||
| `general.md` | Cadrage, roadmap, architecture fonctionnelle V1 | Epic UI Fondation prérequis bloquant, Progression V1 sans module dédié |
|
||||
72
knowledge/product/patterns/general.md
Normal file
72
knowledge/product/patterns/general.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Product — Patterns validés : Général
|
||||
|
||||
> Extrait de la base de connaissance Lead_tech. Voir `knowledge/product/patterns/README.md` pour l'index complet.
|
||||
|
||||
---
|
||||
|
||||
<a id="pattern-epic-ui-fondation"></a>
|
||||
## Pattern : Epic UI Fondation — prérequis bloquant avant Epic 1
|
||||
|
||||
- Objectif : éviter les régressions et la dette de migration générées par l'insertion tardive d'un epic de fondation UI.
|
||||
- Contexte : app mobile ou SPA avec un design system à créer (design tokens + composants primitifs).
|
||||
- Quand l'utiliser : dès qu'un epic design tokens / composants de base existe dans la roadmap.
|
||||
- Quand l'éviter : si le design ad-hoc est un choix délibéré assumé (prototype jetable, MVP ultra-contraint).
|
||||
- Avantage :
|
||||
- les screens livrés ultérieurement utilisent d'emblée les bons tokens et composants
|
||||
- pas de double système d'espacement ni de migration de composants partagés en cours de route
|
||||
- les composants primitifs (Button, FilterChip...) sont stables avant d'être utilisés partout
|
||||
- Limites / vigilance :
|
||||
- si l'insertion tardive est inévitable, prévoir une story de smoke test explicite sur tous les parcours critiques refactorisés
|
||||
- Validé le : 19-03-2026
|
||||
- Contexte produit : App mobile / early stage — app-alexandrie rétrospective Epic 0
|
||||
|
||||
### Description
|
||||
|
||||
Un Epic "UI Fondation" inséré après Epic 1 (ou plus tard) génère trois risques spécifiques :
|
||||
|
||||
1. **Régression sur screens livrés** : les fichiers refactorisés avaient déjà une logique métier validée — toute modification structurelle rouvre un risque de régression.
|
||||
2. **Composants partagés modifiés** : migrer `Button`, `FilterChip` de `TouchableOpacity` vers `Pressable` après utilisation partout est un breaking change API silencieux.
|
||||
3. **Double système de tokens** : les screens livrés avaient adopté les anciennes constantes — la migration est une dette qui s'accumule à chaque epic.
|
||||
|
||||
**Règle** : L'Epic UI Fondation (tokens + composants primitifs) est un **prérequis bloquant de Epic 1**. Il doit être fait en tout premier, avant toute logique métier — ou ne pas être fait du tout (accepter le design ad-hoc).
|
||||
|
||||
### Checklist (insertion tardive inévitable)
|
||||
|
||||
- [ ] Story de smoke test explicite sur tous les parcours critiques touchés
|
||||
- [ ] Grep systématique des usages des composants modifiés avant merge
|
||||
- [ ] Vérification que l'ancien système de tokens est entièrement purgé (`grep from '@/constants/theme'`)
|
||||
|
||||
---
|
||||
|
||||
<a id="pattern-progression-v1-sans-module"></a>
|
||||
## Pattern : Progression V1 sans module dédié — calcul depuis la source de vérité
|
||||
|
||||
- Objectif : exposer une feature de progression/gamification sans créer prématurément un domaine `achievements` ou `analytics`.
|
||||
- Contexte : produit early-stage avec une source de vérité existante (`content`, `billing`, `posts`...) et un besoin de progression MVP.
|
||||
- Quand l'utiliser : première itération d'une feature de progression, objectifs, stats utilisateur.
|
||||
- Quand l'éviter : si les compteurs sont déjà complexes, multi-sources ou nécessitent une persistance d'état (ex : streaks, badges conditionnels).
|
||||
- Avantage :
|
||||
- zéro scope creep — pas de tables `achievements` ni de service dédié en avance de phase
|
||||
- logique explicite et testable en code, pas en DB
|
||||
- couture propre vers un module `achievements` réel si le besoin se confirme
|
||||
- Limites / vigilance :
|
||||
- ne convient pas si les calculs de période sont coûteux à chaque appel — à surveiller sur le volume
|
||||
- la couture vers les sources futures doit être prévue dès le départ (pas de calcul hardcodé sur une seule table)
|
||||
- Validé le : 10-03-2026
|
||||
- Contexte produit : App mobile / early stage — app-alexandrie
|
||||
|
||||
### Description
|
||||
|
||||
Plutôt que d'ouvrir un domaine `achievements` ou `analytics` dès la V1 :
|
||||
|
||||
1. **Garder l'agrégat dans le domaine métier source de vérité** (`content`, `billing`, etc.)
|
||||
2. **Calculer les compteurs de période** (`thisWeek`, `thisMonth`) directement en base via `count` / agrégations filtrées
|
||||
3. **Centraliser le catalogue d'objectifs en code** — explicite, versionné, testable
|
||||
4. **Prévoir des coutures zéro-safe** pour les sources futures (`contributions`, `posts`...) sans inventer les tables en avance
|
||||
|
||||
### Checklist
|
||||
|
||||
- [ ] Aucune table `achievements` / `progress` créée sans besoin confirmé
|
||||
- [ ] Compteurs calculés depuis la source de vérité existante
|
||||
- [ ] Catalogue d'objectifs en code (pas en DB)
|
||||
- [ ] Interface de sortie stable même si les sources de données évoluent
|
||||
Reference in New Issue
Block a user