Application de prise de notes auto-hébergée
Déployez rapidement l'application de prise de notes auto-hébergée memos avec Docker. Découvrez ses fonctionnalités simples - Markdown, checklists, tags et collage d'images.
Traduction automatique
Cet article fait partie de la série Auto-héberger vos propres services :
Journal des modifications

Cet article présente « memos », une application de prise de notes auto-hébergée, légère et simple, parfaite pour les rappels et les tâches quotidiennes d'un développeur. Le guide détaille pas à pas l'installation de memos avec une configuration Docker Compose personnalisée, en insistant sur la persistance des données et les bonnes permissions de fichiers. Vous verrez comment démarrer, créer des notes en Markdown et avec des checklists, les organiser avec des tags et utiliser des filtres avancés appelés « shortcuts ». L'article met aussi en avant des fonctionnalités pratiques comme le collage direct d'images dans vos notes.
Comme développeur, je travaille toute la journée sur un ordinateur et parfois (trop souvent en fait), en fin de journée, je m'envoie un email pour le moi de demain : N'oublie pas de ..., tu dois continuer [une tâche], je me suis arrêté à [un fichier], je dois continuer les autres. Bref, j'utilise ma boîte de réception comme un gestionnaire de to-dos / pense-bêtes.
Peut-on faire mieux ? Bien sûr, mais quel outil choisir ?
Ce que j'aimerais : pouvoir écrire des notes très facilement, que certaines notes soient des tâches (une case à cocher me suffit) et pouvoir copier/coller des images comme une capture d'écran.
Idéalement, j'aimerais avoir un site web local que je peux consulter chaque jour comme pense-bête.
La simplicité est la clé.
Il existe énormément d'applications mais, comme j'ai vraiment besoin d'un outil simple et rapide (c'est la fin de journée, je dois filer prendre mon train, hop hop, quelques secondes, ok, la note pour demain est créée), j'ai essayé memos et je l'apprécie beaucoup.

Installons memos
Cette fois, je ne vais pas proposer d'utiliser le dossier temporaire puisque nous devrons conserver nos notes, nos images collées, ... sur notre disque pendant les prochains jours, semaines ou mois. Cela se fait avec un Docker volume : le container peut être détruit et recréé, vos notes restent sur votre disque.
Lancez donc mkdir -p ~/tools/memos && cd $_ pour créer un dossier dans votre répertoire personnel et vous y rendre.
Ensuite, créez un fichier appelé compose.yaml avec ce contenu :
name: tools
services: memos: image: neosmemo/memos:stable container_name: memos init: true user: ${UID:-1000}:${GID:-1000} ports: - "5230:5230" volumes: - ./data:/var/opt/memos restart: unless-stoppedCe fichier Docker Compose définit un service unique appelé 'memos' qui exécute un conteneur basé sur l'image neosmemo/memos en version stable. Le conteneur est configuré pour s'exécuter avec des permissions utilisateur spécifiques, expose le port 5230, monte un répertoire de données local et redémarre automatiquement en cas d'arrêt inattendu.
Remarque
La ligne user: ${UID:-1000}:${GID:-1000} demande à Docker d'utiliser un utilisateur spécifique (pas root) lors de la création de fichiers sur votre disque.
L'utilisateur 1000:1000, c'est vous dans la plupart des cas, c'est-à-dire votre utilisateur Linux actuel (tapez id -u puis id -g pour récupérer votre ID utilisateur et votre ID de groupe et vous verrez que ce sera 1000 pour les deux).
Si vos IDs ne sont pas 1000, éditez le fichier yaml et mettez les vôtres à la place.
Dans votre console, maintenant, lancez simplement docker compose up --build --detach.
En six secondes à peine, memos a été installé sur ma machine et un container a été créé :

Rendez-vous sur http://localhost:5230 et vous verrez que le site tourne déjà :

Information
Regardez en bas à gauche ; il est possible de choisir une autre langue ; le français est supporté par exemple.
Je vais créer mon compte (admin/admin puisque je travaille sur mon localhost) et je suis prêt à créer ma première note. Ça m'a pris moins d'une minute jusqu'ici.

Cliquez dans la zone d'édition Any thoughts... et commencez à taper votre idée... Par exemple :
**Python Codebase - User Authentication Module:**
- [ ] Implement password hashing using bcrypt.
- [ ] Create user registration endpoint (`/register`).
- [ ] Develop user login endpoint (`/login`) with JWT token generation.

En appuyant sur le bouton Save, la note est créée. C'est propre et, demain, oh chouette, oh oui, c'est vrai, j'ai ces trois choses à faire.
Imaginez qu'on soit demain et que j'aie terminé la première : il me suffit de cocher la case et c'est sauvegardé automatiquement :

Je peux toujours éditer, épingler, supprimer, archiver, ... la tâche via le bouton à trois points :

Créons quelques tâches en plus
Comme vous le voyez, même si c'est optionnel, assignons un ou plusieurs tags à une note. Simplement en utilisant la syntaxe avec le dièse :
**Python Codebase - User Authentication Module:** #python
- [x] Implement password hashing using bcrypt.
- [ ] Create user registration endpoint (`/register`).
- [ ] Develop user login endpoint (`/login`) with JWT token generation.
Investigate and resolve the bug in the budgetary application that occurs when initializing a new financial exercise. #budget
Write the missing documentation for the new user authentication module, covering API endpoints, data models, and setup instructions. #python
Review the Dockerfile for the user authentication service to ensure optimal image size and security practices. #docker #python

Filtrer avec les tags
Quand vous avez utilisé des tags, vous les voyez immédiatement en bas à gauche sous Tags. Cliquez simplement sur un tag pour filtrer dessus. Vous pouvez en cliquer plusieurs si vous voulez. Dans l'exemple ci-dessous, j'ai trois notes pour Python et une seule avec le tag Docker :

Créer des shortcuts
En plus des tags, vous pouvez utiliser des filtres plus sophistiqués, ce que memos appelle des shortcut.

Le filtre utilisé est has_task_list && tag in ["python"].
Maintenant, cliquez simplement sur le filtre pour l'activer. Vous ne verrez qu'une seule tâche (parce que les autres notes avec le tag python n'avaient pas de case à cocher). Vraiment facile non ?
En savoir plus sur l'écriture des filtres
Coller des images
Comme dans n'importe quelle application moderne, copiez l'image dans le presse-papier et collez-la dans la zone de texte. Ajoutez du texte si vous le souhaitez.
Personnalisation
En cliquant sur l'icône de profil en bas à gauche, vous pouvez modifier les paramètres de l'application, par exemple définir Monday comme premier jour de la semaine (pour le calendrier en haut à gauche).
Vous pouvez aussi injecter du CSS / JavaScript pour personnaliser l'apparence de memos.
Conclusions
Comme annoncé en introduction, personnellement, c'est plus que suffisant pour mes besoins. Je voulais quelque chose d'ultra-simple (un onglet dans mon navigateur) et la possibilité d'écrire mes notes très vite (avec le support de Markdown), d'avoir des cases à cocher et de pouvoir copier/coller une capture d'écran.
Memos va un cran plus loin avec la gestion des tags et des shortcuts, et la possibilité de restreindre la to-do list à une période du calendrier.
Et tout ça est 100% gratuit !
Plus d'infos
Consultez le site officiel https://www.usememos.com pour plus d'informations.
Deux autres outils auto-hébergés qui tournent à côté de memos sur ma machine : Heimdall, le dashboard depuis lequel je les ouvre tous, et Uptime Kuma pour le monitoring.
Cet article fait partie de la série Auto-héberger vos propres services :
Chargement des commentaires…




