Journal Lionwiki: Prendre ses notes indifféremment depuis son smartphone (hors-ligne), ou une interface web

Posté par (page perso) . Licence CC by-sa
11
9
déc.
2013

Il y a quelques temps, j'avais traité dans un journal de Google Keep et des solutions pour prendre des notes quel que soit l'outil utilisé (ordinateur, smartphone, tablette etc), et ceci de façon en ligne ou hors ligne. Au final il ressortait que Google Keep me semblait une solution élégante, mais qu'il manquait quand même pas mal de choses pour convaincre le geek qui sommeille en moi, notamment la gestion de version, et le contrôle plus poussée de mes données.

La solution que j'ai adoptée, et qui m'a complètement fait abandonner Google Keep, c'est tout simplement un wiki.

Lionwiki-t2t est un fork amical de lionwiki, qui utilise la syntaxe légère de txt2tags à la place de celle spécifique de lionwiki.

Lionwiki est un outil étonnant, très bien conçu (il profite de l'expérience de tous ses ancêtres, tigerwiki, wikiss et compagnie), et semble malheureusement un peu délaissé par son auteur, qui a peut-être abouti son travail au point de rendre tout ajout superflu, ou peut-être pour renvoyer à un autre outil.

Sa syntaxe spécifique me semble peu pertinente et plutôt isolée, d'où cet ultime addition de la syntaxe de txt2tags, mais je serai incapable de maintenir lionwiki au niveau sécurité.

L'avantage à utiliser cette syntaxe aussi dans ce wiki, c'est qu'il est possible de réutiliser ses propres textes structurés (titres, sous-titres etc) et mis en forme (gras, italique) dans un autre contexte, par exemple pour exporter en LaTeX puis pdf en vue d'une impression. On peut même concaténer les pages pour n'obtenir qu'un seul document final, bref, cela souligne la souplesse d'un format textuel au profit d'une mise en forme WYSIWYG.

Et l'avantage d'utiliser Lionwiki en particulier, c'est que dans sa version la plus basique, il tient dans 32 ko, et comme il stocke les données dans un format texte au lieu d'une base sql, il est très facile de l'éditer depuis son éditeur de texte favori, sur ordinateur ou smartphone, et de synchroniser sur le serveur, ou bien d'y aller directement depuis ssh. Il est bien entendu possible de l'éditer également depuis l'interface web :)

Une autre solution serait d'utiliser Dokuwiki, qui stocke également tout en format texte, sans rajouter d'autres choses dans les documents. D'ailleurs dans sa première version, mon wiki utilisait dokuwiki (avec mon greffon txt2tags pour dokuwiki), et trouvant plus pratique lionwiki, j'ai simplement recopié les fichiers de dokuwiki/data/pages/ vers lionwiki/var/pages/ et j'ai tout récupéré ainsi sans autre travail de conversion.

La migration d'un espace à un autre est également facilité. À ce sujet, je garde mon « bloc-note » personnel dans un tel wiki sur mon raspberry pi hébergé chez moi, et je sauvegarde quotidiennement ces notes sur un autre serveur. Mon raspberry pi a eu un problème récemment, il a planté et refuse de booter correctement (sans doute un problème de carte sd d'après les erreurs I/O que je vois au démarrage). En attendant de remettre en état la petite machine, j'ai simplement créé un lien symbolique sur l'autre serveur qui sert pour la sauvegarde vers /var/www, et je peux continuer à travailler sur les notes de mon wiki. Pas besoin de faire un dump de la base de données…

Bref, j'ai assez fignolé le concept pour en avoir une utilisation quotidienne heureuse, et j'en profite donc pour en parler sur linuxfr, si ça peut intéresser d'autres personnes.

Une démo et une notice d'utilisation (détaillant la synchronisation avec un appareil android) sont disponibles ici :

