Le Serveur de contenu calibre¶
Le :guilabel:`Serveur de contenu`calibre vous permet d’accéder à vos bibliothèques calibre et de lire des livres directement dans un navigateur sur votre smartphone ou votre tablette. De ce fait, vous n’avez pas besoin d’installer une application de lecture ou de gestion de livres sur votre téléphone. Utilisez simplement le navigateur. Le serveur télécharge et conserve le livre que vous lisez dans un cache hors ligne afin que vous puissiez le lire même quand il n’y a pas de connexion internet.
Pour démarrer le serveur, cliquez le bouton Connecter/partager`et choisissez :guilabel:`Démarrer le Serveur de contenu. Vous pourriez avoir un message du pare-feu ou de l’antivirus de votre ordinateur demandant si vous voulez autoriser l’accès à calibre.exe
. Cliquez le bouton Autoriser
ou OK
. Ouvrez alors un navigateur (de préférence Chrome ou Firefox) sur votre ordinateur et entrez l’adresse suivante :
Ceci ouvrira une page dans dans votre navigateur vous affichant vos bibliothèques calibre, cliquez sur n’importe laquelle et parcourez les livres qu’elle contient. Cliquez sur un livre, et il vous montrera toutes les métadonnées à propos du livre, accompagnées des boutons Lire et Télécharger le livre. Cliquez sur le bouton Lire pour commencer la lecture du livre.
Note
L’adresse utilisée ci-dessus http://127.0.0.1:8080
ne fonctionnera que sur l’ordinateur qui fait tourner calibre. Pour accéder au serveur à partir d’autres ordinateurs, téléphones, tablettes, etc… il va falloir un peu plus de travail, comme indiqué dans la section suivante.
Accéder au Serveur de contenu depuis d’autres périphériques¶
Il existe deux types d’accès depuis un périphérique distant dont vous aurez généralement besoin. Le premier type, plus simple, est l’accès depuis votre réseau domestique. Si vous exécutez calibre sur un ordinateur de votre réseau domestique et que vous avez également connecté vos autres périphériques au même réseau, vous devriez pouvoir accéder facilement au serveur sur ces appareils.
Accès au serveur à partir de périphériques sur votre réseau domestique¶
Après avoir démarré le serveur dans calibre comme décrit ci-dessus, cliquez à nouveau sur le bouton Connecter/partager. Au lieu de l’action Démarrer le serveur de contenu, vous devriez voir l’action Arrêter le Serveur de contenu. À droite de cette action il y a une adresse IP et un numéro de port. Cela ressemble à un tas de nombres séparés par deux points. Par exemple
Stop Content server [192.168.1.5, port 8080]
Ces chiffres indiquent l’adresse à utiliser pour se connecter au serveur depuis vos périphériques. En suivant l’exemple ci-dessus, l’adresse devient
http://192.168.1.5:8080
La première partie de l’adresse est toujours http://
la partie suivante est l’adresse IP, c’est à dire les chiffres avant la virgule, et pour terminer le numéro de port qui doit être ajouté à l’adresse IP avec deux points (:
). Si vous êtes chanceux, c’est tout ce dont vous devriez avoir besoin pour explorer vos bibliothèques calibre sur votre périphérique. Sinon, continuez la lecture.
Dépannage de la connexion sur un réseau domestique¶
Si vous ne parvenez pas à accéder au serveur depuis votre périphérique, essayez ce qui suit :
Vérifiez que le serveur fonctionne en ouvrant l’adresse
http://127.0.0.1:8080
dans un navigateur fonctionnant sur le même ordinateur que le serveur.Vérifiez que votre pare-feu/anti-virus autorise les connexions à votre ordinateur sur le port
8080
et au programme calibre. La façon la plus simple de savoir si le pare-feu/anti-virus sont la source du problème est de les désactiver temporairement puis d’essayer de vous connecter. Avant d’éteindre le pare-feu, commencez par vous déconnecter d’Internet pour garder votre ordinateur en sécurité.Vérifiez que votre périphérique et votre ordinateur sont sur le même réseau. Cela signifie qu’ils doivent être tous les deux connectés au même routeur sans fil. En particulier aucun ne doit être en train d’utiliser une connexion cellulaire ou une connexion directe WiFi fournie par votre FAI.
Si votre configuration réseau n’est pas standard, il se peut que l’adresse IP affichée dans le menu Connecter/partager soit incorrecte. Dans ce cas, vous devrez déterminer l’adresse IP correcte à utiliser par vous-même. Malheureusement, compte tenu de la grande diversité des configurations réseau possible, il est impossible de donner un mode d’emploi général.
Si vous avez configuré un nom d’utilisateur et un mot de passe, essayez tout d’abord sans pour voir s’il cela pause problème. Certaines périphériques e-ink ont des navigateurs qui ne prennent pas en charge l’authentification. Vous pouvez parfois contourner cela en incluant le nom d’utilisateur et le mot de passe dans l’URL, par exemple :
http://nomutilisateur:motdepasse@192.168.1.2:8080
.Si vous êtes coincé, vous pouvez toujours demander de l’aide sur les forums utilisateurs de calibre.
Accès au serveur depuis n’importe où sur Internet¶
Avertissement
Avant de commencer, vous devriez activer la protection nom d’utilisateur/mot de passe dans le serveur, sinon n’importe qui dans le monde pourra accéder à vos livres. Allez dans Préférences → Partager → Partager sur le net et activez l’option Exiger un nom d’utilisateur et un mot de passe pour accéder au serveur de contenu.
Bien que les détails pour la configuration de l’accès via Internet varient en fonction de la configuration du réseau et du type d’ordinateur que vous utilisez, la méthode de base est la suivante.
Trouvez l’adresse IP externe de l’ordinateur sur lequel vous allez exécuter le serveur. Vous pouvez l’obtenir en visitant le site What is my IP address dans un navigateur sur l’ordinateur.
Si l’ordinateur est derrière un routeur, activez le transfert de port (ou “port forwarding”) sur le routeur pour transférer le port
8080
(ou n’importe quel port sur lequel vous choisissez d’exécuter le serveur de contenu calibre) sur l’ordinateur.Assurez-vous que le serveur calibre est autorisé par tout programme pare-feu/anti-virus sur votre ordinateur.
Maintenant, vous devriez pouvoir accéder au serveur depuis n’importe quel périphérique connecté à Internet en utilisant l’adresse IP obtenue lors de la première étape. Par exemple, si l’adresse IP obtenue était
123.123.123.123
et que le port que vous utilisez pour le serveur calibre est8080
, l’adresse à utiliser sur votre périphérique devient:http://123.123.123.123:8080
.Accessoirement, vous pouvez utilisez un service comme no-ip pour mettre en place une adresse facile à retenir à utiliser à la place de l’adresse IP obtenue à la première étape.
Note
Pour une sécurité maximum, vous devriez aussi activer l’HTTPS sur le serveur de contenu. Vous pouvez soit le faire directement dans le serveur en fournissant le chemin vers le certificat HTTPS à utiliser dans les configurations avancées du serveur, ou vous pouvez configurer un proxy inversé (reverse proxy) comme décris ci-dessous, pour utiliser une configuration HTTP déjà existante.
L’interface du serveur¶
L’interface du serveur est une version simplifiée de l’interface principale de calibre, optimisée pour l’utilisation d’écrans tactiles. L’écran d’accueil vous affiche les livres que vous êtes en train de lire aussi bien que de vous permettre de choisir une bibliothèque calibre que vous voulez parcourir. Le serveur, dans calibre, vous donne accès à toutes vos bibliothèques, pas seulement à une seule, comme précédemment.
La liste de livres¶
La liste de livres du serveur est une simple grille de couvertures. Appuyez sur une couverture pour voir les métadonnées détaillées pour un livre, ou pour lire un livre. Si vous préférez une liste plus détaillée, vous pouvez changer la vue par défaut en cliquant sur les trois points verticaux dans le coin supérieur droit.
Trier et rechercher la liste de livres devrait être familier aux utilisateurs de calibre. Ils peuvent être accédés en cliquant sur leurs icônes dans la partie supérieure droite. Ils fonctionnent tous deux exactement de la même manière que dans le programme principal calibre. La page de recherche vous permet même de construire des requêtes en cliquant sur auteurs/étiquettes/etc., exactement comme vous le faites en utilisant le Navigateur d’étiquettes du programme principal.
Une fonctionnalité très appréciée du programme principal, Bibliothèques virtuelles est aussi présente dans l’interface du serveur. Cliquez sur les trois points verticaux dans le coin supérieur doit pour choisir une Bibliothèque virtuelle.
La visionneuse de livre¶
Vous pouvez lire n’importe quel livre dans votre bibliothèque calibre en appuyant simplement dessus et sélectionnant ensuite le bouton Lire. La visionneuse de livres est très simple de fonctionnement. Vous pouvez à la fois appuyer et glisser pour tourner les pages. Glisser vers le haut/bas bascule entre les chapitres. Appuyer le quart supérieur de l’écran vous donne des contrôles détaillés et des préférences de visionneuse.
Si vous laissez le Serveur de contenu en fonctionnement, vous pouvez même ouvrir le même livre sur de multiples appareils et il se souviendra de votre dernière position de lecture. S’il ne le fait pas vous pouvez forcer une synchronisation en appuyant dans le quart supérieur et en choisissant Sync.
Compatibilité du navigateur¶
Le nouveau serveur calibre fait un usage intensif des fonctionnalités avancées de HTML 5 et CSS 3. En tant que tel, il nécessite un navigateur à jour pour être utilisé. Il a été testé sur Android Chrome et iOS Safari ainsi que sur Chrome et Firefox sur le bureau.
Le serveur est attentif à utiliser les fonctionnalités qui ont soit déjà été standardisées soit sur les voies de la standardisation. En tant que tel s’il ne fonctionne pas actuellement avec votre navigateur, il le fera probablement une fois que ce navigateur aura rattrapé son retard.
Si vous utilisez un navigateur particulièrement ancien ou limité ou que vous n’aimez pas exécuter JavaScript, vous pouvez utiliser la vue « mobile », en ajoutant simplement /mobile
à l’adresse du serveur.
Note
Sous IOS, Apple permet un seul moteur de navigation, donc Firefox, Chrome et Safari sont actuellement le même navigateur sous le capot. La nouvelle interface serveur requiert IOS 10.3.2 ou plus récent. Sous Android, le serveur a été testé avec Chrome 58 et plus récent.
Activer le support hors ligne¶
Les fabricants de navigateurs ont essayé de forcer les gens à utiliser SSL en désactivant les fonctions avancées de leur navigateur pour les connexions HTTP simples. L’une de ces victimes est ApplicationCache, qui a été utilisé dans calibre pour l’assistance hors ligne. Par conséquent, aujourd’hui, malheureusement, le mode hors ligne ne fonctionne que si vous gardez l’onglet du navigateur ouvert. De plus, dans Firefox sous Android, vous devrez taper about:config
et rechercher browser.tabs.useCache
et le définir sur true
.
Gérer les comptes utilisateurs uniquement à partir de la ligne de commande¶
Le programme calibre a une belle section dans Préférences pour vous permettre de gérer les comptes utilisateurs pour le serveur. Si vous voulez exécuter le serveur autonome et ne pouvez exécuter le programme principal calibre sur le même ordinateur/compte utilisateur, vous pouvez également gérer les utilisateurs en utilisant uniquement la ligne de commande.
Vous pouvez gérer les comptes utilisateur en utilisant l’option --manage-users
sur le programme calibre-server
autonome. Supposez que vous voulez stocker la base de données utilisateur dans le répertoire /srv/calibre
, alors créez-le en exécutant
calibre-server --userdb /srv/calibre/users.sqlite --manage-users
Suivez juste les instructions pour créer les comptes utilisateur, définir leurs permissions, etc. Une fois que vous avez fini, vous pouvez exécuter le serveur en tant que
calibre-server --userdb /srv/calibre/users.sqlite --enable-auth
Il utilisera les comptes utilisateur que vous avez créé à l’étape précédente.
Intégration du Serveur de contenu calibre dans d’autres serveurs¶
Ici, nous allons vous montrer comment intégrer le serveur de contenu calibre dans un autre serveur. La raison la plus fréquente de faire cela est d’utiliser SSL ou de desservir la bibliothèque calibre comme partie d’un site plus grand. La technique de base consiste à exécuter le serveur calibre et à configurer un proxy inversé à partir du serveur principal.
Un proxy inversé est quand votre serveur normal accepte les requêtes entrantes et les transmet au serveur calibre. Il lit alors la réponse du serveur calibre et la transmet au client. Ceci signifie que vous pouvez simplement exécuter le serveur calibre comme à la normale sans essayer de l’intégrer étroitement avec votre serveur principal.
Utilisation d’un hôte totalement virtuel¶
La configuration la plus simple est de dédier un hôte totalement virtuel au serveur calibre. Dans ce cas, exécuter le serveur calibre comme ceci:
calibre-server
Maintenant configurer l’hôte virtuel dans votre serveur principal, par exemple pour nginx:
http {
client_max_body_size 64M; # needed to upload large books
}
server {
listen [::]:80;
server_name myserver.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Ou, pour Apache:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ServerName myserver.example.com
AllowEncodedSlashes On
ProxyPreserveHost On
ProxyPass "/" "http://localhost:8080/"
</VirtualHost>
Utilisation d’un préfixe d’URL¶
Si vous ne voulez pas dédier un hôte totalement virtuel à calibre. vous pouvez l’avoir pour utiliser un préfixe d’URL. Démarrer le serveur calibre comme ceci:
calibre-server --url-prefix /calibre --port 8080
Ici le paramètre clé est --url-prefix/calibre
. Ceci entraîne le Serveur de contenu à servir toutes les URLs préfixées par /calibre
. Pour voir ceci en action, visitez http://localhost:8080/calibre
dans votre navigateur. Vous devriez voir le site web normal du Serveur de contenu, mais maintenant il s’exécutera sous /calibre
.
Avec nginx, la configuration nécessaire est
http {
client_max_body_size 64M; # needed to upload large books
}
proxy_set_header X-Forwarded-For $remote_addr;
location /calibre/ {
proxy_buffering off;
proxy_pass http://127.0.0.1:8080$request_uri;
}
location /calibre {
# we need a trailing slash for the Application Cache to work
rewrite /calibre /calibre/ permanent;
}
Pour Apache, activer tout d’abord les modules proxy dans Apache, en ajoutant ce qui suit à httpd.conf
:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
La technique exacte pour activer les modules proxy variera selon votre installation Apache. Une fois que vous avez activé les modules proxy, ajouter les règles suivantes à httpd.conf
(ou si vous utilisez des hôtes virtuels au fichier conf pour l’hôte virtuel en question):
AllowEncodedSlashes On
RewriteEngine on
RewriteRule ^/calibre/(.*) http://127.0.0.1:8080/calibre/$1 [proxy]
RedirectMatch permanent ^/calibre$ /calibre/
C’est tout, vous serez maintenant capable d’accéder au Serveur de contenu calibre sous l’URL /calibre
dans votre serveur principal. Les règles ci-dessus transitent toutes les requêtes sous /calibre
vers le serveur calibre s’exécutant sur le port 8080 et grâce à l’option --url-prefix
ci-dessus, le serveur calibre les traite de manière transparente.
Note
Lors de l’utilisation d’un proxy inversé, vous devrez dire au Serveur de contenu calibre d’écouter uniquement le localhost, en utilisant --listen-on 127.0.0.1
. De cette manière, le serveur écoutera uniquement les connexions venant du même ordinateur, càd du proxy inversé.
Note
Si vous avez configuré SSL pour votre serveur principal, vous devrez dire au serveur calibre d’utiliser l’authentification basique au lieu de l’authentification digest, plus rapide. Pour faire cela, transmettez l’option --auth-mode=basic
à calibre-server
.
Créer un service pour le serveur calibre sur un système Linux moderne¶
Vous pouvez aisément créer un service pour exécuter le serveur calibre sur sur un système moderne (systemd) basé sur Linux. Il faut seulement créer le fichier /etc/systemd/system/calibre-server.service
avec le contenu afficher ci-dessous
[Unit]
Description=calibre Content server
After=network.target
[Service]
Type=simple
User=mylinuxuser
Group=mylinuxgroup
ExecStart=/opt/calibre/calibre-server "/path/to/calibre library folder"
[Install]
WantedBy=multi-user.target
Changer mylinuxuser
et mylinuxgroup
en n’importe quel utilisateur et groupe sous lesquels vous désirez que le serveur tourne. Ceci devrait être le même utilisateur et groupe que ceux qui possèdent les fichiers dans le répertoire de la bibliothèque calibre. Notez que ce n’est généralement pas une bonne idée d’exécuter le serveur en tant que root. Changer également le chemin vers le répertoire de la bibliothèque calibre pour qu’il convienne à votre système. Vous pouvez ajouter de multiples bibliothèques si nécessaire. Voir l’aide pour la commande calibre-server
.
Maintenant exécutez
sudo systemctl start calibre-server
pour démarrer le serveur. Vérifiez son statut avec
sudo systemctl status calibre-server
Pour le faire démarrer au boot, exécutez
sudo systemctl enable calibre-server
Note
Le serveur calibre ne nécessite pas un serveur X en cours d’exécution, mais il nécessite que les librairies X soient installées.
Note
Le serveur calibre supporte également l’activation du socket systemd, vous pouvez donc l’utiliser, si nécessaire, bien sûr.