121 lines
6.3 KiB
Markdown
121 lines
6.3 KiB
Markdown
---
|
|
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](https://obskurnee.zblesk.net/) (démo) |
|
|
| **GitHub** | [zblesk/obskurnee](https://github.com/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).
|
|
|
|
```yaml
|
|
# 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
|
|
|
|
- [GitHub zblesk/obskurnee](https://github.com/zblesk/obskurnee)
|
|
- [Démo en ligne](https://obskurnee.zblesk.net/)
|
|
- [Matrix room #obskurnee:zble.sk](https://matrix.to/#/#obskurnee:zble.sk)
|
|
- [selfh.st Books](https://selfh.st/apps/?tag=books)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-books]] — Catégorie Books
|
|
- [[app-bookwyrm]] — Réseau social lecteurs plus généraliste, fédéré
|
|
- [[app-caddy]] — Reverse-proxy HTTPS + WebSocket
|
|
- [[app-traefik]] — Alternative reverse-proxy
|
|
- [[recettes-docker-compose]] — Templates Docker
|