Installer et utiliser TiddlyWiki sous Node.js


#1

Préambule

Pourquoi choisir la version Node.js de TiddlyWiki ?

L’intérêt de Node.js est ici de pouvoir faire tourner un ou plusieurs TiddlyWiki sur une machine distante ou non, au lieu du navigateur. Le code JavaScript n’est donc plus exécuté par un client mais par un serveur.
Y trouveront un intérêt, ceux qui souhaitent ne plus se soucier du transport du fichier TiddlyWiki, ni de sa sauvegarde.
Le TiddlyWiki sera modifiable depuis plusieurs endroits de la maison (ou du globe) et de façon synchronisée vu qu’il s’agit du même fichier (on évitera les confusions en ne laissant aucun tiddler en mode brouillon avant de l’éditer ailleurs et/ou de fermer le client/navigateur).

Installer Node.js

https://nodejs.org/fr/

Sous votre distribution Gnu/Linux favorite vous pouvez sans doute privilégier votre gestionnaire de paquet, par exemple :

Pour Fedora :

sudo dnf install nodejs npm

Pour Debian, Ubuntu, Raspbian…

sudo apt-get install nodejs npm

Installer TiddlyWiki

Sous Windows :

npm install -g tiddlywiki

Sous GNU/Linux et Mac (avec les droits administrateurs) :

sudo npm install -g tiddlywiki

On peut vérifier la version installée avec :

tiddlywiki --version

Configurer son premier TiddlyWiki

Générer une arborescence pour son TiddlyWiki :

tiddlywiki monTiddlyWiki --init server

Un TiddlyWiki vierge et à jour est maintenant prêt (commande à ne lancer qu’une seule fois).

Mettre à jour le module TW du gestionnaire npm de node.js et donc son (ses) TiddlyWiki, lorsqu’une nouvelle version voit le jour (si les fichiers-serveur ont bien été générés avec la commande précédente) :

npm update -g tiddlywiki

(précédée de sudo sous GNU/Linux)

Démarrage du serveur

tiddlywiki monTiddlyWiki --server

On y accèdera localement à l’adresse : http://localhost:8080

Ctrl + c pour mettre fin à la commande.


Si maintenant on lance le serveur avec cette commande :
tiddlywiki monTiddlyWiki --server 8080 $:/core/save/all text/plain text/html "" "" 0.0.0.0

Le serveur sera accessible depuis n’importe quel poste présent sur le réseau local (en effet, l’option 0.0.0.0 permet l’accès au serveur depuis n’importe quelle adresse IP) l’adresse devient : http://IP_Serveur:8080. Notez que la commande doit fournir toutes les options précédant l’adresse du client (respectivement : le port d’écoute, la racine du serveur, les types MIME, un éventuel identifiant et son mot de passe [conseillé], en cas d’absence de login/mdp il faudra indiquer des guillemets comme dans l’exemple).

N’hésitez pas à vous créer un fichier de commande (extension .sh, sous GNU/Linux) pour ne pas avoir à saisir cette longue commande à chaque démarrage du serveur. Pour le lancer : ./startTW.sh

Pour un accès depuis l’extérieur, il va falloir rediriger le port concerné (8080 par défaut) depuis l’interface du modem ou du routeur. Attention ! Ouvrir sa machine à l’Internet peut présenter des risques, il est vivement conseillé d’au moins définir un login et un mot de passe dans la commande de démarrage du serveur (voir si la techno cryptographique sous-jacente peut suffire, plus de détails à venir)

Il est possible d’avoir plusieurs serveurs actifs simultanément, pour cela il suffit de lancer plusieurs commandes avec chacune son propre port (valeur arbitraire). Il faudra bien entendu générer au préalable un dossier différent pour chaque Tiddlywiki.

Liens utiles


TiddlyWiki sous Android avec Termux
#2

@Pr4xis, pour l’accès externe, tu vas sans doute le détailler plus tard ? Lorsque j’en avait un qui tournait sous KanoOS (RaspberryPi), la configuration de la Freebox avait plutôt bien fonctionné. Mais dans ce cas, il est peut-être conseillé de lui associer un mot de passe et éviter que n’importe qui mette à jour le wiki.

J’ai mis l’auteur du post à TiddlyWikiFR pour que ça soit plus communautaire :wink:
Et j’ai fait quelques retouches cosmétiques, comme la citation du code plutôt que le texte préformaté.


#3

@sylvain à vrai dire je n’arrive plus à accéder à mon serveur depuis l’extérieur, je ne préfère pas trop m’avancer avant que ce soit réglé ^^, la redirection suffit peut-être en faite je ne me rappelle plus bien. Tu as bien fait de retoucher, pour ma part j’ai le projet de revenir aussi sur le post quand j’aurai plus d’infos.

Edition : le problème était en lien avec mon nom de domaine, la redirection de port est donc suffisante, j’édite le post et vais me replonger dans la gestion des accès pour l’étoffer.


#4

Hé mais j’avais enregistré cette vidéo qui complète ce post pour ses premiers pas :sunglasses: