feat: publication IA (magazine/brief/essay) + fixes critique
Publication IA: - 4 templates (magazine, brief, essay, simple) avec CSS riche - Rewrite IA (article/exercises/tutorial/reference/mixed) - Modération avec timeout 12s + fallback safe - Quotas publish_enhance par tier (basic=2, pro=15, business=100) - Détection contenu stale (hash) - Migration DB publishedContent/publishedTemplate/publishedSourceHash Fixes: - cheerio v1.2: Element -> AnyNode (domhandler), decodeEntities cast - _isShared ajouté au type Note (champ virtuel serveur) - callout colors PDF export: extraction fonction pure testable - admin/published: guard note.userId null - Cmd+S fonctionne en mode dialog (pas seulement fullPage) i18n: - 23 clés publish* traduites dans les 15 locales - Extension Web Clipper: 13 locales mise à jour Tests: - callout-colors.test.ts (6 tests) - note-visible-in-view.test.ts (5 tests) - entitlements.test.ts + byok-entitlements.test.ts: mock usageLog + unstubAllEnvs - 199/199 tests passent Tracker: user-stories.md sync avec sprint-status.yaml
This commit is contained in:
@@ -11,11 +11,11 @@
|
||||
|
||||
## Contexte
|
||||
|
||||
Momento dispose d'un moteur IA, d'un éditeur riche, de carnets, et d'un système de quotas. Mais aucun utilisateur nouveau n'est guidé vers l'expérience "Aha!" décrite dans le GTM :
|
||||
Memento dispose d'un moteur IA, d'un éditeur riche, de carnets, et d'un système de quotas. Mais aucun utilisateur nouveau n'est guidé vers l'expérience "Aha!" décrite dans le GTM :
|
||||
|
||||
> *"Tapez une question. Retrouvez une note que vous aviez oubliée."*
|
||||
|
||||
Sans onboarding, le taux d'activation sera faible même avec un produit excellent. Un utilisateur qui arrive sur `/home` sans notes ne comprend pas ce que Momento fait. Le wizard doit :
|
||||
Sans onboarding, le taux d'activation sera faible même avec un produit excellent. Un utilisateur qui arrive sur `/home` sans notes ne comprend pas ce que Memento fait. Le wizard doit :
|
||||
|
||||
1. Créer des **données de démo** (5 notes exemple dans sa langue) si l'utilisateur arrive avec un carnet vide
|
||||
2. Guider vers la **Recherche Sémantique** en 2 clics (l'effet "Aha!")
|
||||
@@ -60,12 +60,12 @@ model User {
|
||||
### US-ONBOARDING-2 : Wizard 3 étapes
|
||||
|
||||
**En tant que** nouvel utilisateur,
|
||||
**Je veux** un guide en 3 étapes courtes qui me montre la valeur de Momento,
|
||||
**Je veux** un guide en 3 étapes courtes qui me montre la valeur de Memento,
|
||||
**Afin de** comprendre pourquoi je devrais utiliser ce produit plutôt qu'un autre.
|
||||
|
||||
#### Étape 1 — "Bienvenue" (10 secondes)
|
||||
- Titre : *"Votre mémoire augmentée par l'IA"*
|
||||
- Sous-titre : *"Momento se souvient de ce que vous oubliez."*
|
||||
- Sous-titre : *"Memento se souvient de ce que vous oubliez."*
|
||||
- CTA : `"Commencer →"` + lien `"Passer l'intro"`
|
||||
|
||||
#### Étape 2 — "Vos notes" (30 secondes)
|
||||
@@ -85,7 +85,7 @@ model User {
|
||||
- FA : *"یادداشتهای بهرهوری"* (RTL)
|
||||
- L'utilisateur clique sur Rechercher → les résultats apparaissent
|
||||
- Afficher badge : `"✨ 1 recherche utilisée sur 30 (Starter Pack)"`
|
||||
- CTA final : `"Je comprends — Explorer Momento"`
|
||||
- CTA final : `"Je comprends — Explorer Memento"`
|
||||
|
||||
#### Critères d'acceptation généraux :
|
||||
- Wizard rendu en overlay (`position: fixed`, z-index élevé) avec fond semi-transparent
|
||||
@@ -177,7 +177,7 @@ model User {
|
||||
{
|
||||
"onboarding": {
|
||||
"welcome_title": "Your AI-augmented memory",
|
||||
"welcome_subtitle": "Momento remembers what you forget.",
|
||||
"welcome_subtitle": "Memento remembers what you forget.",
|
||||
"welcome_cta": "Get started",
|
||||
"skip": "Skip intro",
|
||||
"step_notes_title": "Your notes",
|
||||
@@ -189,7 +189,7 @@ model User {
|
||||
"step_aha_title": "Find what you forgot",
|
||||
"step_aha_subtitle": "Type a question. Find a note you forgot.",
|
||||
"step_aha_placeholder": "notes about productivity...",
|
||||
"step_aha_cta": "Explore Momento",
|
||||
"step_aha_cta": "Explore Memento",
|
||||
"progress": "{current} of {total}"
|
||||
},
|
||||
"starterPack": {
|
||||
|
||||
Reference in New Issue
Block a user