6.9 KiB
title: PdfDing created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, document-management, pdf, lecteur, python, django, minimaliste] confidence: high contested: false sources: [https://selfh.st/apps/?tag=document-management, https://github.com/mrmn2/PdfDing, https://www.pdfding.com/]
PdfDing 📑
Gestionnaire de PDF minimaliste écrit en Python/Django : uploadez, taggez, lisez et partagez vos PDF en ligne. Pensé pour remplacer Pocket/Instapaper mais pour les PDF, avec un lecteur web intégré.
| Métadonnée | Valeur |
|---|---|
| Site web | https://www.pdfding.com/ |
| GitHub | https://github.com/mrmn2/PdfDing |
| License | MIT |
| Langage | Python / Django (frontend Alpine.js + Tailwind) |
| Étoiles | ⭐101 |
| Dernière MAJ | 2026-04-20 |
| Catégorie | cat-document-management |
Description
PdfDing est un gestionnaire de PDF personnel qui se distingue de Paperless/Papermerge en se concentrant sur la lecture plutôt que l'archivage de masse. L'idée : un endroit unique pour stocker tous les PDF qu'on accumule (articles, livres, manuels, recettes, notes) et les lire depuis n'importe quel navigateur avec un lecteur web intégré (rendu PDF.js), sans avoir à les télécharger.
Fonctionnalités principales : upload de PDF (drag&drop, multiple), tags (libres, multiples par PDF), aperçu in-app avec progression de lecture (synchronisée entre devices), recherche dans les noms/tags, partage par lien (avec expiration, QR code), modes clair/sombre, dashboard avec statistiques de lecture, thème personnalisable (couleur d'accent). L'UI est moderne et rapide (Alpine.js + Tailwind), sans la lourdeur d'un Paperless.
L'architecture est volontairement simple : un seul service Django, SQLite ou PostgreSQL, pas de worker Celery (tout est synchrone), pas de service d'OCR (PdfDing n'indexe pas le contenu, juste les métadonnées). Parfait pour un homelab léger (Raspberry Pi 4, NAS Synology). Le mode multi-utilisateurs est supporté, ce qui permet de partager une instance familiale ou associative. Le modèle freemium (cloud payant) finance le développement open source.
Installation
Via Docker Compose (recommandé)
# docker-compose.yml
services:
pdfding:
image: mrmn2/pdfding:latest
container_name: pdfding
restart: unless-stopped
ports:
- "8765:8000"
environment:
- DJANGO_SETTINGS_MODULE=PdfDing.settings
- SECRET_KEY=ChangeMeWithOpensslRandHex50
- ALLOWED_HOSTS=*
- DATABASE_URL=sqlite:///data/db.sqlite3
- MEDIA_ROOT=/data/media
- STATIC_ROOT=/data/static
- CSRF_TRUSTED_ORIGINS=https://pdf.example.com
- EMAIL_HOST=mail.example.com
- EMAIL_PORT=587
- EMAIL_HOST_USER=noreply@example.com
- EMAIL_HOST_PASSWORD=ChangeMeSmtp!
- EMAIL_USE_TLS=true
- DEFAULT_FROM_EMAIL=PdfDing <noreply@example.com>
volumes:
- pdfding-data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health/"]
interval: 30s
timeout: 10s
retries: 3
volumes:
pdfding-data:
Astuce : remplacer SQLite par PostgreSQL en changeant
DATABASE_URL=postgres://user:***@host:5432/pdfdinget en ajoutant un servicedb(imagepostgres:16-alpine).
Installation manuelle
- Pré-requis : Python 3.10+, pip, SQLite (inclus) ou PostgreSQL 13+, libpoppler (pour prévisualisation).
- Clone & install :
git clone https://github.com/mrmn2/PdfDing && cd PdfDing && pip install -r requirements.txt. - Config : copier
.env.examplevers.envet renseignerSECRET_KEY,ALLOWED_HOSTS,DATABASE_URL. - Migrations :
python manage.py migrate. - Statique :
python manage.py collectstatic. - Lancer :
python manage.py runserver 0.0.0.0:8000(dev) ougunicorn PdfDing.wsgi(prod). - Premier admin :
python manage.py createsuperuser.
Configuration
- Premier admin : créé via
createsuperuser, se connecter pour configurer. - Multi-user : par défaut, signup ouvert (à désactiver via
SIGNUP_ENABLED=false). - Tags : créer depuis l'UI, autocomplete sur nouveaux PDF.
- Partage : activer le partage public par lien dans Settings → Sharing.
- Thème : 6 thèmes couleurs, mode clair/sombre, persistant en localStorage.
- SMTP : configurer un serveur SMTP pour l'envoi d'emails (reset password, partage par email).
- HTTPS : obligatoire via reverse proxy.
- Backups : copier
/data(DB SQLite + fichiers PDF + statiques). - Reverse proxy : bien gérer
client_max_body_size(uploads PDF jusqu'à 50 Mo).
Alternatives
Open Source
- app-stirling-pdf — boîte à outils PDF complète (Java)
- app-paperless-ngx — GED complète avec OCR (beaucoup plus lourd)
- app-papermerge — GED moderne avec OCR (Python/Vue)
- app-papra — GED minimaliste TypeScript
- app-i-librarian — bibliothèque PDF axée recherche (PHP)
- app-sheetable — gestionnaire de spreadsheets (TypeScript)
- Calibre — bibliothèque e-books (PDF/EPUB/MOBI)
- Alexandria — bookmark manager PDF
- Hammond (legacy) — lecteur PDF Django simple
Propriétaires
- Pocket (Mozilla, abandonné en 2025) — lire plus tard
- Instapaper — lire plus tard, freemium
- Readwise Reader — lecteur universel, freemium
- Apple Books — bibliothèque PDF/e-books iCloud
- Google Drive PDF Viewer — basique
- Adobe Acrobat Reader — référence desktop
- Foxit Reader — lecteur PDF desktop populaire
- Mendeley — gestionnaire PDF universitaire (freemium)
Sécurité
- HTTPS obligatoire + HSTS via reverse proxy.
- CSRF : Django CSRF actif par défaut, vérifier
CSRF_TRUSTED_ORIGINSderrière reverse proxy. - Auth : email + mot de passe (hashés PBKDF2), pas de 2FA natif.
- Sessions : cookies
Secure,HttpOnly,SameSite=Laxpar défaut. - SSO : non supporté nativement — compter sur Authelia/Authentik via reverse proxy.
- Permissions : multi-user avec isolation par utilisateur (un user ne voit pas les PDF d'un autre).
- Partage public : liens signés avec UUID v4 et expiration, révocables.
- Mises à jour : suivre les releases GitHub (Django + dépendances).
- Backups : PdfDing étant SQLite-based, un
cpdu.dbsuffit. Tester régulièrement. - Chiffrement at-rest : monter le volume sur stockage chiffré.
Ressources
- Site officiel : https://www.pdfding.com/
- Documentation : https://www.pdfding.com/help/
- GitHub : https://github.com/mrmn2/PdfDing
- selfh.st : https://selfh.st/apps/?tag=document-management
Pages Liées
- cat-document-management — catégorie parente
- app-stirling-pdf — outil PDF complémentaire
- app-paperless-ngx — GED complète si besoin d'OCR
- app-i-librarian — bibliothèque PDF avancée
- recettes-docker-compose — templates de déploiement
- securisation-home-lab — bonnes pratiques sécurité