Mettre en place TiddlyWiki multi-utilisateurs

Bonjour,

J’aimerais installer un TiddlyWiki sur un espace partagé et le rendre accessible en lecture / écriture à plusieurs utilisateurs (sans qu’il ne soit visible par la terre entière) pour faire de la capitalisation de connaissances au sein de ma start-up (qui ne bosse pas dans le domaine digital … pour expliquer que je suis loin d’être un expert informatique, tout en étant un grand adorateur de TiddlyWiki)

J’ai compris (arrêtez moi si je me trompe) qu’il fallait installer la version node.js de TW, avec le plugin Bob qui permet une utilisation multi-utilisateurs. Je suis donc preneur de conseils de la part de ceux d’entre vous qui auraient déjà testé ce genre de configuration.
Est-ce bien la meilleure solution pour pour faire ce que je veux faire, faut-il d’autres plugins ?

J’ai suis en train un essai en local sur mon Mac, qui a l’air de bien fonctionner, mais je tâtonne pas mal et je ne pense pas avoir tout compris à l’utilisation de Bob.

La prochaine étape est d’installer ça en ligne, je suis notamment très intéressé par le post de Sylvain (TiddlyWiki version Node.js chez Alwaysdata en 1-click) et j’ai plein de questions en vrac :

  • Est-ce que Bob est vraiment nécessaire, puisqu’il semble possible de gérer des autorisations d’accès sans ça ? Si oui qu’apporte Bob en plus ?
  • Est-ce possible de configurer tout ça sur un cloud plus classique (oneDrive, iCloud, Dropbox) ou bien faut-il nécessairement un hébergeur type Alwaysdata (Question un peu naïve sans doute)
  • L’install sur Alwaysdata a l’air super simple… mais je n’ai pas bien compris les pré-requis… en clair je ne sais pas répondre aux champs demandé lors de l’installation de TW (faut-il avoir un site web déjà crée et hébergé chez eux ?)
  • Est-ce possible d’ajouter un plugin non officiel (comme Bob) sur ce genre de configuration ? Comment ?

Voilà pour l’instant, mais j’aurai sans doute plein d’autres questions en avançant.

Bonjour @Silverfox,

J’avais expérimenté Bob à ses débuts, aussi je considère ne quasiment rien savoir car ça fait longtemps.
Sinon en effet, je pense qu’aujourd’hui c’est l’une des solutions pour avoir du multi-utilisateur.

Sur l’annuaire que j’ai mis en place, avec 3 accès, je suis en fait le seul à vraiment écrire dessus. Théoriquement, tant que l’on écrit pas dans le même tiddler, c’est possible d’écrire à plusieurs, mais cela a ses limites…
Un palliatif pas cher à cela, que chacun puisse avoir son propre TiddlyWiki et par simple glisser/déposer le centraliser. Mais là aussi, c’est pas tip top.

Pour l’installation en ligne, disons qu’en tant hébergeur, Alwaysdata gère tout (le versionning de Node.js, les sauvegardes sur 30 jours, etc…). Et il y a peu d’hébergeurs mutualisés qui offrent ce langage.

Bref tout ça pour dire que ça m’intéresse de tester avec toi une installation de Bob si tu veux :slight_smile:

Génial, oui je suis intéressé.
Donc on se crée un TW sur Alwaysdata, chacun avec un accès pour tester tout ça super.

Par contre, pour la configuration initiale j’aimerais vraiment des conseils genre « pour les nuls ».
Je pars vraiment de zéro… concrètement je viens juste de me créer un compte gratuit chez Alwaysdata, rien de plus … que faut-il faire après ?

Tu avais vu le détail en image ?

https://nodejs.tw5.xyz/#HowTo%20en%20image

Bon je viens de voir qu’il semblait y avoir un petit bug sur l’accès à la bibliothèque des plugins :sweat_smile: J’ai posé la question pour voir si cela peut être corrigé.

C’est pas forcément bloquant, le glisser/déposer fonctionne très bien :slight_smile:

Je te propose peut-être dans l’immédiat de jardiner ce wiki : https://bob.tw5.xyz/