Le code en développement et le téléchargement se trouvent quant à eux ici :

  • # depuis son smartphone (hors ligne) ?

    Posté par . Évalué à 0.

    Hello,

    Solution élégante, au détail près qu'à moins que j'ai loupé quelque chose, le fait que tu utilise un wiki fait que tu ne peux plus éditer ça depuis ton smartphone hors connexion

    Personellement je fais encore plus simple : une arborescence de fichiers textes au format markdown
    Sous Mac, le Web, Linux, Chrome et même sous Android (Draft: https://play.google.com/store/apps/details?id=com.mvilla.draft) j'ai un bon éditeur spécialisé
    Pour la partie publication, aucun problème, la plupart des logiciels que j'utilisent tels que linuxfr, github, dokuwiki, wordpress, dotclear, … connaissent markdown
    Comme ce que je produis, c'est juste une arborescence de fichiers, il y a pléthore de méthodes pour la synchroniser.
    Ainsi Draft pour android se synchronise avec Dropbox seulement et je n'ai pas de client Dropbox sur mes devices, mais qu'à cela ne tienne, j'utilise http://mover.io/ pour synchroniser Dropbox avec mon service de cloud préféré

    • [^] # Re: depuis son smartphone (hors ligne) ?

      Posté par (page perso) . Évalué à 3.

      Oui, je synchronise les fichiers avec une appli tierce (foldersync en l'occurrence, le lien est dans la notice, il doit être possible d'utiliser rsync mais je n'ai pas encore essayé)

      « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

      • [^] # Re: depuis son smartphone (hors ligne) ?

        Posté par . Évalué à 0.

        Ah, j'ai bien fait de demander, j'avais mal compris ta solution : donc ton lionwiki-t2t a comme backend une simple hiérarchie de fichiers, c'est à dire le standard de base de données ultime. Très bien.
        Ce que je ne comprends pas du coup, c'est si le simple fait d'écrire un nouveau fichier, sur un smartphone android par exemple, fait que, une fois synchronisé, ton contenu est accessible publiquement ensuite pour qui connait l'adresse. Ou si comme dans mon système, il y a une phase où l'on décide de diffuser (ou non) ce que l'on a rédigé.

        • [^] # Re: depuis son smartphone (hors ligne) ?

          Posté par (page perso) . Évalué à 2.

          si le simple fait d'écrire un nouveau fichier, sur un smartphone android par exemple, fait que, une fois synchronisé, ton contenu est accessible publiquement ensuite pour qui connait l'adresse.

          Ça dépend, dans lionwiki le wiki peut être public ou privé, on peut ainsi mettre un mot de passe global pour protéger le contenu.

          Quoi qu'il en soit le dossier des fichiers textes est protégé par un .htaccess :

          http://wiki.txt2tags.org/demos/lionwiki-t2t/var/pages

          Ou si comme dans mon système, il y a une phase où l'on décide de diffuser (ou non) ce que l'on a rédigé.

          Si on souhaite mixer du contenu public et privé selon les pages, c'est peut-être possible à adapter dans lionwiki, mais vu qu'il n'y a pas de groupes comme dans dokuwiki, peut-être que ça serait plus simple de faire cela avec dokuwiki justement (et on peut réutiliser la même syntaxe avec ce plugin : https://www.dokuwiki.org/plugin:txt2tags )

          « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

  • # Lundi matin...

    Posté par . Évalué à 2.

    Je suis peut-être bigleux mais je ne vois pas de référence à la synchronisation Android sur le lien que tu donnes.
    Cependant, j'ai trouvé ça.

    Si ça peut aider :)

    • [^] # Re: Lundi matin...

      Posté par . Évalué à 0.

      C'est dans l'aide http://wiki.txt2tags.org/demos/lionwiki-t2t/index.php?page=help.en#_Installation_.

      Mais bon c'est pas encore la solution la plus agréable je trouve.

      • [^] # Re: Lundi matin...

        Posté par (page perso) . Évalué à 3.

        oui, je n'ai pas osé redétailler la procédure dans ce journal déjà bien long.

        foldersync fonctionne plutôt bien. À l'origine j'avais un problème assez étrange quand je passais par webdav avec owncloud, si je modifiais le fichier avec un éditeur de texte sur le serveur, c'était pris en compte, mais pas depuis l'interface web. Depuis je synchronise par ssh au lieu de webdav et tout va bien. Foldersync n'est pas libre, et je n'ai pas encore osé ni pris le temps de tester ça : https://play.google.com/store/apps/details?id=eu.kowalczuk.rsync4android (qui n'a pas l'air libre non plus d'ailleurs)

        Ça va assez vite à configurer un partage dans foldersync.

        « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

        • [^] # Re: Lundi matin...

          Posté par (page perso) . Évalué à 3.

          Pourquoi ne pas essayer git-annex assistant ? Il y a une version Android qui est malheureusement a télécharger/installer a part, mais elle a l'air de marcher. En plus, c'est base sur git-annex, qui je pense est une bonne interface pour la synchronisation de données.

          • [^] # Re: Lundi matin...

            Posté par . Évalué à 1.

            Si c'est pour du texte, pourquoi pas carrément git ?

            • [^] # Re: Lundi matin...

              Posté par (page perso) . Évalué à 3.

              il y a des clients git pour android qui permettraient de synchroniser dans les 2 sens ? De ce que je vois dans git-annex, ça permet de synchroniser sans lancer les commandes de git.

              Merci pour l'info sur git annex je vais rajouter la suggestion dans la doc.

              « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

              • [^] # Re: Lundi matin...

                Posté par . Évalué à 1.

                Je crois qu'il y en a avec des push mais ils sont pas forcément libre. Sinon, dans le pire des cas, on peut y aller au bon vieux chroot des familles. Solution bourrine, je te l'accorde.

                • [^] # Re: Lundi matin...

                  Posté par (page perso) . Évalué à 3.

                  L'idéal sur ce type d'appareil c'est de ne pas avoir à taper de commandes et d'avoir une synchro automatique (je ne sais pas si l'appli git-annex sur androit permet cela, mais je vais la tester à l'occasion).

                  « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

                  • [^] # Re: Lundi matin...

                    Posté par . Évalué à 1.

                    Je te l'accorde mais il me semble que git-annex est justement fait pour tout ce qui est binaire et qui est chiant a gérer avec git normal.

  • # Intéressant mais quid de dokuwiki -> txt2tags ?

    Posté par (page perso) . Évalué à 2.

    Bravo et merci pour ta contribution qui m'intéresse également. Je suis également tombé dans le txt2tags après avoir essayé un maximum de syntaxes qui se voulaient toutes universelles mais je n'étais jamais absolument conquis. J'utilise maintenant txt2tags pour de nombreuses choses et c'est devenu un réflexe.

    Cependant je recherche le comportement inverse de ce que tu décris, à savoir convertir du dokuwiki originel en txt2tags pour passer de dokuwiki à lion, et je n'ai rien trouvé (ou mal cherché). Un éventuel pointeur ?

    • [^] # Re: Intéressant mais quid de dokuwiki -> txt2tags ?

      Posté par (page perso) . Évalué à 2. Dernière modification le 10/12/13 à 19:55.

      Chouette, un client potentiel ! :)

      effectivement, c'est un peu contradictoire, txt2tags permet surtout de convertir vers un autre format, et pas de récupérer des données depuis une autre syntaxe, quelque part ça signifie que ça peut encourager à le quitter ! Pas spécialement quand on convertit vers html ou latex, mais pour du wiki, les cas seront rares où on va écrire en txt2tags puis exporter dans une syntaxe wiki quelconque pour recoller le texte dans un formulaire, à part pour une contribution ponctuelle (bon parfois je fais cela pour des longs journaux sur linuxfr, pour exporter en markdown).

      À terme, j'espère pouvoir créer un export txt2tags dans pandoc, mais ça ne m'a pas l'air aisé.

      Pour le moment, il devrait y avoir plusieurs méthodes possibles pour la conversion : la bourrine, et la rationnelle. Étant donné que la syntaxe de dokuwiki est proche de celle de txt2tags, à part pour les titres (franchement, les 4 ou 5 '=' pour les titres niveau 1, je trouve ça peu pratique), la rationnelle serait de créer un petit script de conversion (genre avec des regex).

      La plus bourrine (celle que j'emploierais), est de convertir de html vers txt2tags, puisque dokuwiki affiche les pages en html, mais il faudra peut-être faire un thème adapté pour cacher ce qui est autre que le contenu (les liens genre "édit, historique" etc.

      S'il y a peu de pages, ça peut se faire assez facilement avec cet outil :
      http://wiki.txt2tags.org/index.php/Main/Html2wiki

      Et si tu utilises beaucoup dokuwiki, si ça t'intéresse d'améliorer le plugin txt2tags : https://www.dokuwiki.org/plugin:txt2tags (il fonctionne plutôt bien, mais certaines parties (genre admin) s'affichent bizarrement puisque c'est pris dans une syntaxe un peu différente de ce à quoi elles s'attendent.

      « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.