2.3 KiB
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/, basehttp://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 : 183/183
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 dansAGENTS.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