134 lines
4.7 KiB
Markdown
134 lines
4.7 KiB
Markdown
---
|
||
title: flatnotes
|
||
created: 2026-06-07
|
||
updated: 2026-06-07
|
||
type: app
|
||
tags: [catalogue, note-taking, markdown, flatnotes, file-based, docker, minimal]
|
||
confidence: high
|
||
contested: false
|
||
sources: [https://selfh.st/apps/?tag=Note-Taking, https://github.com/dullage/flatnotes, https://github.com/dullage/flatnotes/wiki/Environment-Variables]
|
||
---
|
||
|
||
# 🗒️ flatnotes
|
||
|
||
> **L’application de notes Markdown sans base de données** : simple, légère, centrée sur le contenu et basée sur un dossier plat de fichiers Markdown.
|
||
|
||
## 📋 Informations Générales
|
||
|
||
| Champ | Valeur |
|
||
| :--- | :--- |
|
||
| **Site web** | [GitHub dullage/flatnotes](https://github.com/dullage/flatnotes) |
|
||
| **GitHub** | [dullage/flatnotes](https://github.com/dullage/flatnotes) |
|
||
| **Licence** | MIT |
|
||
| **Langage** | Python |
|
||
| **Étoiles GitHub** | 3.1k ⭐ |
|
||
| **Dernière MAJ** | 2026-02-17 |
|
||
| **Catégorie** | [[cat-note-taking|Note-Taking]] |
|
||
|
||
## 📝 Description
|
||
|
||
**flatnotes** est une application web de **prise de notes Markdown** volontairement **simple** et **sans base de données**. Les notes sont stockées dans un **dossier plat de fichiers Markdown**, ce qui rend l’outil particulièrement intéressant pour ceux qui veulent éviter l’enfermement dans un format propriétaire ou dans une structure complexe.
|
||
|
||
Le projet insiste sur une philosophie très claire : **mettre le contenu en premier**, réduire les distractions et permettre de manipuler les notes **même en dehors de l’application**. L’index de recherche est seulement mis en cache ; les fichiers peuvent être ajoutés, modifiés ou supprimés directement sur disque sans casser le modèle général.
|
||
|
||
flatnotes convient surtout à :
|
||
|
||
- des **notes personnelles Markdown** ;
|
||
- un **wiki personnel léger** ;
|
||
- des utilisateurs qui veulent garder des **fichiers lisibles directement** ;
|
||
- des homelabs cherchant un service simple à maintenir.
|
||
|
||
Points notables :
|
||
|
||
- ✅ **Aucune base de données**
|
||
- ✅ Notes en **fichiers Markdown** simples
|
||
- ✅ **Recherche full-text**
|
||
- ✅ **Wikilinks**
|
||
- ✅ Plusieurs modes d’authentification, dont **TOTP**
|
||
- ⚠️ Pas d’ambition forte côté collaboration ou knowledge graph avancé
|
||
|
||
## 🚀 Installation
|
||
|
||
### Option recommandée : Docker Compose
|
||
|
||
Le README recommande explicitement **Docker** :
|
||
|
||
```yaml
|
||
services:
|
||
flatnotes:
|
||
image: dullage/flatnotes:latest
|
||
container_name: flatnotes
|
||
restart: unless-stopped
|
||
environment:
|
||
PUID: 1000
|
||
PGID: 1000
|
||
FLATNOTES_AUTH_TYPE: password
|
||
FLATNOTES_USERNAME: user
|
||
FLATNOTES_PASSWORD: CHANGE_ME_PASSWORD
|
||
FLATNOTES_SECRET_KEY: CHANGE_ME_LONG_RANDOM_SECRET
|
||
volumes:
|
||
- ./data:/data
|
||
ports:
|
||
- "8080:8080"
|
||
```
|
||
|
||
Puis :
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
### Variables utiles
|
||
|
||
La documentation mentionne notamment :
|
||
|
||
- `FLATNOTES_AUTH_TYPE` : `none`, `read_only`, `password`, `totp`
|
||
- `FLATNOTES_PATH_PREFIX` pour un déploiement sous sous-chemin
|
||
- `FLATNOTES_TOTP_KEY` si vous activez le mode TOTP
|
||
|
||
## ⚙️ Configuration Initiale
|
||
|
||
1. **Créer le dossier `data/`** qui stockera les notes.
|
||
2. **Choisir le mode d’authentification** adapté.
|
||
3. **Définir un `FLATNOTES_SECRET_KEY` aléatoire**.
|
||
4. **Démarrer l’application** sur `http://IP:8080`.
|
||
5. **Créer les premières notes** et tester recherche, tags et wikilinks.
|
||
6. Si besoin, **activer TOTP** puis vérifier le QR code dans les logs du conteneur.
|
||
|
||
## 🔄 Alternatives
|
||
|
||
### Open Source
|
||
- [[app-notediscovery]] — Plus riche visuellement, plus proche d’Obsidian
|
||
- [[app-haptic]] — Plus orienté expérience personnelle moderne Markdown
|
||
- [[app-silverbullet]] — Beaucoup plus programmable
|
||
- [[app-jotty]] — Mélange notes et checklists avec plus de fonctions UI
|
||
- [[app-memos]] — Capture rapide plus sociale/micro-note
|
||
|
||
### Propriétaires
|
||
- **Simplenote**
|
||
- **Bear**
|
||
- **Obsidian Sync**
|
||
- **Notion**
|
||
|
||
## 🔐 Sécurité
|
||
|
||
- ✅ Les notes restent dans un **dossier simple** facile à sauvegarder
|
||
- ✅ Le projet propose **authentification** et **TOTP**
|
||
- ✅ Utilisez un **secret** aléatoire pour les jetons d’accès
|
||
- ✅ Exposez l’instance derrière **HTTPS** si elle sort du réseau local
|
||
- ⚠️ Si vous utilisez `none`, l’instance ne doit pas être publique
|
||
|
||
## 📚 Ressources
|
||
|
||
- [GitHub dullage/flatnotes](https://github.com/dullage/flatnotes)
|
||
- [Wiki flatnotes](https://github.com/dullage/flatnotes/wiki)
|
||
- [Variables d’environnement](https://github.com/dullage/flatnotes/wiki/Environment-Variables)
|
||
- [Démo officielle](https://demo.flatnotes.io/)
|
||
|
||
## Pages Liées
|
||
|
||
- [[cat-note-taking]] — Vue d’ensemble de la catégorie Note-Taking
|
||
- [[app-notediscovery]] — Alternative plus riche
|
||
- [[app-silverbullet]] — Alternative programmable
|
||
- [[app-haptic]] — Alternative Markdown personnelle
|