24/06/2021Si vous dispoez d'une liseuse de marque "Tea" (Vivlio), modèle Touch HD ou Inkpad, voici une façon de la synchroniser avec un serveur personnel.
Par facilité, il est intéressant de synchroniser une liseuse automatiquement avec un répertoire réseau, afin de ne pas effectuer manuellement sur l'appareil les transferts de fichiers, les suppressions des livres lus. Cependant, certaines liseuses ne fournissent que des services de synchronisation avec des systèmes détenus par des entreprises (Dropbox, PocketBook cloud...), et non avec un serveur personnel.
Le programme que je propose ici permet de synchroniser votre liseuse en utilisant le protocole WebDAV depuis un NAS Synology (mais est bien sûr reproductible depuis tout serveur utilisant ce protocole, avec NextCloud, Owncloud...). Je me suis inspiré du script webdav_sync.sh de Loriowar. Ce script ne fonctionnait pas sur ma liseuse mais j'ai repris l'idée et amélioré son fonctionnement. Il permettait déjà de :
- Copier les fichiers d'un serveur, en réduisant le flux au différentiel de fichiers à envoyer
- Allumer/éteindre le WI-Fi si celui-ci est détecté comme inactif
Il permet à présent de :
- Synchroniser les dates de modifications des fichiers téléchargés
- Purger (optionnellement) les fichiers locaux qui ne sont plus présents sur le serveur et les répertoires vides
- Eviter de synchroniser le répertoire Corbeille
- Donner plus de retour à l'utilisateur (fichier de log, messages d'erreurs...) en anglais ou français
Afficher une barre de progression(malheureusement non implémenté à ce jour mais si quelqu'un voit comment le faire, je suis preneur)- Proposer de ne synchroniser que certaines extensions
Configuration du serveur WebDAV sur Synology
Installation de WebDAV
- Ouvrez le centre de paquets
- Faites une recherche sur "webdav". Le paquet "WebDAV Server" est proposé :
- Cliquez sur Installer
- Une fois l'installation réalisée, ouvrez le logiciel :
- Cochez Activer HTTP et cliquez sur Appliquer.
Le mode d'accès proposé ici ne devra être utilisé qu'en réseau local. Il sera de toute façon bloqué depuis Internet, à moins de faire une redirection des ports de votre box.
Création d'un répertoire dédié
- Allez dans le panneau de configuration
- Choisissez Dossier partagé
- Cliquez sur le bouton Créer
- Sur l'écran qui s'affiche, entrez un nom de partage (par exemple "webdav")
- Cliquez sur Suivant
- Sur la page chiffrement, cliquez sur Suivant
- Puis validez la création en cliquant sur Appliquer
Création d'un utilisateur dédié
Il recommandé de créer un utilisateur dédié à l'utilisation de ce service, afin de limiter l'exposition des données partagées.
- Ouvrez le panneau de configuration
- Allez sur Utilisateur
- Cliquez sur le bouton Créer
- Renseignez le nom, une description et un mot de passe
- Dans l'onglet Groupes utilisateurs, choisissez users
- Dans l'onglet Permissions, choisissez le répertoire créé (ici webdav) et cochez lecture seule
- Dans l'onglet Applications, autorisez WebDAV Server
- Validez l'ensemble des paramètres en cliquant sur le bouton OK
Une fois l'accès WebDAV préparé, vous pouvez y déposer un fichier EPUB ou PDF, qui vous servira à tester la synchronisation.
Passez ensuite à l'étape suivante, à savoir installer le programme sur la liseuse.
Installation du programme sur la liseuse
Paramétrage du script
- Téléchargez le programme suivant : synchro_webdav.app(12 Ko)
- Editez-le avec un éditeur de texte, comme Notepad++ (il s'agit d'un script Shell).
- Au début du programme, vous verrez plusieurs paramètres, que vous devez modifier pour l'adapter à votre configuration :
# -- Serveur / server
PROTOCOLE=http
HOST=192.168.0.1 # IP of webdav server
LOGIN=login
PASSWORD=pass
PORT=5005
SERVER_ROOT=webdav # Folder name
SERVER_SUBFOLDER= # Subfolder name on server (can be empty), usefull for accounts
EXTENSIONS=pdf,epub,cbr,cbz,txt,mobi,fb2,htm,html,doc,mp3,m4b,docx,jpg,jpeg,png,tiff,prc
# -- Local
SYNCHRO_SUBFOLDERS=true # Apply on subfolders
DELETE_UNMATCHING_LOCAL_FILES=true # Delete files no more present on server
LOCAL_FOLDER=/mnt/ext1/Livres/Synchro # Destination folder (will be created if not exists)
# -- Script
LANGUAGE=french # french or english
- HOST / PORT : adresse locale de votre serveur NAS
- LOGIN / PASSWORD : compte utilisateur que vous avez créé sur le NAS
- SERVER_ROOT : nom du répertoire partagé sur le NAS
- SERVER_SUBFOLDER : nom du sous-répertoire à lire sur le NAS (à mettre à vide si inutilisé)
- SYNCHRO_SUBFOLDERS : indique si le script synchronise aussi les sous-répertoires du serveur. Si vous avez créé beaucoup de sous-répertoires, le script interrogera chacun d'entre eux séparément, ce qui nuit aux performances.
- DELETE_UNMATCHING_LOCAL_FILES : supprimera les fichiers locaux absents du serveur, dans le répertoire synchronisé bien sûr
- LOCAL_FOLDER : répertoire local sur la liseuse. Il doit commencer par /mnt/ext1 pour la mémoire interne et /mnt/ext2 pour une carte SD.
- LANGUAGE : langue des messages, choisissez french ou english.
- E_READER_VERSION : utilise ou non les fenêtres de dialogues propres à la liseuse
- LOG_FILE : chemin et le nom du fichier de log
- Sauvegardez le tout quand vous avez terminé.
Envoi du script sur la liseuse
- Connectez votre liseuse à l'ordinateur en USB
- Ouvrez un explorateur, allez sur le lecteur de la liseuse puis dans le répertoire applications
- Déposez-y le script synchro_webdav.app
- Déconnectez votre liseuse de l'ordinateur
Exécution du script
- Allez sur le menu Applications
- Tout en bas, dans le menu Utilisateur, une nouvelle icône a dû apparaître automatiquement : @synchro_webdav
- Tapez sur cette icône pour lancer le programme
- A l'exécution, si tout se passe bien, vous devriez avoir un message "Connexion au serveur 192.168.0.1"
- Puis le message "X fichiers trouvés. Synchronisation avec le local"
- Au bout de quelques secondes ou minutes (selon le nombre de fichiers que vous avez déposé sur votre serveur WebDAV), un message indiquant que la synchronisation est terminée doit apparaître.
- Seuls les fichiers modifiés sont téléchargés. Ainsi, si vous modifiez peu le répertoire partagé, les prochaines synchronisations seront plus rapides.
Dernières modifications / Remarques
- 12/2022 - Dans le cas où plusieurs personnes ont une liseuse dans le foyer, j'ai ajouté le paramètre SERVER_SUBFOLDER, permettant d'indiquer un sous-répertoire du serveur à utiliser comme racine. Ainsi chaque utilisateur peut avoir son sous-répertoire serveur synchronisé avec sa liseuse, et copier les livres facilement d'une liseuse à une autre.
- La casse des extensions est importante : si vous avez votre ebook avec l'extension EPUB et non epub, il ne sera pas synchronisé.
Dernière modification le 12/12/2022 - Quillevere.net