Je vais t’ajouter un utilisateur avec son mot de passe. Je t’envoie ça par message.

En fait l’installation de plugin sur Node.js ne fonctionne pas comme sur la version standalone de TW : voir ici

J’ai eu le même problème sur mon mac… du coup j’ai installé Bob en téléchargeant l’exécutable ici, j’ai du faire un chmod pour le rendre exécutable, puis un double clic pour l’installer.

Mais je ne sais pas faire ça sur un site distant

Il y a 2 versions de Bob. La version Exe est un paquage tout en un pour lancer cela sur son poste sans se soucier d’installer Node.js

Sur une installation Node.js plus classique c’est différent en effet (et comme ce n’est pas un plugin officiel, oui c’est pas grave, puisque on fera l’installation différemment).

Donc, pour l’instant c’est chou blanc. Je suspecte le système d’installation propre à Alwaysdata qui m’empêche de proprement ajouter les plugins, et même avec ça il resterai à voir comment changer de command server et le port d’écoute de Bob.

En tout cas pendant notre test @Silverfox, nous avons vu le résultat d’un bug qui devrait être corrigé ; j’ai vu cette discussion qui en parle.

Idem pour la popin d’ajout de plugin, c’est normal en fait.

J’ai installé TW sur Alwaysdata en choisissant l’option installation manuelle node.js expliquée ici. Il y a fallu que j m’y reprenne à plusieurs fois mais j’y suis arrivé.

Ensuite j’'ai voulu passer à Bob, en suivant ces instructions.

Au début ça va bien, MAIS il y a un truc que je ne comprends pas lorsqu’ils disent :

Créez un fichier path/to/repository/settings/settings.json, et remplissez-le avec les valeurs d’[IP] et de [PORT] que vous pouvez trouver dans la vue de configuration Site dans votre panneau d’administration :

Je ne comprends pas où trouver ces fameuses valeurs IP et PORT… j’ai fouillé partout je n’ai rien trouvé … J’ai du passer à coté d’un truc évident…

Une piste ?

Cela fait référence à ce passage :

que vous pouvez trouver dans la vue de configuration Site dans votre panneau d’administration

Donc, regarde dans le site que tu as configuré, et sous le champ commande, tu verras le n° du port utilisé par ce site, ainsi que l’adresse IP (j’ai pris la deuxième, 0.0.0.0 doit fonctionner aussi je pense).

Mais en l’état, je déconseille d’aller plus loin.

Bob n’est pas du tout sécurisé actuellement, et Jed Carty a confirmé que pour l’instant le basic authentification n’est pas implémenté avec sa commande --wsserver.
Donc tu aurais un wiki avec tous les droits disponibles, avec la possibilité pour n’importe qui de supprimer du contenu ou de déposer des fichiers sur le serveur.

Tu peux toujours t’entraîner à finaliser l’installation (et voir peut-être comme moi que ce n’est pas très stable), en attendant une évolution sur ce point.

J’ai bien intégré le fait que l’authentification ne fonctionne pas, mais par fierté personnelle, et afin de progresser, j’aurais bien aimé arriver à installer une version avec Bob sur Alwaysdata et je n’y arrive pas…

J’arrive a faire l’installation manuelle sous node.js (avec la commande --listen) mais pas moyen d’ajouter Bob même en suivant les instructions officielles de Alwaysdata. Dès que je mets la commande --wsserver, je n’arrive pas à me connecter du tout (Connection to upstream skipped). As tu le même problème ?

Pour l’IP je l’ai trouvé en faisant un ping vers mon site , pour le port, j’ai trouvé effectivement une donnée en gris clair en commentaire du champs commande dans la configuration du site… est-ce bien ça ?

Du coup à aucun moment je n’arrive à avoir l’onglet Bob dans le ControlPanel contrairement à mon installation locale…
As tu un meilleur résultat ?

Par rapport au 1er bug, penses tu qu’il soit possible d’installer TW 5.1.21 sous Alwaysdata ?

