Files
2026-06-09 18:40:21 +02:00

135 lines
6.9 KiB
Markdown

---
title: HymnoScribe
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, document-management, paroles, chants, lyrique, typescript, nodejs]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=document-management, https://github.com/jeremyvigneron/hymnoscribe]
---
# HymnoScribe 🎼
> **Gestionnaire de paroles de chants/cantiques/hymnes** : uploadez vos textes liturgiques ou musicaux, HymnoScribe les indexe, les classe par thème/langue/tonalité, et permet la recherche/transposition pour les chefs de chœur.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | À compléter (projet jeune) |
| **GitHub** | https://github.com/jeremyvigneron/hymnoscribe |
| **License** | MIT (à vérifier) |
| **Langage** | TypeScript / Node.js (Express + React) |
| **Étoiles** | ⭐0 |
| **Dernière MAJ** | 2026-03-20 (1ère release) |
| **Catégorie** | [[cat-document-management]] |
## Description
HymnoScribe est un **projet de niche** (0 étoiles sur GitHub, en démarrage) destiné à combler un manque dans la **gestion de répertoires de chants** pour les communautés religieuses, chœurs paroissiaux, chorales, et formations musicales. Le problème résolu : un chef de chœur ou un organiste accumule souvent des **centaines de partitions/textes** (PDF, scans de vieux recueils, fichiers Word) éparpillés entre Dropbox, email, clés USB, sans aucun moyen de les retrouver par tonalité, tempo, langue, ou thème liturgique.
L'**objectif** de HymnoScribe est d'offrir une **base de données structurée** de chants avec : **métadonnées riches** (titre original, traduction, auteur, compositeur, année, tonalité, tempo, durée, langue, thème liturgique — Avent, Carême, Pâques, etc.), **recherche multi-critères** (par langue, tonalité, occasion), **transposition automatique** (modèle ABC), **exports** PDF propre, slides pour vidéoprojection, et **impression** de recueil.
L'**architecture** est volontairement **simple** : backend Node.js (Express + Prisma), frontend React, base **SQLite** par défaut. Le projet est **naissant** (quelques mois de développement), avec une équipe solo. Il est listé ici à titre informatif pour les communautés qui auraient le besoin spécifique — l'**adoption doit être prudente** (0 étoiles, peu de retours communautaires, breaking changes probables). Idéal pour des testeurs/contributeurs prêts à remonter des bugs.
## Installation
### Via Docker Compose (recommandé)
```yaml
# docker-compose.yml
services:
hymnoscribe:
image: ghcr.io/jeremyvigneron/hymnoscribe:latest
container_name: hymnoscribe
restart: unless-stopped
ports:
- "8087:3000"
environment:
- DATABASE_URL=file:/data/hymnoscribe.db
- UPLOAD_DIR=/data/uploads
- JWT_SECRET=Change...50
- APP_URL=https://chants.example.com
- NODE_ENV=production
volumes:
- hymnoscribe-data:/data
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/"]
interval: 30s
timeout: 10s
retries: 3
volumes:
hymnoscribe-data:
```
> **Avertissement** : le tag `latest` peut être instable, projet en phase alpha. Privilégier un tag pinné (ex: `0.1.0`).
### Installation manuelle
1. **Pré-requis** : Node.js 18+, npm 9+, SQLite (inclus dans Node).
2. **Clone & install** : `git clone https://github.com/jeremyvigneron/hymnoscribe && cd hymnoscribe && npm install`.
3. **Build** : `npm run build` (build frontend React + backend Express).
4. **Config** : copier `.env.example` vers `.env` et renseigner `JWT_SECRET`, `DATABASE_URL`, `UPLOAD_DIR`.
5. **Migrations** : `npx prisma migrate deploy`.
6. **Lancer** : `npm start` (port 3000 par défaut).
7. **Premier admin** : inscription via l'UI (mode open ou sur invitation).
## Configuration
- **Premier admin** : créer le compte admin via l'UI (Settings → Users), puis désactiver l'inscription ouverte.
- **Thèmes liturgiques** : configurer les tags (Avent, Noël, Carême, Pâques, Ordinaire, Mariage, Funérailles, etc.).
- **Langues** : configurer les langues supportées (fra, lat, eng, deu, etc.) — utile pour les chants trilingues.
- **Tonalités** : configurer la liste des tonalités (C, D, E, F, G, A, B avec #/b) et les conventions de transposition.
- **Import massif** : si supporté, importer un CSV/JSON de chants existants.
- **HTTPS** : obligatoire via reverse proxy.
- **Backups** : copier le dossier `/data` (DB SQLite + fichiers uploadés).
- **Partition rendering** : si supporté, configurer une lib de rendu (VexFlow, abcjs) via les options.
## Alternatives
### Open Source
- **ChOrd** (Christian Online Resource Database) — index communautaire de chants (non self-hostable, web public)
- **Hymnary.org** — base académique publique (non self-hostable)
- **Hymnal.net** — répertoire en ligne
- **OpenLP** (logiciel de présentation) — gère les paroles, pas vraiment une GED
- **Quelea** (logiciel de projection) — idem, projection de paroles
- **Zefania XML** — format d'échange de recueils
- [[app-papra]] — GED TypeScript minimaliste (plus généraliste)
- [[app-pdfding]] — gestionnaire PDF (peut stocker des scans de partitions)
### Propriétaires
- **Planning Center Services** — cloud pour équipes de culte (freemium)
- **Faithlife Proclaim** — présentation + chants (freemium)
- **SongSelect** (CCLI) — licences + paroles (payant, ~5€/mois)
- **Multitracks.com** — cloud pour équipes de louange (freemium)
- **iWorship** (non maintenu) — vieille app
- **WorshipHouse Media** — ressources + paroles (cloud)
## Sécurité
- **HTTPS obligatoire** + HSTS via reverse proxy.
- **JWT** : `JWT_SECRET` long et aléatoire (`openssl rand -hex 64`).
- **2FA** : non natif (à confirmer en v0.2+).
- **SSO** : non supporté — compter sur Authelia/Authentik via reverse proxy.
- **Chiffrement at-rest** : monter le volume sur stockage chiffré.
- **Permissions** : multi-utilisateurs avec isolation, à confirmer en v0.2+.
- **Audit** : logs d'accès aux chants et modifications.
- **Mises à jour** : suivre le repo, breaking changes probables en phase alpha.
- **CVE** : Node.js/Express à jour, surveiller les issues GitHub.
- **Backups** : SQLite-based, un `cp` du `.db` suffit.
- **Attention** : projet 0 étoiles, à tester en profondeur avant déploiement critique (église/paroisse).
- **RGPD** : les chants peuvent contenir des auteurs vivants (données personnelles), respecter les licences (CCLI, SACEM).
## Ressources
- Site officiel : (à venir / pas encore public)
- GitHub : https://github.com/jeremyvigneron/hymnoscribe
- Issues / discussions : https://github.com/jeremyvigneron/hymnoscribe/issues
- selfh.st : https://selfh.st/apps/?tag=document-management
## Pages Liées
- [[cat-document-management]] — catégorie parente
- [[app-papra]] — GED TS plus mature (alternative généraliste)
- [[app-pdfding]] — stockage PDF (peut contenir des partitions)
- [[recettes-docker-compose]] — templates de déploiement
- [[securisation-home-lab]] — bonnes pratiques sécurité