Files
Momento/memento-note/extension/README.md
Antigravity a7c15e9fc3
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 5m49s
CI / Deploy production (on server) (push) Successful in 24s
feat(privacy+extension): publier la page /privacy et préparer les builds Chrome/Firefox Store
- Nouvelle page /privacy bilingue (FR/EN) avec sélection par Accept-Language
  ou ?lang=, sections complètes (données collectées, IA/BYOK, RGPD, sécurité,
  contact). Style sombre aligné sur la landing (x.ai premium).
- Liens footer landing.footer.legal.* mis à jour vers /privacy dans les 15 locales.
- Extension Web Clipper rendue cross-browser :
  * background.js détecte chrome.sidePanel vs browser.sidebarAction
  * sidepanel.js ajoute un shim chrome<->browser pour Firefox
  * manifest.json inclut sidebar_action + browser_specific_settings.gecko
    + optional_host_permissions (Chrome les ignore)
- Script scripts/build-firefox.mjs pour produire un .xpi signé pour AMO,
  symétrique de build-chrome-store.mjs. Exclusion mutuelle des artefacts
  Chrome/Firefox pour éviter la cross-contamination.
- Branding corrigé : 176 occurrences de 'Momento' -> 'Memento' dans le
  bundle de traductions embarqué.
- Version bumpée 0.3.1 -> 0.4.0.
2026-07-18 09:00:44 +00:00

87 lines
3.3 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)
### Chrome
1. `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).
### Firefox
```bash
# Avec web-ext (https://extensionworkshop.com/)
npx web-ext run --source-dir memento-note/extension
```
Ou via `about:debugging`**Ce Firefox****Charger un module temporaire** → sélectionner `manifest.json`.
> Firefox **115+** requis (MV3 + sidebarAction).
## 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.
## Builds production
Deux scripts produisent des paquets prêts à publier :
```bash
# Chrome Web Store (zip)
node extension/scripts/build-chrome-store.mjs
# → memento-note/extension/memento-web-clipper-chrome-store.zip (~44 Ko, 27 fichiers)
# Firefox Add-ons (xpi)
node extension/scripts/build-firefox.mjs
# → memento-note/extension/memento-web-clipper-firefox.xpi (~44 Ko, 27 fichiers)
```
Chaque build :
- Verrouille `ALLOW_INSTANCE_CONFIG = false` (URL prod en dur)
- Restreint les `host_permissions` à `https://memento-note.com/*`
- Génère les PNG d'icônes depuis `public/icons/icon-{192,512}.svg`
- Exclut les fichiers internes (`i18n/`, `diagnose.js`, `test-sidepanel.html`, etc.)
Différences manifest :
- **Chrome** : `side_panel` (Side Panel API Chrome 114+)
- **Firefox** : `sidebar_action` + `browser_specific_settings.gecko` (Firefox 115+)
## APIs
- `GET /api/clip/notebooks`
- `POST /api/clip/analyze`
- `POST /api/clip/save`