phramusca

This is my homepage.

View on GitHub
Ubuntu-fr: Calibre
Site: Calibre
Repo: Calibre

Calibre

Accès à la librairie Kobo.

Configuration

Envoyer vers le périphérique

Je trouve préférable d’envoyer les livres venant de Calibre dans un dossier spécifique, au lieu d’à la racine directement.

Pour cela, dans Périphérique/Configurer ce périphérique, il suffit d’ajouter un dossier dans le Modèle de sauvegarde.

Exemple: calibre/{author_sort}/{title} - {authors} (au lieu de {author_sort}/{title} - {authors} par défaut). Bien sur, il est possible de changer le modèle. Voir la documentation dans Calibre.

Attention, il ne vaut mieux pas toucher aux dossiers cachés:

├── .adobe-digital-editions  # Gestion des DRM
├── .kobo                    # Fichiers système de Kobo
│   ├── ...
│   ├── kepub                # Stockage des libres Kobo
│   └── ...
└── .kobo-images             # Un cache des images Kobo a priori

TODO: Comment gérer les collections, l’état de lecture (reading, read, … le %), … ?

Calibre web

OPDS

TODO

calibre-web

TODO

https://phramusca.github.io/wiki/docker/#calibre-web

https://github.com/janeczku/calibre-web#calibre-web

http://rpi5.local:8083/

http://rpi5.local:8083/opds

KOReader

TODO

calibre2opds: Obsolète

Attention: pas de mises à jour depuis 2015, version 3.15 (et 2 betas en 2018, non testées) !

=> Bien compliqué, plus maintenu, bugs d’affichages, … mieux vaut utiliser calibre-web

Repo GitHub

TODO , documenter: Support OPDS sur Kobo (fnac) inenviseagable https://www.liseuses.net/liseuses-opds/ sauf à passer sur une inBook https://www.liseuses.net/les-liseuses-inkbook-chez-youboox/

Installer calibre2opds

TODO: Lancer avec java8 pour résoudre les problèmes d’encodage de caractères

Lancer calibre2opds

  ~/Calibre2opds/rungui.sh

TODO:

Problèmes d’images

TODO: On y était presque :(

✘ raph@raph-B450M-DS3H  ~/Documents/03-Divers/Livres  ./FixImagesForCalibre2opds.sh
=== Nettoyage des images dans : Bibliothèque calibre ===
Sauvegardes dans : backup_covers_20251011_234129
69095 fichiers trouvés.
Traitement: [==============================>] 100% (69095/69095)   ./FixImagesForCalibre2opds.sh: ligne 80: fin de fichier (EOF) prématurée lors de la recherche du « " » correspondant

Si vous avez des erreurs sur la lecture de fichiers image, vous pouvez les convertir avec ce script

#!/bin/bash

# Utilisation : ./FixImagesForCalibre2opds.sh [DOSSIER_CIBLE]
# Par défaut : "Bibliothèque calibre" (dans le dossier courant)

TARGET_DIR="${1:-Bibliothèque calibre}"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_DIR="backup_covers_$TIMESTAMP"
mkdir -p "$BACKUP_DIR"
COUNT=0

echo "=== Nettoyage des images dans : $TARGET_DIR ==="
echo "Sauvegardes dans : $BACKUP_DIR"

# Compte des fichiers
echo -n "Compte des fichiers: 0"
TOTAL=0
while IFS= read -r -d '' file; do
    ((TOTAL++))
    [ $((TOTAL % 100)) -eq 0 ] && echo -ne "\rCompte des fichiers: $TOTAL"
done < <(find "$TARGET_DIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -print0)

# Efface complètement la ligne et affiche le résultat final
echo -e "\r\033[K$TOTAL fichiers trouvés."

# Deuxième passe pour le traitement
CURRENT=0
LAST_PERCENT=0
files=()
while IFS= read -r -d '' file; do
    files+=("$file")
done < <(find "$TARGET_DIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) -print0)

for file in "${files[@]}"; do
    ((CURRENT++))

    # Calcul du pourcentage (limité à 100%)
    PERCENT=$((CURRENT * 100 / TOTAL))
    [ $PERCENT -gt 100 ] && PERCENT=100

    # Traitement des fichiers
    colorspace=$(identify -format "%[colorspace]" "$file" 2>/dev/null)

    if [[ "$colorspace" == "CMYK" ]]; then
        rel_path="${file#$TARGET_DIR/}"
        backup_path="$BACKUP_DIR/$(dirname "$rel_path")"
        mkdir -p "$backup_path"

        echo -e "\n[CONVERSION] $rel_path"
        echo "  Avant : $colorspace"
        convert "$file" -colorspace RGB -strip "$file" 2>/dev/null
        new_colorspace=$(identify -format "%[colorspace]" "$file" 2>/dev/null)
        echo "  Après : $new_colorspace"
        cp "$file" "$backup_path/" 2>/dev/null
        echo "  --> Sauvegardée dans $backup_path/"
        ((COUNT++))
    else
        if file "$file" | grep -qi "PhotometricInterpretation=CMYK"; then
            rel_path="${file#$TARGET_DIR/}"
            backup_path="$BACKUP_DIR/$(dirname "$rel_path")"
            mkdir -p "$backup_path"

            echo -e "\n[NETTOYAGE] $rel_path (métadonnées CMYK)"
            convert "$file" -strip "$file" 2>/dev/null
            cp "$file" "$backup_path/" 2>/dev/null
            echo "  --> Métadonnées nettoyées, sauvegardée dans $backup_path/"
            ((COUNT++))
        fi
    fi

    # Mise à jour de la progression toutes les 100 images ou si le pourcentage change
    if (( CURRENT % 100 == 0 )) || (( PERCENT != LAST_PERCENT )); then
        PROGRESS_BAR=$(printf "%${PERCENT}s" | tr ' ' '=')
        PROGRESS_BAR=${PROGRESS_BAR:0:30}
        echo -ne "\rTraitement: [$PROGRESS_BAR>] ${PERCENT}% ($CURRENT/$TOTAL)   "
        LAST_PERCENT=$PERCENT
    fi
done

echo -e "\n--------------------------------------------------"
echo "Traitement terminé. $COUNT images corrigées sur $TOTAL."