Files
wiki/Catalogue-Self-Hosted/apps/app-i-librarian.md
T
2026-06-09 18:40:21 +02:00

7.5 KiB


title: "I, Librarian" created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, document-management, pdf, bibliotheque, php, recherche, scientifique] confidence: high contested: false sources: [https://selfh.st/apps/?tag=document-management, https://github.com/mrzv/librarian, https://www.i-librarian.net/]

I, Librarian 📚

Gestionnaire de bibliothèque PDF pour chercheurs/académiques : indexation full-text, annotations, collections partagées, références bibliographiques, et lecteur PDF intégré avec highlighting synchronisé.

Métadonnée Valeur
Site web https://www.i-librarian.net/
GitHub https://github.com/mrzv/librarian
License AGPL-3.0
Langage PHP (backend) + JavaScript (frontend), PostgreSQL
Étoiles 32
Dernière MAJ 2026-04-05
Catégorie cat-document-management

Description

I, Librarian est un gestionnaire de bibliothèque PDF conçu pour les chercheurs, doctorants, enseignants et équipes de R&D qui accumulent des centaines/milliers de PDF scientifiques. Contrairement à Calibre (orienté ebooks) ou Paperless (orienté GED), I, Librarian est spécialisé dans le workflow de recherche bibliographique : import depuis DOI/arXiv, extraction de métadonnées BibTeX, indexation full-text, lecteur PDF avec annotations synchronisées (highlights, sticky notes), recherche avancée multi-critères, et partage de collections entre collaborateurs.

L'indexation est le point fort : I, Librarian extrait le texte intégral de chaque PDF (via pdftotext ou OCR Tesseract si scanné), indexe dans une base PostgreSQL avec extension Tantivy (search engine Rust) pour des recherches sub-secondes sur des collections de 100k+ documents. Le lecteur PDF intégré (PDF.js) affiche le document et synchronise les highlights avec la base : vous surlignez un passage dans le PDF, l'annotation est stockée et retrouvable via la recherche full-text.

L'écosystème scientifique comprend : import depuis Zotero, Mendeley, DOI batch, arXiv bulk ; export BibTeX, Endnote, RIS ; intégration ORCID pour identifier les auteurs ; système de collections partagées entre groupes (utile pour un labo ou un département). L'UI est dense et fonctionnelle (pas moderne à la Notion, plus « Zotero web »), avec un mode sombre. C'est un projet mature (1ère release 2012), avec une base d'utilisateurs académique solide.

Installation

Via Docker Compose (recommandé)

# docker-compose.yml
services:
  librarian:
    image: mrzv/librarian:latest
    container_name: i-librarian
    restart: unless-stopped
    ports:
      - "8084:80"
    volumes:
      - librarian-data:/var/www/data
      - librarian-library:/var/www/library
    environment:
      - POSTGRES_HOST=db
      - POSTGRES_DB=librarian
      - POSTGRES_USER=librarian
      - POSTGRES_PASSWORD=***      - LIBRARIAN_SECRET=***      - LIBRARIAN_URL=https://lib.example.com
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    container_name: librarian-db
    restart: unless-stopped
    environment:
      - POSTGRES_DB=librarian
      - POSTGRES_USER=librarian
      - POSTGRES_PASSWORD=***    volumes:
      - librarian-db:/var/lib/postgresql/data

volumes:
  librarian-data:
  librarian-library:
  librarian-db:

Pré-requis côté hôte : installer pdftotext (poppler-utils), tesseract-ocr + langues (fra, eng), imagemagick pour le bon fonctionnement du container.

Installation manuelle

  1. Pré-requis : PHP 8.0+, PostgreSQL 13+, Apache/Nginx, pdftotext (poppler-utils), tesseract-ocr, imagemagick, unzip, curl.
  2. Téléchargement : récupérer l'archive depuis i-librarian.net/download ou cloner le repo GitHub.
  3. Déploiement : copier dans /var/www/html/librarian, configurer Apache/Nginx (rewrite rules incluses dans le repo).
  4. Install web : ouvrir https://lib.example.com/install/ dans le navigateur, suivre l'assistant (DB, secret, admin).
  5. Premier admin : créé via l'install wizard.
  6. Crons : configurer un cron pour php librarian/cron.php (indexation périodique).

Configuration

  • Premier admin : créé lors de l'install web, noter le mot de passe.
  • Import DOI/arXiv : dans Library → Import, coller un DOI unique ou un lot (jusqu'à 1000 à la fois), le système télécharge et indexe automatiquement.
  • Métadonnées : extraction BibTeX automatique, complétion via CrossRef/OpenAlex.
  • OCR : configurer les langues Tesseract dans Settings → OCR (fra+eng+deu+spa pour multi-langue).
  • Collections : créer des collections thématiques (ex: « Machine Learning », « Bioinformatique »), assigner des utilisateurs.
  • Partage : activer le partage public de collections dans Settings → Sharing.
  • ORCID : configurer l'intégration ORCID pour identification automatique des auteurs.
  • HTTPS : obligatoire via reverse proxy.
  • Backups : pg_dump + rsync du dossier library/ (PDF originaux) + data/ (index).
  • Performance : pour 50k+ documents, prévoir SSD et 8+ Go de RAM (l'index Tantivy est memory-hungry).

Alternatives

Open Source

  • app-pdfding — gestionnaire PDF minimaliste (Python)
  • app-paperless-ngx — GED complète avec OCR (plus généraliste)
  • app-papermerge — GED moderne UI Vue (Python)
  • app-stirling-pdf — outil PDF complet (Java)
  • app-papra — GED TypeScript minimaliste
  • Calibre — gestionnaire ebooks (PDF/EPUB/MOBI) — très mature
  • Zotero — référence académique, client + serveur partagé (pas vraiment self-hosted web)
  • Alexandria — bookmark manager PDF
  • Paperful — alternative jeune à I, Librarian

Propriétaires

  • Mendeley (Elsevier) — référence académique, freemium, cloud
  • Zotero (cloud optionnel) — gratuit, freemium cloud 2 Go
  • EndNote (Clarivate) — référence institutionnelle, ~250€/an
  • ReadCube Papers — lecteur PDF académique, freemium
  • DEVONthink — GED Mac/iOS
  • Notion + PDF — pas vraiment bibliothèque PDF
  • Google Scholar — recherche, pas stockage
  • Papers.app (ReadCube) — Mac/iOS, freemium

Sécurité

  • HTTPS obligatoire + HSTS via reverse proxy.
  • Auth : email + mot de passe (bcrypt), sessions PHP server-side.
  • 2FA : non natif — compter sur Authelia/Authentik via reverse proxy.
  • Permissions : par utilisateur/collection (lecteur, éditeur, admin).
  • SSO : intégrable via plugins tiers (SAML/OIDC).
  • Chiffrement at-rest : monter les volumes sur stockage chiffré.
  • CVE : PHP/PostgreSQL à maintenir à jour, suivre les releases I, Librarian.
  • Isolation : ne pas exposer I, Librarian en direct, passer par reverse proxy.
  • Backups testés : tester la restauration (DB Tantivy + fichiers PDF).
  • Quota : limiter l'upload par utilisateur pour éviter les abus.

Ressources

Pages Liées