# 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é.