Files
ohmj2/README.md
T

83 lines
2.0 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 : 181/181
```
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.
## 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