Ubooquity - Serveur de BD et ebooks


#1

[3615 my life]
Depuis quelques années, et comme beaucoup de monde ici, j’utilise une liseuse et une tablette pour lire des BD et des ebooks. Je stocke mes fichiers sur un PC et télécharge ce que je veux lire depuis la tablette/liseuse en fonction des envies du moment. Les moyens de partager des fichier pour les rendre accessible depuis n’importe quel navigateur, ça court les rues. Mais j’ai vite été frustré par le fait de devoir choisir une BD ou un roman sur le seul nom du fichier.
Calibre  propose bien un serveur pour les ebooks qui affiche la couverture et quelques métadonnées, mais ça ne fait pas les BD et je ne le trouvais pas très pratique.
Donc en toute logique j’ai fait le mien.
[/3615 my life]

Ubooquity est un petit serveur de contenu, dédié essentiellement aux BD et aux ebooks (même si on peut partager n’importe quel type de fichier). L’objectif de ce logiciel et de pouvoir explorer facilement et rapidement une collection de BD et/ou ebooks et de télécharger ce qui nous intéresse. La différence avec un simple partage réseau est dans l’affichage des couvertures et des métadonnées (ebooks uniquement) pour une navigation plus agréable. Le serveur permet également une gestion fine des accès utilisateur.

books_library.tb.jpg  comics_library.tb.jpg  book_details.tb.jpg

En deux mots, vous installez Ubooquity sur une machine quelconque (Windows, Linux, Mac, Rapsberry, ce que vous voulez…), vous choisissez les répertoires de BD et d’ebooks à partager, et il sont disponibles via n’importe quel navigateur.
C’est du Java, donc ça tourne sur à peu près tout et n’importe quoi et ça s’installe en 5 minutes chrono.

book_library_settings.tb.jpg  web_administration.tb.jpg

Donc voilà, j’ai mon soft, qui fait ce que je veux et qui fonctionne à peu près bien (modulo les bugs non encore découverts). Je me dis que je vais essayer de lui faire un peu de pub pour voir si ça intéresse des gens (sur Mobileread par exemple). Mais avant ça j’aurais bien aimé passer par une petite phase de beta test bienveillant histoire d’éliminer les derniers bugs et recueillir vos avis pour d’éventuelles améliorations et nouvelles fonctionnalités.

Ça se télécharge là.
Pour le lancer, il suffit de dézipper et double-cliquer sur le fichier.
Des explications plus détaillées (pour l’utiliser en ligne de commande par exemple) sont disponibles dans la doc et la F.A.Q.


Ubooquity parametrage
Dossier : les bons plans pour lire des comics
LaunchBox : le launcher de jeux universel pour Windows
Ubooquity parametrage
[Aide]Calibre2OPDS, ou comment créer une liste HTML consultable à distance
Bugs du nouveau forum
#2

Je cherchais un truc comme ca depuis un moment, je sais pas si je vais avoir exactement les memes besoins, mais bon, gg en tout cas.
Donc, telechargé, en cours de test, je te fais des retours dans la foulée.


#3

bookmarked.


#4

Je suis en train de tester.
Tout est sur le réseau (sur un NAS), trouvé sans problèmes.
En revanche, les BD sont dans un répertoire, et les livres dans un sous-répertoire de celui-ci.
Les BD sont trouvées, et les couvertures visibles, mais ce qui est dans le sous répertoire n’apparaît pas.
Je n’ai pas défini d’utilisateur, et le format est le même dans tous les cas, c’est du pdf.

Une idée ?


#5

En effet la manière dont sont gérés les types de fichiers n’est pas claire, il faudra que je précise:

books = epub
comics = cbz, cbr, pdf

En gros si tu veux voir tes PDF, il faut les partager comme étant des BD.
C’est du au fait que pour mon scanner, les PDF n’ont pas les métadonnées nécessaire pour être traités comme des livres (contrairement aux epubs).

Celà dit, si tes bouquin sont dans un sous répertoire déjà partagé pour les comics, ils devraient apparaitre au moins dans la section “comics”. Ce n’est pas le cas ?


