Files
ohmj2/README.md
T

2.3 KiB

OHMJ - Harmonie de Montpellier-Jacou

Site web de l'Harmonie de Montpellier-Jacou pour la gestion et le partage de partitions de musique.

Fonctionnalités

  • Gestion des partitions : Ajout, modification et suppression de partitions
  • Upload PDF : Upload de fichiers PDF avec options de watermark (numéro de partition)
  • Consultation : Visualisation des partitions par instrument, pièce et version
  • Interface admin : Tableau de bord pour la gestion du catalogue

Stack technique

  • Frontend : SvelteKit (Svelte 5, runes) + Tailwind CSS — partitions/
  • Backend : PHP 8.5 REST API (sans framework) — api/, base http://localhost:8000 (sans préfixe /api)
  • Stockage : Fichiers (PDF) dans le répertoire legacy/Scores/ (pas de base de données)

Installation

Backend

cd api
php -c php-upload.ini -S localhost:8000 router.php

-c php-upload.ini est requis pour l'upload des PDF (64M). L'API répond sur http://localhost:8000.

Frontend

cd partitions
npm install
npm run dev      # http://localhost:5173
npm run build    # génère partitions/build

Le site déployé est exposé via le lien symbolique frontend -> partitions/build.

Tests

Tout en une commande (backend + couverture + frontend) :

./test.sh

Détail manuel :

cd api
rm -f /tmp/rate_* 2>/dev/null
php tests.php    # attendu : 185/185

Frontend (serveurs API + dev lancés) :

cd partitions
npm run check     # svelte-check : 0 erreur / 0 warning
npm run test:e2e  # smoke E2E navigateur (CDP)

Déploiement

./deploy/deploy.sh

Le build frontend doit être présent dans frontend/. legacy/ et api/tests.php ne sont pas inclus dans l'archive.

Il est recommandé de tester l'archive (_builds/deploy_ohmj.zip) avant de l'uploader : inspection du contenu + lancement du smoke test E2E sur l'artefact extrait. Procédure détaillée dans AGENTS.md.

Documentation

  • AGENTS.md — guide de développement (stack, commandes, conventions)
  • NAMING.md — convention des noms de partitions (legacy/Scores)
  • api/README.md — documentation de l'API REST

Licence

GPL v2