Epic 6: Stories 6-2 (Markdown roundtrip) + 6-3 (Brainstorm PPTX + Canvas)
Some checks failed
CI / Lint, Unit Tests & Build (push) Successful in 5m37s
CI / Deploy production (on server) (push) Has been cancelled

Story 6-2 — Markdown roundtrip export/import:
- lib/editor/markdown-export.ts: tiptapHTMLToMarkdown, markdownToHTML, looksLikeMarkdown
- lib/editor/markdown-paste-extension.ts: TipTap extension paste Markdown → blocs
- note-editor-toolbar.tsx: export .md + import .md (file picker)
- rich-text-editor.tsx: intégration MarkdownPasteExtension
- 40 tests unitaires markdown-export.test.ts

Story 6-3 — Brainstorm PPTX + Canvas:
- lib/brainstorm/export-pptx.ts: génération PPTX 5 slides (pptxgenjs)
- app/api/brainstorm/[sessionId]/export-pptx/route.ts: route POST protégée
- brainstorm-page.tsx: bouton PPTX, auto-select session, fix emoji, fix router.replace
- wave-canvas.tsx: fitTrigger recentrage, légende bas-droite

Onboarding activation wizard (Story 6-1):
- components/onboarding/: wizard multi-étapes, hints éditeur
- app/api/onboarding/: route PATCH onboarding
- prisma/migrations: champs onboarding user

Locales: 15 langues mises à jour (brainstorm, markdown, onboarding keys)
Sprint: 6-1 done, 6-2 review, 6-3 review

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Antigravity
2026-05-29 11:24:56 +00:00
parent dae56187fc
commit 6b4ed8514f
49 changed files with 5215 additions and 66 deletions

View File

