Gestion de documents

Espace de stockage : Nextcloud

Comme la plupart des gens, j’utilise Nextcloud, avec le client pour pc pour synchroniser des dossiers et le client pour Android pour envoyer automatiquement des fichiers sur le serveur.

Gestion électronique de documents : Mayan EDMS

Bulletins de salaires, dossier scolaire du gamin, factures, modes d’emploi… Oui, tout ça peut se gérer en mettant ça dans un Nextcloud dans des dossiers et sous-dossiers, mais cela ne permet pas de lier des documents entre eux (genre la facture d’un appareil avec son mode d’emploi) ni de multi-classer un fichier (genre dans un dossier Assurance et en même temps dans un dossier Appartement).

C’est pour cela que j’ai installé Mayan EDMS sur mon serveur.

Attention : l’installation en elle-même ne pose pas particulièrement de problèmes mais il n’est pas simple à prendre en main. J’ai acheté le bouquin et ça m’a permis de mieux appréhender les différents aspects de Mayan. Ce n’était pas du luxe.

Dans les points intéressants du logiciel :

Ma doc de mise à jour

Adapté de la doc officielle (lien archive.org car la doc d’upgrade n’est plus sur sur le site de la doc officielle).

export VERSION=4.6.2
systemctl stop supervisor
cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bak
sudo --user=www-data /opt/mayan-edms/bin/pip install --upgrade pip
sudo --user=www-data curl -s https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt \
  --output /tmp/removals.txt \
  && sudo --user=www-data /opt/mayan-edms/bin/pip uninstall --requirement /tmp/removals.txt --yes
sudo --user=www-data /opt/mayan-edms/bin/pip install mayan-edms==${VERSION}
sudo --user=www-data MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
  /opt/mayan-edms/bin/mayan-edms.py platform_template supervisord \
  | sudo tee /etc/supervisor/conf.d/mayan-edms.conf  &&
vimdiff /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bak
sudo --user=www-data MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
  /opt/mayan-edms/bin/mayan-edms.py common_perform_upgrade
systemctl start supervisor

Inventaire de livres physiques : Inventaire.io

J’utilise Inventaire, directement sur le site officiel. C’est un des rares logiciels que je n’installe pas sur mon serveur, pour plusieurs raisons :

Le plus : pouvoir se contenter de scanner le code-barre d’un livre pour l’ajouter à sa collection.

Wiki : Bookstack et DokuWiki

Bookstack

Vous l’avez sous les yeux, j’ai choisi Bookstack pour mon wiki.

Son organisation en étagères, livres, chapitres, pages me parle énormément, moi qui aime les livres (j’ai même un DUT métiers du livre). C’est une contrainte, mais cela permet aussi de se libérer de la gestion de la structure de son wiki.

En PHP/MySQL, il est simple à installer et extrêmement rapide.

Points intéressants :

Flux RSS des dernières pages

Documentation de base sur https://www.bookstackapp.com/hacks/simple-page-rss-feed/.

Créez un dossier dans themes, utilisez ce thème dans le fichier .env :

APP_THEME=le_nom_du_dossier

Créez un fichier functions.php :

<?php

use BookStack\Entities\Models\Page;
use Illuminate\Support\Facades\Route;

Route::get('/rss/pages/new', function() {
    $pages = Page::query()
        ->visible()
        ->orderBy('created_at', 'desc')
        ->take(20)
        ->get();

    return response()->view('rss', ['pages' => $pages], 200, ['Content-Type' => 'text/xml']);
});

Créez un fichier rss.blade.php (le mien diffère de celui de la documentation), en changeant l’adresse et le titre :

<?xml version="1.0"?>
<rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:wfw="http://wellformedweb.org/CommentAPI/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
        >
   <channel>
      <title>Derniers articles wiki Fiat Tux</title>
      <link>{{ url('/') }}</link>
      <atom:link href="https://wiki.fiat-tux.fr/rss/pages/new" rel="self" type="application/rss+xml" />
      <description>Les derniers articles du wiki Fiat Tux</description>
      <lastBuildDate>{{ date(DATE_RSS) }}</lastBuildDate>
      @foreach($pages as $page)
        <item>
            <title>{{ $page->hasChapter() ? $page->chapter->name.' — ' : '' }}{{ $page->name }}</title>
            <link>{{ $page->getUrl() }}</link>
            <description>{{ $page->getExcerpt() }}</description>
            <content:encoded><![CDATA[{!! isset($page->renderedHTML) ? preg_replace('/href="\/books/', 'href="https://wiki.fiat-tux.fr/books/', $page->renderedHTML) : preg_replace('/href="\/books/', 'href="https://wiki.fiat-tux.fr/books/', $page->html) !!}]]></content:encoded>
            <pubDate>{{ $page->created_at->format(DATE_RSS) }}</pubDate>
            <guid>{{ $page->getUrl() }}#{{ $page->id }}</guid>
        </item>
      @endforeach
   </channel>
</rss>

Dans le menu Préférences > Personnalisation, ajoutez ceci dans « HTML personnalisé dans l'en-tête », en modifiant l’adresse et le titre :

Dokuwiki

Pour le boulot, je choisis plutôt DokuWiki. Il a l’avantage d’être sans base de données, donc simple à sauvegarder et à restaurer.

Austère de base, on peut étendre ses fonctionnalités de façon très agréable avec ses nombreux plugins, comme lister automatiquement les pages d’une catégorie, faire des redirections, ajouter des méta-données qu’on pourra utiliser dans les listes automatiques…

Gérer sa bibliothèque électronique : Calibre

Calibre

Calibre est un logiciel multi-plateforme qui permet de gérer sa bibliothèque d’epub et autres livres électroniques, de les transférer vers sa liseuse et qui possède bien d’autres atouts (conversion de formats, récupération de flux RSS pour en faire des epubs…).

Calibre permet de gérer plusieurs bibliothèques différentes (elles seront dans des dossiers séparés).

NB : si vous voulez accéder à votre bibliothèque calibre via un montage CIFS (Samba), il faut ajouter l’option nobrl aux options de montage sinon vous aurez des problèmes de database is locked.

Calibre-web

Calibre-web permet d’exposer sa bibliothèque calibre au travers d’un site web.

Il permet le téléchargement, la consultation, le téléversement… en mode authentifié ou non, avec la possibilité d’affecter des droits différents selon les utilisateurs.

Très simple à utiliser, j’adore !