#6

Si, tu as raison.
Dans la liste, j’ai aussi le sous-répertoire.
Mais sans ta remarque je n’y avais pas fait attention, car il est au milieu du reste (en fonction du mode de classement choisi - alphabétique pour moi) et il prend le premier titre en terme d’image de dossier.


#7

J’ai ajouté la possibilité de lire les comics directement depuis le navigateur (que ce soit celui d’un desktop ou d’une tablette).
Ça évite d’avoir à se tapper le téléchargement complet de la BD avant de pouvoir commencer à lire.

C’est la version 1.3.0

comic_details.tb.jpg  comic_reader.tb.jpg


#8

La lecture de PDF en ligne ne fonctionnait pas. C’est réglé dans la version 1.3.1 publiée aujourd’hui.


#9

w00t. Je vais mettre a jour et tester ca.


#10

Salut,
Pile poil ce que je cherchais, je tournais en rond pour trouver un soft mais Calibre n’est définitivement pas fait pour les BD.
2 questions :

  • où est mis le cache des répertoires scannés sous Ubuntu ?
  • est ce que tu l’as déjà installé sur un NAS (synology de préférence :rougi: )
    Beau boulot en tous les cas.
    Merci

#11

[quote=“ublo, post:10, topic: 55326”][/quote]
 
Tout est stocké dans le répertoire d’installation (c’est à dire le répertoire dans lequel tu auras déposé Ubooquity.jar).
Les chemins des différents fichiers scannés et leur métadonnées sont stockés dans un fichier de base de donnée (ubooquity-3.h2.db) et les miniatures des albums sont stockée dans le répertoire cache, toujours au même endroit. Et ce que ce soit sous Windows, Linux, etc.
 

[quote=“ublo, post:10, topic: 55326”][/quote]

Pas personellement. MAis j’ai un ami qui fait tourner Ubooquity sur son Synology DS211 sans problème.
Il a installé Java sur son NAS en suivant ce tuto.


#12

Bonjour,

Merci de ton retour. En fait, les fichiers .db sont sous /home/nomdutilisateur et non dans le répertoire que j’avais créé pour. :wink:

Pour l’installation, sur le NAS, j’ai trouvé un site (http://packages.missilehugger.com/) permettant l’installation directement de la bonne version Java. En effet, il faut une version différente en fonction du processeur, celui du DS211 ne correspondant pas au mieux qui est un DS213+.
Java étant réglé, j’ai installé dans répertoire ton .jar non sans l’avoir rendu executable mais j’ai l’erreur suivante :
./Ubooquity.jar: line 1: syntax error: unexpected word (expecting “)”)
Selon ce que j’ai lu, il semble que ce soit aussi lié au processeur et une recompilation est nécessaire. Mais je trouve ca bizarre pour du java compte tenu que le moteur lui a la bonne compilation.
Une idée ?

Sinon, je souhaiterais que tu ajoutes une fonctionnalité : l’ajout d’un système de notation par étoiles (1 à 5) permettrait de voir ceux déjà lus et appréciés. :rolleyes:

@+


#13

[quote=“ublo, post:12, topic: 55326”][/quote] 
Effectivement ma réponse précédente n’était pas exacte.
Le fichier de base de données (.db), le répertoire de cache, de logs et le fichier de préférences utilisateurs sont normalement crées dans le répertoire depuis lequel est lancé Ubooquity (le “working directory”). Du coup si ton script de démarrage se situe dans ton homedir et que tu ne va pas dans le répertoire d’install avant d’appeler Java, tous ces fichiers seront effectivement créés dans to homedir.
 
[quote=“ublo, post:12, topic: 55326”][/quote] 
Tu ne peux pas lancer le jar comme si c’était un binaire natif Linux. Il faut lancer Java et lui passer le jar en paramètre.
Des explications détaillées sont dispos sur cette page.
Je fournis également un script de lancement (ubooquity.sh) qui peut te servir d’exemple.

 
[quote=“ublo, post:12, topic: 55326”][/quote]
Pour le moment je ne stocke en base que des infos régénérables à partir des fichiers partagés (comics, ebooks…). Ça me permet de pouvoir effacer et recréer la base si nécessaire sans perte de données.
Du coup il faudrait stocker les notes un peu différemment. Pourquoi pas… (mais je ne promets rien)