@@ -2433,7 +2433,12 @@
"Italiano": "Italien",
"Chinois": "Chinois",
"Japonais": "Japonais"
}
},
"exportMarkdown": "Exporter en Markdown",
"importMarkdown": "Importer un Markdown",
"markdownExportSuccess": "Note exportée en Markdown",
"markdownExportError": "Échec de l'export de la note",
"markdownImportSuccess": "Markdown importé avec succès"
},
"flashcards": {
"generateTitle": "Générer des flashcards",
@@ -2796,7 +2801,16 @@
"ideasCount": "idées",
"star": "Mettre en favori",
"unstar": "Retirer des favoris",
"renameSession": "Renommer la session"
"renameSession": "Renommer la session",
"downloadPptx": "PPTX",
"downloadPptxDesc": "Télécharger en PowerPoint",
"pptxSuccess": "PPTX téléchargé",
"pptxError": "Échec de l'export PPTX",
"fitToScreen": "Recentrer",
"legendWave1": "Variations",
"legendWave2": "Analogies",
"legendWave3": "Disruptions",
"legendConverted": "Convertie"
},
"byokSettings": {
"title": "Vos clés API (BYOK)",
@@ -3465,5 +3479,96 @@
"notesLoadError": "Erreur de chargement des notes",
"defaultOption1": "Option 1",
"defaultOption2": "Option 2"
},
"onboarding": {
"welcome_title": "Votre mémoire augmentée par l'IA",
"welcome_subtitle": "Momento se souvient de ce que vous oubliez.",
"welcome_cta": "Commencer",
"skip": "Passer",
"step_notes_title": "Vos notes",
"step_notes_empty": "Vous n'avez pas encore de notes. Importez les vôtres ou commencez avec des exemples.",
"step_notes_import": "Importer mes notes",
"step_notes_demo": "Créer 5 notes d'exemple",
"step_notes_has_notes": "Vous avez déjà {count} notes ! Découvrons la magie.",
"step_notes_cta": "Mes notes sont prêtes",
"step_aha_title": "Retrouvez ce que vous avez oublié",
"step_aha_subtitle": "Tapez une question. Retrouvez une note oubliée.",
"step_aha_placeholder": "notes sur ma productivité...",
"step_aha_cta": "Explorer Momento",
"progress": "{current} sur {total}",
"creating_demo_notes": "Création des notes d'exemple...",
"demo_notes_ready": "5 notes d'exemple créées !",
"badge_credits": "⚡ {count} crédits restants",
"badge_upgrade": "Passer en Pro →",
"no_results": "Aucun résultat — essayez une autre requête.",
"search_credit_used": "1 recherche utilisée",
"quota_exceeded": "Quota de recherche atteint — passez en Pro pour illimité.",
"step_aha_search_button": "Chercher",
"step_aha_search_aria": "Rechercher dans vos notes",
"step_notes_hint": "💡 Ces notes alimenteront la démo de recherche IA à l'étape suivante.",
"step_features_title": "Vos super-pouvoirs IA",
"step_features_subtitle": "Choisissez par où commencer.",
"step_features_cta": "C'est parti !",
"feature_search_title": "Recherche sémantique",
"feature_search_desc": "Retrouvez n'importe quelle note par sens, pas seulement par mot-clé.",
"feature_flashcards_title": "Flashcards IA",
"feature_flashcards_desc": "Générez des cartes de révision SRS depuis vos notes en un clic.",
"feature_brainstorm_title": "Brainstorm IA",
"feature_brainstorm_desc": "Séances de brainstorming collaboratif alimentées par l'IA.",
"feature_chat_title": "Chat avec vos notes",
"feature_chat_desc": "Posez des questions à votre base de connaissances personnelle.",
"feature_insights_title": "Insights sémantiques",
"feature_insights_desc": "Découvrez les connexions cachées entre vos idées.",
"feature_export_title": "Export Markdown",
"feature_export_desc": "Importez et exportez vos notes au format Markdown standard.",
"welcome_title_name": "Bonjour {name} 👋",
"import_formats": "Formats acceptés : .md, .txt",
"import_error": "Impossible d'importer certains fichiers. Réessayez.",
"import_notes_ready": "{count} note(s) importée(s) !",
"action_write_title": "Écrire votre première vraie note",
"action_write_desc": "Créez une note et commencez à capturer vos idées.",
"action_flashcards_title": "Générer vos premières flashcards",
"action_flashcards_desc": "Ouvrez une note et cliquez sur le bouton flashcards.",
"action_brainstorm_title": "Lancer un brainstorm IA",
"action_brainstorm_desc": "Explorez vos idées avec un agent IA dédié.",
"action_try": "Essayer",
"step_features_cta_all": "Tout est prêt — on plonge !",
"action_write_where": "Fermez ce menu → cliquez sur \"+ Nouvelle note\" dans la barre latérale",
"action_flashcards_where": "Fermez ce menu → ouvrez une note → bouton 🃏 dans la toolbar",
"action_brainstorm_where": "Fermez ce menu → section \"Canvas\" dans la barre latérale",
"pill_resume": "✨ Reprendre la visite",
"action_done": "Testé !",
"editor_hints_title": "Astuces éditeur",
"editor_hints_got_it": "C'est compris !",
"hint_slash_title": "Commande \"/\" — insérer des blocs",
"hint_slash_desc": "Dans l'éditeur, tapez \"/\" pour ouvrir le menu de blocs : titre, liste, code, tableau, liste de tâches, et les commandes IA (Clarifier, Raccourcir, Améliorer, Développer).",
"hint_ai_title": "Assistant IA intégré",
"hint_ai_desc": "Cliquez sur le bouton ✨ dans la barre d'outils pour ouvrir le panneau IA — posez des questions, résumez, réécrivez ou brainstormez directement dans votre note.",
"hint_version_title": "Historique des versions",
"hint_version_desc": "Cliquez sur le bouton ⓘ dans la barre d'outils → onglet \"Versions\". Activez le versionnage, puis sauvegardez et restaurez des captures de votre note à tout moment.",
"hint_flashcards_title": "Générer des flashcards",
"hint_flashcards_desc": "Cliquez sur le bouton 🎓 dans la barre d'outils pour générer automatiquement des flashcards depuis votre note, pour une révision en répétition espacée.",
"hint_links_title": "Liens entre notes",
"hint_links_desc": "Tapez \"[[\" dans l'éditeur pour rechercher et lier une autre note. Les notes liées apparaissent comme rétroliens en bas de la note.",
"hint_create_note_title": "Créer une note",
"hint_create_note_desc": "Cliquez sur le bouton \"+\" dans la barre latérale pour créer une nouvelle note, puis commencez à écrire.",
"hint_flip_title": "Retourner la carte",
"hint_flip_desc": "Appuyez sur Espace (ou cliquez sur la carte) pour la retourner et révéler la réponse.",
"hint_rate_keys_title": "Noter au clavier",
"hint_rate_keys_desc": "Après avoir retourné la carte, appuyez sur 1 (Difficile), 2 (Laborieux), 3 (Bien) ou 4 (Facile) pour noter. L'algorithme SM-2 planifie automatiquement votre prochaine révision.",
"hint_generate_from_note_title": "Générer depuis une note",
"hint_generate_from_note_desc": "Ouvrez n'importe quelle note et cliquez sur le bouton 🎓 dans la barre d'outils pour générer automatiquement des flashcards depuis son contenu.",
"hint_brainstorm_start_title": "Démarrer avec une idée",
"hint_brainstorm_start_desc": "Tapez un concept ou une question dans le champ de saisie et appuyez sur Entrée. L'IA génère un ensemble d'idées autour de ce thème.",
"hint_brainstorm_deepen_title": "Approfondir une idée",
"hint_brainstorm_deepen_desc": "Cliquez sur n'importe quelle carte d'idée pour l'approfondir avec des sous-idées et l'explorer davantage.",
"hint_brainstorm_export_title": "Exporter la session",
"hint_brainstorm_export_desc": "Une fois terminé, exportez toute la session de brainstorm sous forme de note structurée sauvegardée dans votre carnet.",
"hint_insights_clusters_title": "Clusters de notes",
"hint_insights_clusters_desc": "Vos notes sont automatiquement regroupées en clusters thématiques. Cliquez sur un cluster pour explorer les notes qu'il contient.",
"hint_insights_bridge_title": "Notes ponts",
"hint_insights_bridge_desc": "Les notes ponts relient plusieurs clusters. Elles sont mises en avant car elles constituent les connexions clés de votre graphe de connaissances.",
"hint_insights_refresh_title": "Rafraîchir les clusters",
"hint_insights_refresh_desc": "Si vous avez ajouté de nouvelles notes, cliquez sur le bouton de rafraîchissement pour recalculer les clusters avec le contenu le plus récent."
}
}