Voici COPS : Calibre OPDS (et HTML) PHP Serveur
Pourquoi ?
Je pense que Calibre est un outil merveilleux mais il n'est pas adapté pour n'être utilisé que pour son serveur de contenu.
C'est pourquoi j'ai développé ce serveur OPDS / HTML. J'avais besoin d'un serveur simple pour être installé sur un petit serveur (un superbe Seagate Dockstar). tout cela dans le but de partager mes livres à tous les ordinateurs/tablettes/téléphones/liseuses de la maison.
J'avais initialement pensé Calibre2OPDS mais comme il génère des fichiers statiques il n'était pas possible de faire des recherches. De plus il fallait penser à relancer le traitement à chaque modification de la bibliothèque.
Donc les principaux avantages de COPS sont :
- Peu de dépendances.
- Pas besoin de beaucoup de CPU ou RAM.
- Peu de code.
- La recherche est possible.
- Avec Dropbox / Owncloud, il est très simple d'avoir un serveur OPDS toujours à jour (voir Alternative au serveur de contenu de Calibre).
- La code OPDS est 100% valide (vérifié avec http://opds-validator.appspot.com/).
- Enfin c'était mon premier projet en PHP et c'était fun.
ATTENTION
COPS a été testé par des utilisateurs sur la plupart des serveurs Web (Nginx, Apache, Cherokee, Lighttpd, IIS) et il est aussi utilisé sur beaucoup de NAS (Synology, QNap, ReadyNas).
Mon catalogue COPS est protégé avec “Basic HTTP auth” et HTTPS. C'est suffisamment sécurisé pour moi (mais certainement pas le top).
Du côté OPDS je n'ai testé qu'avec Aldiko, Mantano Reader et FBReader sur Android (A noter que ces trois supportent le fait de protéger la catalogue par un utilisateur/mot de passe). J'ai aussi utilisé Ibis Reader, mais il ne supporte pas les mots de passe. D'autres utilisateurs ont confirmé que COPS fonctionne avec Stanza, Megareader, Shubook and Bluefire.
Fonctionnalités
- Mise à jour des métadonnées des fichiers Epub comme le serveur de contenu de Calibre (à activer avec $config['cops_update_epub-metadata']) : Si vous avez corrigé le nom de l'auteur / une étiquette / le nom de la série d'un livre dans Calibre, alors le fichier que vous allez télécharger contiendra votre correction.
- Colonne personnalisée de Calibre (bientôt).
- Facets dans le flux OPDS pour filter la liste des livres (les seuls clients OPDS le supportant sont Mantano Reader and Bluefire).
- Multilangue : Anglais, Français, Allemand, Russe, Espagnol, Catalan, Italien.
- beaucoup d'autres
Démonstration
Si vous voulez l'essayer, vous pouvez faire pointer votre meilleur client OPDS sur :
http://cops-demo.slucas.fr/feed.php
Et votre navigateur :
Pré-requis
- PHP 5.3/5.4 avec GD & le support SQLite3.
- Un serveur Web avec le support PHP (Nginx, Apache, Cherokee, Lighttpd, IIS).
- Le chemin vers la bibliothèque Calibre (metadata.db, images de couverture et fichier epub).
Sur toutes les distributions basées sur Debian, vous utiliser :
aptitude install php5-gd php5-sqlite
Installation
- Extraire le zip dans un répertoire visible du serveur Web.
- Pour une première installation copier config_local.php.example vers config_local.php
- Modifier config_local.php pour l'adapter à votre configuration.
- Si nécessaire ajouter des nouveaux paramétrages venant de config_default.php
Problèmes connus
Aucune pour le moment. Si vous en avez un, alors saisissez là sur Github
En cas de problème ou question
Vérifiez le Wiki.
Je vérifie ce thread MobileRead régulièrement (si la langue de Shakespeare ne vous rebute pas). Sinon il reste le mail (dans le bas de cette page).
Téléchargement
Ce projet est open source (GPL v2) et est accessible via GitHub. Si vous voulez contribuer, vous pouvez envoyer des merge request via GitHub ou au pire des patches par mail (dans le bas de cette page).
Le fichier est ici (Liste des changements):
Anciennes versions :
Social ...