#14

Salut,
Merci de ta réactivité : fort de ces explications, la commande indiquée fonctionne effectivement sur mon DS213+, mais pas le script. Peu importe car le .jar occupe 50 % des ressources sur le syno en permanence alors que je suis à 0% sur mon linux de bureau :(, en scan 100% pendant des heures :cry: . Je savais Java gourmand mais pas à ce point.
Du coup, j’ai gardé ma première installation sur mon pc et supprimé sur le syno.
@+

Ah, j’oubliais :

  • certaines BD n’ont leurs jaquettes qu’à moitiées affichées,
  • d’autres pas du tout (mais le titre est bien présent) donc du coup illisibles car ont ne peut cliquer nulle part.
    Un rescan ne change rien, une idée ?

#15

[quote=“ublo, post:14, topic: 55326”][/quote]
Le scan des fichiers consomme beaucoup de CPU en effet, car il doit extraire les couvertures des BD et générer une vignette pour chaque album. Cela dit, c’est une opération qui ne se fait qu’une fois par album, donc ça prend du temps au début mais après tu es tranquille.
Sur un grosse collection (la tienne fait quelle taille ?), ça peut prendre des heures.

Si le scan ne se termine jamais, il y a peut-être un souci. Tu peux m’envoyer le fichier de logs (“ubooquity.log” dans le répertoire “logs”) par MP ou bien regarder si il y a des erreurs dedans ?

Et Java n’est pas spécialement gourmand en CPU, si un truc ne marche pas, ce sera de ma faute, pas de celle de Java. :wink:
 
[quote=“ublo, post:14, topic: 55326”][/quote]
Ça ce n’est pas normal. Tu aurais un screenshot ?
Peut-être que la génération de vignette plante faute de mémoire disponible… Même chose qu’au dessus, il me faudrait le fichier de logs.
 
[quote=“ublo, post:14, topic: 55326”][/quote]
Je crois que j’avais déjà eu le cas, il faut que je regarde quand ça se produit.


#16

Bon, je viens de le foutre sur mon kimsufi. Install nickel, RAS.

J’ai plusieurs remarques / questions, pour alimenter ton todo si ça t’intéresse :wink:

  • passer les champs password en type=“password”, là, on voit le pwd en clair, c’est pas terrible terrible :wink:
  • ajoute un bouton de reboot serveur manuel dans l’admin, plutôt / en complément du reboot auto quand tu modifies un truc.
  • mettre des contrôles tactiles sur le truc (le swipe notamment), ce serait top pour tablette / phone (lecture + navigation dans les pages)
  • ajouter un ptit loader (gif ou autre) pour montrer que ça charge entre les différentes pages

Enfin, je crois que j’ai le même soucis que ublo ci-dessus, j’ai certaines vignettes qui ne génèrent pas, mais comme le scan est pas fini, j’vais déjà attendre qu’il ait fait le tour :slight_smile:

En tout cas merci, ça a l’air de répondre à ce que je recherchais pour de la lecture online :wink:

Edit : d’autres ajouts potentiels qui me viennent à l’esprit

  • ajouter une vue “par ligne”, avec potentiellement plus d’info sur la ligne qu’en mode grille, pour permettre un scroll infini avec chargement au fur et à mesure du scroll
  • ajouter un mode “lu”, “pas lu” automatiquement pour stocker l’avancement.
  • preloader les X images suivantes pendant une lecture online

#17

[quote=“Gratz, post:16, topic: 55326”][/quote]
Un peu que ça m’intéresse ! :slight_smile:
 

  •  passer les champs password en type="password", là, on voit le pwd en clair, c'est pas terrible terrible ;)
J'avais déjà essayé, mais pas réussi, je ne sais plus pourquoi. Un truc lié au fait que je hashe le password avant de l'envoyer... Je vais rejeter un oeil.
  • ajoute un bouton de reboot serveur manuel dans l'admin, plutôt / en complément du reboot auto quand tu modifies un truc.
Ah oui tiens. Je vais en mettre un.
  • mettre des contrôles tactiles sur le truc (le swipe notamment), ce serait top pour tablette / phone (lecture + navigation dans les pages)
Pour la lecture de BD il suffit de taper sur le bord de l'écran pour passer à la page suivante. Le swipe serait vraiment mieux ? Je suis un peu réticent à rajouter des trucs trop complexe en Javascript, ce n'est pas un techno que je maitrise.  
  • ajouter un ptit loader (gif ou autre) pour montrer que ça charge entre les différentes pages
Ça peut se faire.
  • Enfin, je crois que j'ai le même soucis que ublo ci-dessus, j'ai certaines vignettes qui ne génèrent pas, mais comme le scan est pas fini, j'vais déjà attendre qu'il ait fait le tour :)
