api/README.md

45 lines
2.2 KiB
Markdown

# Treasure Hunt API avec Laravel Sail
Ce projet se lance via Laravel Sail (Docker). Ce guide explique comment demarrer l'environnement et executer les commandes courantes.
## Prerequis
- Docker Desktop ou Engine avec Docker Compose actif.
- Si `vendor/` est absent, installez d'abord les dependances pour recuperer Sail: `composer install` (en local) ou `./vendor/bin/sail composer install`.
- Copiez le fichier `.env.example` vers `.env` et adaptez les valeurs utiles (`APP_PORT`, `VITE_PORT`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD`, `FORWARD_DB_PORT`).
## Demarrage rapide
1. Lancer la stack: `./vendor/bin/sail up -d`.
2. Generer la cle d'application: `./vendor/bin/sail artisan key:generate`.
3. Initialiser la base: `./vendor/bin/sail artisan migrate`.
4. (Optionnel) Ajouter un alias shell pour simplifier: `alias sail="./vendor/bin/sail"`.
## Ports et services
- Application: `APP_PORT` (80 par defaut).
- Vite: `VITE_PORT` (5173 par defaut).
- MySQL 8.0: `FORWARD_DB_PORT` (3306 par defaut). Les donnees sont stockees dans le volume Docker `sail-mysql`.
- Les conteneurs sont definis dans `compose.yaml` (service principal `laravel.test` et base `mysql`).
## Commandes courantes
- Demarrer: `sail up -d` (ou `./vendor/bin/sail up -d` sans alias).
- Arreter: `sail down`.
- Rebuild si l'image change: `sail up -d --build` ou `sail build --no-cache`.
- Logs: `sail logs -f laravel.test` ou `sail logs -f mysql`.
- Shell applicatif: `sail shell` (ou `sail bash`).
- Artisan: `sail artisan migrate`, `sail artisan migrate:fresh --seed`, `sail artisan tinker`.
- Tests: `sail artisan test`.
## Base de donnees
- Acces host: `127.0.0.1:<FORWARD_DB_PORT>` avec les identifiants definis dans `.env`.
- Pour repartir de zero: `sail down -v` (supprime les volumes, donc les donnees) puis `sail up -d` et `sail artisan migrate --seed`.
## Debug et outils
- Activer Xdebug en ajoutant dans `.env`: `SAIL_XDEBUG_MODE=develop,debug` et `SAIL_XDEBUG_CONFIG=client_host=host.docker.internal`, puis `sail up -d --build`.
- Composer/PHP direct: `sail composer <cmd>`, `sail php -v`.
- Nettoyage des images intermediaires: `sail down` puis `docker system prune` (optionnel).