81 lines
2.1 KiB
Markdown
81 lines
2.1 KiB
Markdown
# JeuxVideoTech
|
||
|
||
Application web multi-utilisateurs pour gérer une bibliothèque personnelle de **consoles** et de **jeux vidéo**.
|
||
|
||
Stack : PHP 8.3 + Apache, fichiers JSON, Docker Compose, enrichissement optionnel via l’API [RAWG](https://rawg.io/apidocs).
|
||
|
||
## Démarrage rapide
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
docker compose up -d --build
|
||
```
|
||
|
||
Ouvrir [http://localhost:8080](http://localhost:8080).
|
||
|
||
Compte administrateur créé automatiquement au premier démarrage (valeurs dans `.env`) :
|
||
|
||
| Champ | Valeur par défaut |
|
||
|---|---|
|
||
| Identifiant | `admin` |
|
||
| Mot de passe | `admin123` |
|
||
|
||
**Changez ces valeurs avant tout usage réel.**
|
||
|
||
## Fonctionnalités
|
||
|
||
- Inscription / connexion / déconnexion (sessions PHP, CSRF, mots de passe hashés)
|
||
- Isolation des données par compte
|
||
- CRUD consoles et jeux
|
||
- Recherche et filtres sur les jeux (console, état, texte)
|
||
- Enrichissement automatique (jaquette, description, date, genres, éditeur / développeur) si `RAWG_API_KEY` est définie
|
||
- Administration des comptes (rôle `admin`)
|
||
- Persistance via volume Docker (`./data`)
|
||
|
||
## Configuration
|
||
|
||
Variables dans `.env` :
|
||
|
||
| Variable | Description |
|
||
|---|---|
|
||
| `APP_PORT` | Port hôte (défaut `8080`) |
|
||
| `ADMIN_IDENTIFIANT` | Identifiant du compte admin initial |
|
||
| `ADMIN_MOT_DE_PASSE` | Mot de passe du compte admin initial |
|
||
| `ADMIN_EMAIL` | E-mail du compte admin |
|
||
| `RAWG_API_KEY` | Clé API RAWG (optionnelle) |
|
||
| `SESSION_LIFETIME` | Durée de session en secondes |
|
||
|
||
Sans clé RAWG, l’ajout manuel des jeux reste possible.
|
||
|
||
## Structure
|
||
|
||
```
|
||
public/ Point d’entrée Apache + assets
|
||
src/ Bootstrap, auth, services, contrôleurs
|
||
templates/ Vues PHP
|
||
data/ JSON + jaquettes + cache API (volume)
|
||
docker/ Config Apache / PHP
|
||
```
|
||
|
||
## États de jeu
|
||
|
||
- `possede` — Possédé
|
||
- `a_acheter` — À acheter
|
||
- `prete` — Prêté
|
||
- `vendu` — Vendu
|
||
|
||
## Commandes utiles
|
||
|
||
```bash
|
||
# Lancer
|
||
docker compose up -d --build
|
||
|
||
# Logs
|
||
docker compose logs -f app
|
||
|
||
# Arrêter
|
||
docker compose down
|
||
```
|
||
|
||
Les données (`data/*.json`, jaquettes) survivent au redémarrage du conteneur grâce au volume monté.
|