Show HN : Heynote, un scratchpad dédié aux développeurs
(heynote.com)- Heynote est un scratchpad de type tampon de texte persistant qui centralise les textes temporaires, réponses d’API, notes de réunion et listes de tâches qui se dispersent pendant le développement
- L’unité de travail est le bloc : on crée un nouveau bloc avec ⌘-Enter, et ⌘-A permet de sélectionner rapidement uniquement le contenu du bloc courant
- En s’appuyant sur le langage défini pour chaque bloc, comme JavaScript, JSON ou Markdown, l’outil applique la coloration syntaxique et le formatage automatique
- Les blocs Math gèrent les variables, fonctions, conversions d’unités et même les conversions de devises, pour enchaîner de petits calculs dans leur contexte
- Avec plusieurs tampons de notes, l’organisation par répertoires, la correspondance avec des fichiers, les images inline et les annotations, l’application vise à réunir l’espace de travail temporaire des développeurs dans une seule app
Scratchpad basé sur des blocs
- La structure de base de Heynote est un grand tampon de texte persistant divisé en plusieurs blocs
- Un nouveau bloc se crée avec ⌘-Enter, et si l’on appuie sur ⌘-A dans un bloc, cela sélectionne uniquement le contenu du bloc courant au lieu du document entier
- Il convient bien pour coller rapidement des éléments qu’il est difficile de conserver temporairement ailleurs
- un brouillon de message Slack qu’on ne veut pas envoyer par erreur
- la réponse JSON d’une API en cours d’utilisation
- des notes de réunion
- une liste de tâches quotidienne
Fonctions de blocs pour le code et la documentation
- Chaque bloc peut avoir son propre paramétrage de langage, comme JavaScript, JSON ou Markdown
- Selon ce paramétrage, la coloration syntaxique est appliquée, et le formatage automatique par bloc est également pris en charge
- Plusieurs langages de programmation sont pris en charge, ce qui permet de manipuler dans un même tampon des extraits de code et des notes de documentation
Bloc Math pour un usage calculatrice
- Le bloc Math peut être utilisé comme un scratchpad de calculatrice pour des calculs simples
- Il prend en charge les variables, fonctions et conversions d’unités, y compris les conversions de devises
- Il est adapté aux calculs rapides « sur un coin de table » sans quitter le flux de prise de notes
Plusieurs tampons et organisation des fichiers
- En plus du tampon Scratch par défaut, on peut créer autant de tampons de notes que souhaité
- Les principaux raccourcis pour travailler avec les tampons sont les suivants
- ⌘-N : créer un nouveau tampon
- ⌘-S : déplacer le bloc courant vers un nouveau tampon
- ⌘-P : basculer rapidement entre les tampons
- Les tampons peuvent être organisés en répertoires, et chaque tampon correspond à un fichier sur le disque
Images et annotations
- Heynote prend en charge les images inline
- On peut coller une image depuis le presse-papiers ou glisser-déposer un fichier image dans un tampon
- Dans l’éditeur, il est possible de sélectionner et redimensionner les images, ainsi que de les remettre rapidement dans le presse-papiers système
- Un outil de dessin léger intégré permet d’ajouter des annotations à main levée sur les images
- Une image annotée peut être mise à jour dans le presse-papiers comme nouvelle version en un clic ou via une touche, puis collée ailleurs
Téléchargement
- La dernière version stable est la 2.9.0
- Les téléchargements pris en charge sont disponibles pour Mac Universal, Mac Arm, Mac Intel, Windows, AppImage et Snap
- Une version bêta, 2.9.1-beta, est également proposée
- L’ensemble des versions est disponible sur All releases
1 commentaires
Avis sur Hacker News
Vraiment excellent. Ça correspond presque exactement à ce que j’attendais d’un scratch pad.
Si je peux ajouter une demande de fonctionnalité, j’aimerais qu’il prenne en charge un flux « inversé » où les nouveaux blocs sont ajoutés en haut de la page plutôt qu’en bas. Un scratch pad s’ouvre toujours en haut, et avec le temps les anciens blocs « coulent » vers le bas, de sorte que le contenu le plus pertinent reste en haut
Ça correspond mieux à ma façon de penser. Cela dit, comme d’autres l’ont dit dans ce fil, je suis aussi d’avis qu’il faut ignorer la plupart de ces demandes de fonctionnalités et préserver la simplicité actuelle. Y compris la mienne
Je vois l’idée du mode « inversé ». Je me demande s’il suffirait de pouvoir configurer
C-Enterpour insérer un nouveau bloc avant le bloc courant, et de faire en sorte que Heynote place le curseur au démarrage au début du buffer plutôt qu’à la fin comme aujourd’huiL’UX idéale serait d’ajouter un nouveau buffer en haut, tout en gardant assez de padding pour remplir la fenêtre afin qu’on ne voie pas les anciens blocs bouger pendant la saisie
Je n’ai pas encore téléchargé l’app, mais c’est peut-être déjà proche de ce fonctionnement. En tout cas, ça a l’air bien et j’ai hâte d’essayer
Je paierais probablement si les conditions suivantes étaient réunies : raccourcis vi, affichage de l’emplacement du fichier pour pouvoir le déplacer ou le synchroniser/sauvegarder entre plusieurs appareils, et tri inversé
Vraiment, vraiment bien
Ça a l’air très sympa. J’aime l’idée des blocs, donc je vais le télécharger pour l’essayer
Comme souvent, il y a beaucoup de discussions sur Electron, donc au cas où tu ne l’aurais pas encore regardé, je voulais juste mentionner Tauri. C’est un outil proche d’Electron, basé sur Rust, qui utilise les webviews système au lieu de Chromium, ce qui réduit pas mal la taille du bundle et l’usage mémoire
D’après le code, il ne semble pas y avoir énormément de code spécifique à Electron, donc si tu veux toucher à Rust, le remplacement n’est peut-être pas si difficile. L’app de montage vidéo que je développais avait commencé sur Electron avant de passer à Tauri en cours de route, et ça s’est plutôt bien passé
Ce n’est pas une demande, tu peux totalement l’ignorer
Après avoir utilisé d’autres outils cross-platform pour mobile, j’avais des attentes très basses, mais en pratique travailler avec Electron a été très agréable et je ne regrette pas ce choix. Presque aucun bug, un gros écosystème, et c’était facile d’automatiser les builds multi-plateformes ainsi que les mises à jour automatiques
J’aime vraiment beaucoup. C’est simple et solidement réalisé. J’avais envie de construire quelque chose de similaire depuis un moment, donc je finirai peut-être par forker ça pour bricoler un peu
En ce moment, dans Obsidian, je crée une nouvelle note chaque jour et je la découpe en « blocs » avec des séparateurs Markdown (
---), mais ça, c’est bien plus propreLa force de cette approche, c’est qu’elle rend la capture extrêmement facile. Il suffit de créer un nouveau bloc et d’écrire immédiatement, sans se demander où le ranger ni comment l’intégrer à une structure existante. Quand on commence à se poser ce genre de questions, on finit souvent par perdre l’idée avant même d’avoir trouvé où la mettre
L’inconvénient, évidemment, c’est de retrouver les choses ensuite. Ce serait bien de pouvoir ajouter des tags ou des titres aux blocs, puis de rechercher par tags ou par titres. Plus ambitieux encore, ce serait génial d’expérimenter avec des LLM et des embeddings pour étiqueter, résumer, classer et regrouper automatiquement les blocs
Il y a beaucoup de directions possibles, mais je suis aussi d’accord avec ceux qui disent qu’il ne faut pas ajouter trop de fonctionnalités au point de perdre la simplicité qui fait l’attrait de départ. Et je me demande aussi comment les performances sont gérées quand le buffer devient très gros
Cela dit, j’ai remarqué quelques petits problèmes de performances avec de très gros blocs dans certains modes de langage
Je viens de le télécharger et de l’installer, et c’est vraiment impressionnant. J’aime bien le concept de bloc mathématique, mais il m’a fallu quelques secondes pour comprendre comment convertir un nouveau bloc en bloc mathématique
La mention
⌘ + L Change block languageen haut ne m’a pas fait penser immédiatement à « changer le type de bloc ». Une légère reformulation comme⌘ + L Change block language (Math, Markdown, etc.)serait utileÀ part ça, je trouve que c’est un excellent projet qui répond exactement à un vrai besoin
J’adore. C’est exactement ce qu’il me fallait. Jusqu’ici, j’utilisais pour ça un groupe WhatsApp où j’étais seul
Côté demandes de fonctionnalités : un paquet Arch, l’inclusion des résultats mathématiques dans
buffer.txtet dans ce qui est copié aprèsCtrl+a, la modification de la police et du thème de couleurs, la prise en charge des images et médias dans les blocs Markdown, des horodatages de bloc, le rechargement de fichier, et une éventuelle version mobilePour les couleurs en particulier, j’aimerais garder une palette minimale comme maintenant, mais avec quelques couleurs configurables plutôt qu’un CSS personnalisé. Pour le collage d’images, ce serait bien d’avoir un comportement comme le Markdown de VS Code : avec
Ctrl+v, l’image est insérée et sauvegardée dans un fichier. Un aperçu Markdown serait sympa aussi, mais je comprends si c’est considéré hors périmètrePour les horodatages, ce serait particulièrement pratique si
createdAtetupdatedAtétaient enregistrés sur la ligne avec le symbole infini dansbuffer.txt, car on pourrait les extraire facilement avecgrepetcut. Tu as dit plus bas que le rechargement de fichier était en cours pour permettre des sauvegardes via Git ou autre, et ça aussi, j’ai hâte de voirJe suis d’accord que ce serait bien que le résultat apparaisse aussi dans
buffer.txt, mais ça me semble plus difficile à cause de détails d’implémentationPour la configuration de la police et du thème de couleurs, pour l’instant je penche plutôt vers une réduction du nombre d’éléments configurables, donc il est peu probable que je l’ajoute
Les horodatages de bloc sont sur la liste des choses à faire, tout comme le rechargement de fichier. Le mobile sera probablement compliqué
Et dans ce cas, certaines notes pourraient même utiliser un CSS plus sophistiqué
C’est vraiment, vraiment bien. L’app a très vite gagné une place permanente dans mon Dock
J’ai une demande pour laquelle je paierais volontiers. Ce serait génial de pouvoir exécuter des blocs de code et produire leur sortie. J’ouvre souvent la console du navigateur pour tester du JS, et pouvoir le faire juste à côté de mes autres notes serait excellent
Ça fait beaucoup penser à org-mode de https://orgmode.org/. Je me demande s’il est prévu d’ajouter des fonctionnalités de type org, comme l’évaluation de blocs de code
Personnellement, je ne pense pas quitter org-mode, mais ce serait bien d’avoir au moins une application unique à recommander aux personnes rebutées par Emacs
Excellent. Pour ce type d’usage, je revenais toujours à TextEdit, mais maintenant je vais essayer Heynote et voir ce que ça donne
Ça fait plaisir de voir ce genre de chose sur HN, comme au bon vieux temps. Je me demande s’il est prévu de prendre en charge les raccourcis vi
Du coup, je me demande si je pourrais obtenir quelque chose de similaire avec un plugin Vim, ou même le faire moi-même. Si c’était dans le terminal, il y aurait aussi l’avantage de pouvoir le laisser dans une session
tmuxpersistante et y accéder à distanceJ’aimerais aussi avoir des retours :)
Dépôt GitHub de Heynote : https://github.com/heyman/heynote
J’ai quelques retours pour améliorer ou clarifier certains points. Je n’ai trouvé le raccourci pour changer de langage qu’après avoir survolé l’élément de barre d’état avec la souris ; il devrait y avoir une entrée de menu qui affiche le raccourci
Le basculement clair/sombre et la vérification des mises à jour ne sont pas des éléments qu’on trouve d’habitude dans la barre d’état d’autres applications ; il vaudrait mieux les mettre dans les réglages. L’application devrait aussi suivre par défaut le mode clair/sombre du système, avec éventuellement une option de surcharge par application
S’il n’y a pas assez de choses à mettre dans la barre d’état, on pourrait même la supprimer complètement. En l’état, on a l’impression qu’elle regroupe un peu de tout juste pour justifier sa présence
L’identité visuelle verte est correcte, mais elle donne une personnalité assez marquée à l’application. Ça vaut peut-être le coup de se demander si l’app doit avoir une personnalité aussi forte. Une palette plus neutre, mieux adaptée à macOS, ou plusieurs couleurs d’accentuation dont une option neutre, pourraient être envisagées
427 MB, c’est énorme. Heureusement, sur les petits documents, l’application ne consomme pas tant de mémoire, mais le bundle est vraiment trop gros pour ce que c’est. Je me demande pourquoi
ffmpegest inclus, si GLES est réellement nécessaire, et si le framework Electron de base dépasse vraiment les 300 MBIl y a une option de keymap, mais après avoir effacé le contenu initial, j’ai perdu la keymap elle-même. Ce serait bien d’avoir une aide intégrée dans l’application ou au moins une page de documentation reliée depuis le menu d’aide
Pouvoir changer de police serait aussi appréciable. Je ne comprends pas non plus le modèle de sauvegarde. Je me demande où les données sont stockées, si c’est contrôlable, si une sauvegarde est nécessaire, ou à quelle fréquence la persistance se fait. J’aimerais aussi savoir s’il est possible de placer ça dans un stockage cloud pour synchroniser entre appareils, et si c’est déjà le cas, si on peut le désactiver
Personnellement, je n’aime pas trop quand une icône d’application contient le nom de l’app. La plupart des apps ne le font pas, donc je proposerais une icône plus discrète
Ou alors une option qui garde la trace de l’heure de création du bloc et l’affiche discrètement quelque part dans l’interface de chaque bloc. Quand on recherche de vieilles notes comme ça, la date est très utile
J’ai vu que quelqu’un demandait des onglets, mais moi, j’aimerais plutôt pouvoir ouvrir plusieurs fenêtres