--- 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é