87 lines
2.3 KiB
Markdown
87 lines
2.3 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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) :
|
|
|
|
```bash
|
|
./test.sh
|
|
```
|
|
|
|
Détail manuel :
|
|
|
|
```bash
|
|
cd api
|
|
rm -f /tmp/rate_* 2>/dev/null
|
|
php tests.php # attendu : 183/183
|
|
```
|
|
|
|
Frontend (serveurs API + dev lancés) :
|
|
|
|
```bash
|
|
cd partitions
|
|
npm run check # svelte-check : 0 erreur / 0 warning
|
|
npm run test:e2e # smoke E2E navigateur (CDP)
|
|
```
|
|
|
|
## Déploiement
|
|
|
|
```bash
|
|
./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`](AGENTS.md#testing-the-deploy-archive-recommended).
|
|
|
|
## Documentation
|
|
|
|
- [`AGENTS.md`](AGENTS.md) — guide de développement (stack, commandes, conventions)
|
|
- [`NAMING.md`](NAMING.md) — convention des noms de partitions (`legacy/Scores`)
|
|
- [`api/README.md`](api/README.md) — documentation de l'API REST
|
|
|
|
## Licence
|
|
|
|
GPL v2
|