All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 15s
- Rewrite mcp-server/README.md: clean structure, auth section, 22 tools - Rewrite N8N-CONFIG.md: remove hardcoded IPs, add x-api-key auth flow - Rewrite N8N-WORKFLOWS.md: simplified, removed AI proxy tool references - Update README.md/README.fr.md: 37→22 tools, add auth mention - Update GUIDE.md/GUIDE.en.md: remove AI/API key tool tables, add auth - Update DEPLOY.md: SSE → Streamable HTTP in architecture diagram Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
207 lines
6.1 KiB
Markdown
207 lines
6.1 KiB
Markdown
# Memento
|
|
|
|
Une application de prise de notes intelligente et powered by IA. Comme Google Keep, mais avec des notebooks, la recherche semantique, des agents IA et un serveur MCP integre.
|
|
|
|
**[Read in English](README.md)** | **[Guide complet](GUIDE.md)**
|
|
|
|
---
|
|
|
|
## Fonctionnalites
|
|
|
|
**Notes et organisation**
|
|
- Notes texte, checklists et Markdown (avec LaTeX/KaTeX)
|
|
- Notebooks avec labels contextuels
|
|
- Grille masonry responsive avec drag-and-drop
|
|
- Upload d'images, partage de notes, archive et corbeille
|
|
- 10 themes pastel + mode sombre
|
|
|
|
**IA et automatisation**
|
|
- Recherche semantique par embeddings
|
|
- Generation automatique de tags et suggestions de titre
|
|
- Agents IA configurables avec instructions personnalisees
|
|
- Conversations chat IA persistees
|
|
- Memory Echo - decouverte de connexions entre notes
|
|
- Organisation automatique par batch et labels intelligents
|
|
- Resumes de notebooks generes par IA
|
|
- Workflows visuels
|
|
|
|
**Integrations**
|
|
- Serveur MCP avec **22 outils** - connecter Claude Desktop, N8N, ou tout client MCP
|
|
- API REST pour integrations personnalisees
|
|
- Support de flux RSS
|
|
- Tableau blanc Canvas/Lab (Excalidraw)
|
|
|
|
**Plateforme**
|
|
- 15 langues (FR, EN, AR, DE, ES, FA, HI, IT, JA, KO, NL, PL, PT, RU, ZH)
|
|
- Progressive Web App (PWA)
|
|
- Systeme de rappels avec recurrence
|
|
- Export/import de donnees (JSON)
|
|
- Panneau admin pour providers IA, SMTP et parametres
|
|
|
|
---
|
|
|
|
## Demarrage rapide
|
|
|
|
### Docker (recommande)
|
|
|
|
```bash
|
|
git clone https://github.com/yourusername/Momento.git
|
|
cd Momento
|
|
|
|
cp .env.docker.example .env.docker
|
|
|
|
# Modifier ces deux valeurs obligatoires :
|
|
# NEXTAUTH_URL="http://VOTRE_IP_SERVEUR:3000"
|
|
# NEXTAUTH_SECRET="generer avec : openssl rand -base64 32"
|
|
|
|
docker compose up -d
|
|
```
|
|
|
|
Ouvrir `http://localhost:3000` - le premier utilisateur inscrit devient admin.
|
|
|
|
### Developpement local
|
|
|
|
```bash
|
|
git clone https://github.com/yourusername/Momento.git
|
|
cd Momento/memento-note
|
|
|
|
cp .env.example .env
|
|
# Editer .env avec DATABASE_URL, NEXTAUTH_SECRET, etc.
|
|
|
|
npm install --legacy-peer-deps
|
|
npx prisma migrate dev
|
|
npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
## Providers IA
|
|
|
|
Memento supporte trois providers IA, configurables independamment pour les tags, embeddings et chat :
|
|
|
|
| Provider | Type | Configuration |
|
|
|----------|------|---------------|
|
|
| **Ollama** | Local, gratuit | `docker compose --profile ollama up -d` |
|
|
| **OpenAI** | Cloud, payant | Definir `OPENAI_API_KEY` |
|
|
| **Custom** | OpenRouter, Groq, Together, Mistral... | Definir `CUSTOM_OPENAI_API_KEY` + `CUSTOM_OPENAI_BASE_URL` |
|
|
|
|
Exemple avec Ollama :
|
|
```bash
|
|
# .env.docker
|
|
AI_PROVIDER_TAGS=ollama
|
|
AI_PROVIDER_EMBEDDING=ollama
|
|
OLLAMA_BASE_URL="http://ollama:11434"
|
|
AI_MODEL_TAGS="granite4:latest"
|
|
AI_MODEL_EMBEDDING="embeddinggemma:latest"
|
|
```
|
|
|
|
Tous les parametres IA sont aussi configurables depuis le panneau admin `/admin/settings`.
|
|
|
|
---
|
|
|
|
## Serveur MCP
|
|
|
|
Connecter des agents IA a vos notes via le Model Context Protocol.
|
|
|
|
```json
|
|
// claude_desktop_config.json
|
|
{
|
|
"mcpServers": {
|
|
"memento": {
|
|
"command": "docker",
|
|
"args": ["exec", "-i", "memento-mcp", "node", "index.js"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**22 outils disponibles** - CRUD notes, notebooks, labels, rappels, recherche, export/import. Chaque cle API est scopee a un utilisateur : seules ses notes sont accessibles.
|
|
|
|
Pour N8N ou clients HTTP, utiliser le mode HTTP Streamable : `http://localhost:3001/mcp` avec le header `x-api-key`.
|
|
|
|
---
|
|
|
|
## Stack technique
|
|
|
|
| Couche | Technologie |
|
|
|--------|-------------|
|
|
| Framework | Next.js 16, React 19, TypeScript 5 |
|
|
| Style | Tailwind CSS 4, shadcn/ui |
|
|
| Base de donnees | PostgreSQL 16, Prisma ORM 5 |
|
|
| Auth | NextAuth.js v5 |
|
|
| IA | Vercel AI SDK (OpenAI, Ollama, Custom) |
|
|
| MCP | @modelcontextprotocol/sdk |
|
|
| Email | Nodemailer (SMTP) / Resend |
|
|
|
|
---
|
|
|
|
## Documentation
|
|
|
|
Pour le guide complet d'installation, deploiement et configuration, voir **[GUIDE.md](GUIDE.md)**.
|
|
|
|
---
|
|
|
|
## Structure du projet
|
|
|
|
```
|
|
Momento/
|
|
├── docker-compose.yml # Orchestration multi-conteneurs
|
|
├── .env.docker.example # Template environnement Docker
|
|
├── memento-note/ # Application Next.js
|
|
│ ├── app/ # App Router (pages, actions, API)
|
|
│ ├── components/ # Composants React
|
|
│ ├── lib/ # Logique metier (IA, DB, mail, i18n)
|
|
│ ├── prisma/ # Schema + migrations
|
|
│ ├── locales/ # 15 fichiers i18n
|
|
│ └── Dockerfile # Build multi-stage
|
|
├── mcp-server/ # Serveur MCP (22 outils)
|
|
│ ├── index.js # Mode stdio
|
|
│ ├── index-sse.js # Mode HTTP Streamable
|
|
│ ├── tools.js # Definitions des outils
|
|
│ ├── auth.js # Authentification par cle API
|
|
│ └── Dockerfile # Build conteneur
|
|
└── n8n-memento-workflow.json # Workflow N8N preconfigure
|
|
```
|
|
|
|
---
|
|
|
|
## Variables d'environnement
|
|
|
|
Voir [.env.docker.example](.env.docker.example) pour la liste complete. Variables cles :
|
|
|
|
| Variable | Requis | Description |
|
|
|----------|--------|-------------|
|
|
| `NEXTAUTH_URL` | Oui | URL publique de l'app |
|
|
| `NEXTAUTH_SECRET` | Oui | Secret JWT (`openssl rand -base64 32`) |
|
|
| `POSTGRES_PASSWORD` | Rec. | Mot de passe PostgreSQL (defaut : `memento`) |
|
|
| `AI_PROVIDER_TAGS` | Non | Provider IA pour tags : `ollama`, `openai`, `custom` |
|
|
| `OPENAI_API_KEY` | Si OpenAI | Cle API OpenAI |
|
|
|
|
---
|
|
|
|
## Contribuer
|
|
|
|
Les contributions sont bienvenues !
|
|
|
|
- **Rapports de bugs** : [Ouvrir une issue](https://github.com/yourusername/Momento/issues)
|
|
- **Idees de fonctionnalites** : [Lancer une discussion](https://github.com/yourusername/Momento/discussions)
|
|
- **Pull requests** : Fork, creer une branche, et soumettre une PR
|
|
|
|
---
|
|
|
|
## Soutenir
|
|
|
|
Si Memento vous est utile, pensez a soutenir son developpement :
|
|
|
|
- **[Ko-fi](https://ko-fi.com/yourusername)** - Soutien ponctuel ou mensuel
|
|
- **[GitHub Sponsors](https://github.com/sponsors/yourusername)** - Parrainage recurrent
|
|
- **Star le repo** - C'est gratuit et ca aide la visibilite
|
|
|
|
---
|
|
|
|
## Licence
|
|
|
|
Apache License 2.0 avec Commons Clause Restriction.
|
|
|
|
Usage personnel, educatif et non-commercial libre. Usage commercial soumis a autorisation ecrite de l'auteur. Voir [LICENSE](LICENSE) pour les details.
|