3 points par GN⁺ 2025-03-16 | 2 commentaires | Partager sur WhatsApp
  • Nash est un carnet autonome au format HTML, qui ne nécessite aucun logiciel ni service supplémentaire.
  • Il suffit d’un navigateur web pour l’utiliser, et il peut être enregistré et modifié hors ligne.
  • Inspiration
    • En implémentant une fonctionnalité permettant de prototyper simplement des idées en POC (Proof of Concept) dans un unique fichier HTML, l’auteur a réalisé qu’il était possible de créer un fichier de document fonctionnant sans service ni logiciel séparé.
    • Il s’agit d’une première tentative de créer un fichier de document qui fonctionne sans logiciel comme Notion ou Word.
  • Obtenir une note vierge
  • Nash est open source, et peut être librement modifié et utilisé.

2 commentaires

 
xguru 2025-03-16

Nash, une note autonome fonctionnant dans un seul fichier HTML

Vous l’aviez publié sur Show GN, puis aussi sur Hacker News, et vous avez reçu beaucoup de votes. Félicitations !

 
GN⁺ 2025-03-16
Commentaires Hacker News
  • J’aime beaucoup ce projet, et en regardant le code source, je trouve génial qu’il soit codé en JS vanilla. De nos jours, on sous-estime combien d’apps web interactives on peut créer sans bibliothèque ni framework.
    • J’aime moi aussi beaucoup l’idée de créer de petites apps web locales dans une seule page HTML. J’ai récemment visité un musée des sciences avec mon enfant et nous avons essayé un petit animateur de stop motion. J’ai décidé de créer une app web de ce genre et de la faire en une seule page HTML, que j’ai copiée sur l’ordinateur portable de mon enfant pour qu’elle puisse être utilisée sans Internet. J’avais la flemme d’écrire du JS vanilla, donc j’ai utilisé React et un bundler. Le tout était regroupé dans un seul fichier HTML. Je la publierai peut-être un jour sur Show HN.
  • Une grande partie du travail lourd est accomplie par cet attribut simple mais puissant. Étonnamment, beaucoup de développeurs semblent mal le connaître. Il existe depuis assez longtemps.
    • <div id="editor" contenteditable="true">
  • Excellent travail.
    • Je vous suggère d’envisager d’ouvrir automatiquement la page en mode édition lorsqu’elle est ouverte depuis un disque local dans le navigateur, et de passer à une vue classique en lecture seule lorsqu’elle est publiée sur le site web de quelqu’un et accessible sur le web ouvert (en vérifiant si l’adresse est en http/https).
    • Bien sûr :
      1. il devrait y avoir un moyen d’ignorer cela (un paramètre de query string ou un fragment d’URL magique), afin de pouvoir aussi l’afficher en mode édition ;
      2. il devrait y avoir une exception pour certains domaines/préfixes d’URL — essentiellement keepworking.github.io (ou https://keepworking.github.io/nash/) — afin que le mode édition y soit également activé. Cela signifie qu’à titre personnel, il n’y aurait rien de spécial à faire pour que la démo fonctionne (cette exception devrait être modifiable par l’utilisateur, pour que d’autres puissent obtenir le même comportement sans utiliser l’astuce du point #1).
  • C’est génial. Nous sommes (ou peut-être seulement moi) tellement habitués à écrire la partie JS d’un site web en dehors du HTML lui-même qu’en voyant ça, je me suis dit : « wow, c’est dingue que ce soit possible uniquement avec du HTML ». Puis j’ai regardé le code source, vu que tout le JS se trouvait dans un bon vieux tag script, et je me suis rappelé que c’était effectivement possible.
  • On peut rendre cela autonome et véritablement portable en utilisant une « vraie » sauvegarde https://rpdillon.net/redbean-tiddlywiki-saver.html
  • J’aimerais que les navigateurs offrent un meilleur support pour les apps web locales. Si les fichiers locaux pouvaient accéder facilement à un stockage persistant, cela ouvrirait beaucoup d’opportunités pour des apps GUI rapides et simples. En gros, l’opposé d’Electron.
  • Beau travail ! Il y a déjà eu une discussion sur cette idée mentionnant TiddlyWiki https://news.ycombinator.com/item?id=43179649
  • Le fait d’appeler cela des « notes » est un peu déroutant. J’appellerais plutôt cela une app web monofichier modifiable et éditable.
  • Suggestion : il faudrait avertir l’utilisateur lorsqu’il essaie de fermer la page après modification sans sauvegarder. Je vous suggère d’ajouter un gestionnaire onbeforeunload.
  • J’ai récemment essayé de créer un wiki local avec TiddlyWiki, mais j’ai lamentablement échoué et j’ai fini par écrire directement le fichier HTML.
    • Nash semble simplifier mon travail, merci.
  • Ajout de ceci pour une table des matières facile https://codepen.io/cgurski/pen/qBrNrPo