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

6.3 KiB


title: Obskurnee created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, books, book-club, social, votes, goodreads, dotnet, vue] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=books, https://github.com/zblesk/obskurnee]

📖 Obskurnee

Compagnon pour club de lecture : proposez des livres, votez pour le suivant, notez et critiquez, avec intégration Goodreads. Pas pour self-host isolé, mais pour animer un groupe.

Métadonnée Valeur
Site web obskurnee.zblesk.net (démo)
GitHub zblesk/obskurnee
License AGPL-3.0
Langage C# (.NET 8) backend, Vue 3 frontend
Étoiles 27
Dernière MAJ 2026-05 (active)
Catégorie cat-books

Description

⚠️ Note importante : Obskurnee n'est PAS un lecteur ni un gestionnaire de bibliothèque. C'est un compagnon pour club de lecture — outil de gouvernance collective pour décider quel livre lire ensuite, partager les critiques, suivre les lectures du groupe. Le tag « Books » de selfh.st lui correspond bien dans la catégorie élargie, mais ne vous attendez pas à un Calibre-Web : ici pas d'EPUB, pas d'upload de fichiers, juste de l'organisation sociale autour de livres.

Le workflow est précisément défini : un modérateur ouvre un « voting round » quand le groupe est prêt pour un nouveau livre. Tous les membres proposent des titres. Une fois la phase de proposition fermée, un sondage est auto-généré et évalué après clôture. Le livre gagnant est mis en avant sur la home page comme « current book ». Variante : les topic rounds (deux étapes — d'abord voter sur un thème/genre, puis sur les livres correspondant au thème gagnant).

Fonctionnalités principales : voting rounds (votes directs OU thèmes), book shelf avec rate & review, recommandations (suggérer des livres hors round), intégration Goodreads (scraping d'URL pour auto-remplir, sync des « currently reading »), Markdown dans les textes longs (avec syntaxe ::ceci est un spoiler::), user profiles avec historique de critiques, modération des utilisateurs, home page avec current book et ongoing activities.

Limitation explicite des créateurs : la feature set a été sciemment gardée petite. « On voulait implémenter le workflow qu'on utilise, pas couvrir tous les cas. »

Points forts : workflow club de lecture vraiment pensé, intégration Goodreads originale, UI propre (.NET + Vue), matrix room pour le support, démo en ligne accessible, licence AGPL-3.0.

Points faibles : très niche (clubs de lecture uniquement, pas de gestion de bibliothèque), bus factor 1 (Ladislav Benc / zblesk), 27 étoiles seulement, base installée extrêmement faible, pas de sync avec Calibre ou autre, pas d'upload de fichiers, usage personnel uniquement (non-commercial), projet jeune.

Installation

Via Docker (recommandé)

L'image zblesk/obskurnee est sur Docker Hub. ⚠️ Important : Obskurnee n'a pas de HTTPS intégré — il faut OBLIGATOIREMENT le mettre derrière un reverse-proxy (Nginx, Caddy, Traefik) avec gestion WebSocket (SignalR).

# docker-compose.yml
services:
  obskurnee:
    image: zblesk/obskurnee:latest
    container_name: obskurnee
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./data:/obskurnee/data
    environment:
      - SiteName=Mon Club de Lecture
      - BaseUrl=https://obskurnee.mondomaine.fr
      - DefaultCulture=fr
      - SymmetricSecurityKey=CHANGE_ME_LONG_RANDOM_KEY_32_CHARS_MIN
      - MailerType=mailgun
      - Mailgun__EndpointUri=https://api.mailgun.net/v3/
      - Mailgun__SenderEmail=Club <club@mondomaine.fr>
      - Mailgun__SenderDomainName=mondomaine.fr
      - Mailgun__ApiKey=key-mailgun

Installation manuelle

Cloner, .NET 8 SDK, Node 18, dotnet build + npm run build, configurer appsettings.json, lancer.

Configuration

  1. Générer un SymmetricSecurityKey fort (32+ caractères aléatoires).
  2. Configurer un service mail (Mailgun par défaut, SMTP possible) — les notifications de round sont envoyées par mail.
  3. Lancer le conteneur, naviguer sur /setup, créer le premier utilisateur (qui devient automatiquement modérateur).
  4. Activer le HTTPS via reverse-proxy (Nginx + certbot, ou app-caddy).
  5. Configurer la whitelist des domaines email pour limiter qui peut s'inscrire.
  6. Inviter les membres du club, ouvrir le premier voting round.

Alternatives

Open source

  • app-bookwyrm — Réseau social lecteurs fédéré (ActivityPub), plus généraliste mais sans voting rounds
  • BookwormClub — Petit projet similaire, encore moins étoilé
  • Bookture — Outil de proposition/vote, plus mort que vivant
  • Letterboxd-clone apps — Pour films, structure similaire

Propriétaires

  • Goodreads (Amazon) — Clubs de lecture Amazon, tracking publicitaire
  • Fable — Réseau social lecteurs, clubs intégrés, freemium
  • The StoryGraph — Moderne, plus privacy-friendly, pas de clubs natifs
  • Libib — Gestionnaire de bibliothèque familiale, freemium

Sécurité

  • ⚠️ Bus factor 1 : zblesk seul aux commandes
  • ⚠️ HTTPS obligatoire : pas de TLS natif, reverse-proxy indispensable
  • ⚠️ WebSocket (SignalR) : la conf Nginx doit gérer le Upgrade header
  • AGPL-3.0 : tout fork doit rester open source
  • ⚠️ Usage non-commercial uniquement selon la license
  • ⚠️ 27 étoiles : projet jeune, ne pas miser une association dessus
  • ⚠️ Scraping Goodreads : peut casser si Goodreads change son HTML
  • ⚠️ Pas d'OAuth/OIDC natif : auth locale uniquement

Ressources

Pages Liées