J'ai un peu amélioré la gestion des erreurs de scan dans la prochaine version d'Ubooquity. Mais pour les vignettes à moitié générées je n'ai pas trop d'idée. Du coup je vai rajouter un moyen de forcer la régénération d'un vignette avec un bouton dédié. Comme on pourra au moins voir si le problème est systématique ou pas.
  • ajouter une vue "par ligne", avec potentiellement plus d'info sur la ligne qu'en mode grille, pour permettre un scroll infini avec chargement au fur et à mesure du scroll
Faisable. Tu as quelles infos en tête ? Celles présentes dans la popup des détails d'un livre ?
  • ajouter un mode "lu", "pas lu" automatiquement pour stocker l'avancement.
Même réponse que pour l'ajoût de notes par livre. Jusqu'ici la "philosophie" du soft c'était que toutes les infos affichées provenaient des fichiers scannés et uniquement des fichiers scannés. Une note ou un statut lu/non lu ça c'est techniquement faisable mais ça implique quelques changements un peu lourd. A voir.
  • preloader les X images suivantes pendant une lecture online
La page suivante est déjà préloadée (je pourrais en préloader plus), mais ça n'a pas l'air de fonctionner sous iOS. Il faut que je creuse.

#18

bonjour

tout d’abord BRAVO pour ce joli travail

une question de neophite… Comment faire pour le serveur se lance automatique sur un synology

je l’ai installé, je le lance en ssh depuis mon mac et cela fonctionne
mais j’aimerai que cela soit full autonome et démarre avec le nas 

d’avance merci à tous.

Laurent


#19

Alors je n’ai pas de NAS Synology, mais d’après ce que j’ai pu trouver, il faut copier le script de démarage (ou faire un lien symbolique vers lui) dans un répertoire spécifique comme décrit ci-dessous:

Run Scripts When the System Boots
If you would like to run scripts when the system is booting or shutting down, you can write scripts in start-stop-status. This script will be executed with the “start�? or “stop�? parameter, under the condition that the package is enabled. If you would like a script to be executed during the booting or shutting down process, you can put a startup script in /usr/local/etc/rc.d/.

Following are the rules for the startup script:

  1. It must conatin the suffix “.sh�?. For example, “myprog.sh�?.
  2. The permission must be 755.
  3. It must contain the options “start�? and “stop�?. When the system boots up, it will call “myprog.sh start�?; when it shuts down, it will call “myprog.sh stop�?.

You can refer to the scripts in /usr/syno/etc/rc.d/, which are scripts of Synology’s default services.

Info tirée de ce thread où des gens ont l’air de vouloir faire la même chose que toi.

Par contre il n’est pas impossible qu’il faille également modifier légèrement le script que je fournis (ubooquity.sh), notamment en mettant le chemin absolu vers le fichier Ubooquity.jar et non un chemin relatif (actuellement il y a juste le nom du fichier, donc le script doit être lancé dans le même répertoire).


#20

Merci pour tes retours Twin, après, ce ne sont que des suggestions qui rendraient le soft plus sympa pour moi hein, donc libre à toi d’en faire ce que tu veux :stuck_out_tongue: