Maxime Killinger c5f358e07d
All checks were successful
🚀 Docker Build and Push / build-and-push (push) Successful in 58s
feat: init epub audit tool (distroless/python)
- Implemented 'audit_epubs.py' using standard libraries (zipfile, xml.etree) for high performance.
- Created optimized Dockerfile based on 'gcr.io/distroless/python3-debian12' for minimal security attack surface.
- Added strict metadata validation rules.
- Included CI/CD workflow for Gitea Actions.
- Added comprehensive README.md.
2026-01-07 23:31:59 +00:00

Outil d'Audit de Métadonnées EPUB

Cet outil analyse récursivement un répertoire de livres numériques (.epub) pour détecter les métadonnées manquantes ou mal formatées, selon des critères stricts.

Fonctionnalités

  • Léger & Rapide : Utilise uniquement la librairie standard Python (zipfile, xml.etree). Aucune dépendance externe.
  • Conteneurisé : Image Docker Alpine optimisée (Multi-stage build).
  • Règles de Validation Strictes :
    • Titre : Pas d'underscores, pas d'extensions, pas purement numérique.
    • Auteur : Pas de virgules (Format "Nom, Prénom" interdit), pas de "Calibre", pas vide.
    • Identifiants : Doit avoir un ISBN ou un URN valide (autre que Calibre UUID seul).
    • Éditeur : Pas d'URL, pas générique ("Unknown").
    • Couverture : Vérification de la présence dans le manifest et les métadonnées.

Utilisation

Avec Docker (Recommandé)

  1. Construire l'image :

    docker build -t epub-audit .
    
  2. Lancer l'audit (en montant votre dossier de livres dans /books) :

    docker run --rm -v /mnt/user/media/books/ebooks:/books epub-audit
    

En local (Python 3)

python3 audit_epubs.py /chemin/vers/vos/livres

Format de Sortie

Le script affiche une arborescence ASCII des erreurs :

📚 Audit Ebook Exhaustif
📖 [Nom du fichier]
   🔗 [Chemin relatif]
   └ ❌ Erreur détectée...
...
✅ [X] Livres parfaits / [Y] Livres avec erreurs
Description
No description provided
Readme 596 KiB
Languages
Python 95.3%
Dockerfile 4.7%