Pour l’IP non, il ne faut pas que tu prenne celle-ci. C’est celle qui est avec le port :wink:

Il faut par ailleurs bien que tu ai ce fichier settings/settings.json, et enfin vérifie que tu as bien ajouté la variable d’environnement.

C’est quoi le bug n°1 ? La version de TW n’entre pas en ligne de compte ici.

Oui j’avais réussi, mais je ne trouve pas Bob très stable. Je t’enverrais une capture de ma conf côté admin.

Pour l’IP, du coup je ne comprends vraiment pas … il faut mettre 0.0.0.0 ?

Le bug que j’appelle n°1 est celui référencé ici : https://groups.google.com/forum/#!msg/tiddlywiki/ENyfB5ZxPWs/qWfrWtrXAgAJ

Je veux bien une capture de ta config oui, Merci

Pour le bug, je pense que cela ne changerai rien, puisque Bob implémente son propre système de synchronisation.

Pour l’IP c’est ce que je disais tout à l’heure, oui la 0.0.0.0 devrait fonctionnait (puisque c’est l’adresse que tu mettrais sur une installation en local de Node.js pour rendre le wiki accessible de l’extérieur. Mais j’ai utilisé l’autre qui est juste à côté dans le panneau. Je t’envoie une capture en privé.

J’ai donc finalement réussi à installer Bob sous Alwaysdata, effectivement il y a des choses qui bug. Voici une liste de choses anormales que j’ai relevé.

  • Le bouton de sauvegarde n’a pas la forme de nuage comme lorsqu’on installe Bob en local
  • Parfois le serveur se déconnecte et après reconnection les tiddlers créé avant perdent leurs champs de date (created, modified) du coup ils n’apparaissent plus dans l’onglet « récent ».
  • Idem avec le nom d’utilisateur qui est perdu
  • La storyview n’est pas gardé en mémoire

Par contre j’ai trouvé un truc pour revenir à une version antérieur de TW (par exemple la 5.1.21), qui ne marche que dans le cas d’une installation manuelle (pas automatique sur Alwaysdata, il faut se connecter en ssh et lancer
npm install --global tiddlywiki@5.1.21 (ou la version qu’on veut ), puis on relance le site dans l’interface de configuration Alwaysdata.

Ca permet par exemple de retrouver l’accès normal à l’installation de plugin qui n’est pas possible en 5.1.22 (sauf via un contournement)

Après quelques essais, pour l’instant la moins mauvaise des solutions pour faire du multi-user a peu prêt fonctionnel me semble donc (sur Alwaysdata)

  • d’installer manuellement la version 5.1.21 (au lieu de la 5.1.22 qui est la version officielle au moment où j’écris ces lignes)
  • de ne pas installer Bob (en tout cas pas la 1.5.2 qui la version officielle au moment j’écris ces lignes)

Yep, c’est du Bob ça, pas la faute à TW 5.1.22

Oui j’ai constaté aussi. Du coup je passais par le menu pour les afficher par type pour les retrouver. Faudrait voir pour le tester en local si ça peut le faire et remonter le bug auprès de Jed.

Tu parle de définir $:/StoryList en tiddler par défaut ? (en effet il défini presque en dur $:/ControlPanel et GettingStarted.
Sinon je n’ai pas spécialement remarqué (et pas forcément vu le bug propre à la 5.1.22 qui interagi avec le storyview).

Oui, mais si cela a été retiré de la 5.1.22, c’est que déjà avant il ne fallait pas installer de plugin via cette fenêtre sous Node.js :wink:
J’ai poussé une modif sur la doc d’Alwaysdata pour rajouter une section Plugin.

J’ai ouvert un ticket auprès de Jed pour la fonction de backup qui me donne des fichiers avec un message d’erreur aussi. Tu avais pu tester la fonction backup ?

Oui donc c’est normal même :

Par défaut $:/StoryList et $:/HistoryList sont exclus, ainsi que $:/status/UserName, ce qui n’est donc pas un bug :wink:

Dans un contexte multi-utilisateur, c’est une fonctionnalité, pour empêcher de perturber les autres utilisateurs en fait.