--- title: Papermerge created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, document-management, ged, ocr, python, django, vuejs] confidence: high contested: false sources: [https://selfh.st/apps/?tag=document-management, https://github.com/papermerge/papermerge-core, https://www.papermerge.com/] --- # Papermerge 📁 > GED **moderne et élégante** écrite en Python (Django) avec frontend Vue.js 3 : scan, OCR, tags, arborescence, et une expérience utilisateur qui rivalise avec les solutions SaaS comme Notion ou Google Drive. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://www.papermerge.com/ | | **GitHub** | https://github.com/papermerge/papermerge-core | | **License** | Apache-2.0 | | **Langage** | Python / Django + Vue.js 3 (TypeScript) | | **Étoiles** | ⭐308 | | **Dernière MAJ** | 2026-05-25 | | **Catégorie** | [[cat-document-management]] | ## Description Papermerge est une **GED open source** relativement jeune (1ère release stable v2 en 2022) qui mise tout sur l'**expérience utilisateur**. Le frontend Vue.js 3 + Tailwind offre une UI fluide, type « drive cloud » (drag&drop, preview instantanée, breadcrumb, recherche rapide), là où Paperless-ngx et Mayan restent plus « admin Django » dans l'âme. L'idée : proposer une **alternative crédible à Google Drive + OCR** pour gérer ses documents personnels ou d'équipe. Fonctionnalités principales : **OCR** (Tesseract 5 avec modèles LSTM), **tags hiérarchiques** (tag parent/enfant), **arborescence de dossiers** illimitée, **aperçu** PDF/images natif dans le navigateur, **partage** de documents par lien (avec expiration), **API REST** complète (OpenAPI), **utilisateurs/groupes/permissions**, **OCR auto** à l'upload, **extraction de métadonnées** par regex, **page OCR manuelle** pour corriger les erreurs. L'**architecture** est en microservices Docker : `core` (Django REST), `frontend` (Vue.js), `worker` (Celery pour OCR/tâches lourdes), `db` (Postgres), `broker` (Redis). C'est plus complexe à déployer que Paperless mais bien découplé. La **v3** (en cours, 2024-2025) apporte un éditeur de documents in-app, le support natif des images multi-pages, et un système d'OCR encore plus rapide (GPU optionnel). Le **modèle commercial** Freemium (cloud payant) finance le développement open source, ce qui assure une roadmap active. ## Installation ### Via Docker Compose (recommandé) ```yaml # docker-compose.yml services: backend: image: papermerge/papermerge-core:latest container_name: papermerge-backend restart: unless-stopped expose: - "8000" environment: - DJANGO_SETTINGS_MODULE=papermerge.settings - DATABASE_URL=postgres://papermerge:***@db:5432/papermerge - REDIS_URL=redis://broker:6379/0 - PAPERMERGE_SECRET_KEY=***- SECRET_KEY_HERE - PAPERMERGE_ALLOWED_HOSTS=* - PAPERMERGE_OCR_LANG=fra+eng - PAPERMERGE_OCR_DEFAULT_PAGE_SEG_MODE=1 volumes: - papermerge-data:/app/data depends_on: - db - broker frontend: image: papermerge/papermerge-frontend:latest container_name: papermerge-frontend restart: unless-stopped ports: - "8081:8080" environment: - PAPERMERGE_API_URL=http://backend:8000 worker: image: papermerge/papermerge-core:latest container_name: papermerge-worker restart: unless-stopped environment: - DJANGO_SETTINGS_MODULE=papermerge.settings - DATABASE_URL=postgres://papermerge:ChangeMe@db:5432/papermerge - REDIS_URL=redis://broker:6379/0 - PAPERMERGE_SECRET_KEY=ChangeMeWithOpensslRandHex64 volumes: - papermerge-data:/app/data depends_on: - db - broker db: image: postgres:16-alpine container_name: papermerge-db restart: unless-stopped environment: - POSTGRES_DB=papermerge - POSTGRES_USER=papermerge - POSTGRES_PASSWORD=ChangeMeDbPass! volumes: - papermerge-db:/var/lib/postgresql/data broker: image: redis:7-alpine container_name: papermerge-redis restart: unless-stopped volumes: papermerge-data: papermerge-db: ``` > **Note** : pour la v3 (alpha), la stack se simplifie (image unique), cf. [doc d'install v3](https://docs.papermerge.com/). ### Installation manuelle 1. **Pré-requis** : Python 3.11+, Node.js 18+ (build frontend), PostgreSQL 14+, Redis 6+, Tesseract 5 + modèles `fra` et `eng`, ImageMagick. 2. **Backend** : `pip install papermerge-core`, `python manage.py migrate`, `python manage.py createsuperuser`. 3. **Frontend** : `git clone https://github.com/papermerge/papermerge.js && cd papermerge.js && npm install && npm run build` (sert sur :8080). 4. **Worker** : `celery -A papermerge worker` (process séparé). 5. **Prod** : gunicorn derrière Nginx, worker en systemd. ## Configuration - **Premier admin** : créé via `createsuperuser`, se connecter sur le frontend pour configurer. - **OCR** : `PAPERMERGE_OCR_LANG=fra+eng` permet d'extraire le texte français et anglais. Ajouter `deu`, `spa` selon les besoins. - **Tessdata** : monter `/usr/share/tesseract-ocr/4.00/tessdata/` du host (ou installer les `.traineddata` dans l'image custom). - **Tags** : créer une taxonomie **avant** l'import (ex: Énergie, Banque, Santé, Administratif, Auto, Travail). - **Partage** : activer le partage par lien dans Settings → Sharing, définir une expiration par défaut. - **Backups** : `pg_dump` quotidien + rsync du dossier `data/`. - **HTTPS** : obligatoire via reverse proxy. - **Reverse proxy** : configurer `client_max_body_size` (uploads jusqu'à 200 Mo pour les scans HD). ## Alternatives ### Open Source - [[app-paperless-ngx]] — GED plus mature, plus grande communauté (Python/Django) - [[app-mayan-edms]] — EDMS enterprise avec workflows (Python) - [[app-papra]] — alternative TypeScript minimaliste - [[app-docspell]] — EDMS Scala axé OCR - [[app-stirling-pdf]] — outil PDF, complémentaire (post-traitement) - **Teedy** (Sismics Docs) — GED Java simple - **Alfresco** — GED enterprise Java ### Propriétaires - **Google Drive + Docs** — cloud Google, OCR limité - **Notion** — notes + docs, pas vraiment GED - **Dropbox** — cloud freemium - **OneDrive** — Microsoft, intégré Office - **Box** — cloud enterprise - **DEVONthink** — GED Mac/iOS, très bonne réputation - **Evernote** — freemium, OCR de qualité ## Sécurité - **HTTPS obligatoire** + HSTS via reverse proxy. - **2FA** : supporté via `django-otp` (TOTP, WebAuthn en option). - **SSO OIDC/SAML** : intégrable via plugins tiers (`django-allauth`). - **Permissions par groupe** : créer des groupes (Famille, Pro, Archives) avec ACL différentes. - **Chiffrement at-rest** : monter les volumes sur stockage chiffré. - **Partage par lien** : tokens signés avec expiration, révocables, traçables (logs). - **Audit** : logs d'accès aux documents, actions utilisateurs. - **Mises à jour** : suivre les releases (régulières), les CVE Django sont corrigées rapidement. - **Backups testés** : tester la restauration complète (DB + fichiers), critique pour une GED. - **Isolation** : Papermerge ne doit pas être exposé directement sur Internet sans auth. ## Ressources - Site officiel : https://www.papermerge.com/ - Documentation : https://docs.papermerge.com/ - GitHub (core) : https://github.com/papermerge/papermerge-core - GitHub (frontend) : https://github.com/papermerge/papermerge.js - Discord communautaire : https://discord.gg/8K6XuC9T5S - selfh.st : https://selfh.st/apps/?tag=document-management ## Pages Liées - [[cat-document-management]] — catégorie parente - [[app-paperless-ngx]] — concurrent principal - [[app-mayan-edms]] — alternative enterprise - [[app-papra]] — alternative TS minimaliste - [[app-stirling-pdf]] — outil PDF complémentaire - [[recettes-docker-compose]] — templates de déploiement - [[securisation-home-lab]] — bonnes pratiques sécurité