Files
Momento/memento-note/extension/README.md
Antigravity 96e7902f01
Some checks failed
CI / Lint, Unit Tests & Build (push) Failing after 1m22s
CI / Deploy production (on server) (push) Has been skipped
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
2026-06-28 07:32:57 +00:00

53 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Memento Web Clipper — extension Chrome
Clipper web avec **panneau latéral** : le panneau reste ouvert pendant que vous surlignez du texte sur la page.
## Langues
Lextension suit la **langue de linterface Chrome** (`chrome.i18n.getUILanguage`) — 15 locales comme lapp Memento : `de`, `en`, `es`, `fr`, `it`, `pt`, `nl`, `pl`, `ru`, `zh`, `ja`, `ko`, `ar`, `fa`, `hi`.
Fichiers : `extension/_locales/<lang>/messages.json`. Régénération : `node extension/i18n/generate-translations.cjs` puis `node extension/scripts/build-extension-locales.mjs`.
## Installation (dev)
1. Chrome → `chrome://extensions`
2. **Mode développeur****Charger lextension non empaquetée** → dossier `memento-note/extension`
3. Épingle licône Memento
> Chrome **114+** requis (Side Panel API).
## Instance Memento
- **Dev** : icône ⚙ → URL (`http://localhost:3000` ou IP LAN) → **Appliquer & reconnecter**
- Connectez-vous sur **la même URL** dans Chrome (Google OAuth)
- **Production (build Store)** : mettre `ALLOW_INSTANCE_CONFIG = false` dans `sidepanel.js` → URL `https://memento-note.com` en dur, réglages masqués
## Utilisation
1. Ouvrez une page web normale (pas `chrome://`)
2. Cliquez licône Memento → panneau latéral
3. Choisissez le **carnet** (liste hiérarchique)
4. Optionnel : surlignez du texte → **Clipper la sélection** (bouton sky)
5. Ou **Clipper cette page** (article complet + IA)
6. Ou **Enregistrer le lien seul**
7. **Aperçu** : titre éditable, résumé, extrait, temps de lecture → **Enregistrer dans Memento**
## Dépannage
| Problème | Solution |
|----------|----------|
| Carnets vides / 401 | **Ouvrir Memento ↗** sur la même URL, connectez-vous |
| `localhost` vs `127.0.0.1` | Utilisez **toujours la même** URL partout (cookies session) |
| Pas de sélection | Rechargez la page après install extension ; surlignez sur la page, pas dans le panneau |
| Page Chrome système | Impossible — ouvrez un site http(s) normal |
## Persan / RTL
Détection automatique `dir` / `lang` (ex. BBC Persian), aperçu RTL avec Vazirmatn.
## APIs
- `GET /api/clip/notebooks`
- `POST /api/clip/analyze`
- `POST /api/clip/save`