Installation
Installation
Prérequis
Obligatoires (workflow Docker)
| Outil | Version minimale |
|---|---|
| Docker Engine | 24+ |
| Docker Compose plugin | V2 (docker compose, pas docker-compose) |
| Make | toute version récente |
Avec Docker, les dépendances Node (front, doc) et PHP (back) sont installées automatiquement dans les conteneurs au build. Aucun yarn install ou pnpm install n'est requis sur la machine hôte.
Optionnels (développement sans Docker)
| Outil | Usage |
|---|---|
| Node.js 20+ | Front et doc en local |
| yarn | Front (front/) |
| pnpm | Doc (doc/) |
Lancer le projet en local
1. Cloner le dépôt
git clone https://github.com/Charline-Heuguet/TrickSpin
cd trickspin
2. Variables d'environnement
cp .env.example .env
cp back/.env.example back/.env
Les valeurs de .env.example suffisent pour le développement local.
back/.env est utilisé pour le développement local sans Docker (voir back/README.md).
3. Entrées DNS locales
Ajouter dans /etc/hosts (macOS/Linux) ou C:\Windows\System32\drivers\etc\hosts (Windows) :
127.0.0.1 trickspin.dev
127.0.0.1 api.trickspin.dev
127.0.0.1 doc.trickspin.dev
4. Démarrer la stack et construire les images
Première installation :
make build
Cette commande construit les images, démarre les conteneurs et copie le certificat TLS local (root.crt) généré par Caddy.
Une fois l'installation effectuée, le démarrage courant se fait avec :
make up
5. Faire confiance au certificat TLS local
Caddy génère un certificat auto-signé local. Pour éviter les avertissements navigateur, importer root.crt :
- macOS : double-cliquer sur
root.crt→ Trousseau d'accès → marquer comme "Toujours approuvé" - Linux (Chrome/Chromium) :
certutil -d sql:$HOME/.pki/nssdb -A -t "CT,," -n trickspin-local -i root.crt - Firefox : Paramètres → Confidentialité → Afficher les certificats → Autorités → Importer
6. Base de données
Lancer les migrations :
make migrate
Importer les données métier :
make import-grabs
make import-combos
make generate-combo-slugs
make generate-category-slugs
Les grabs doivent être importés avant les combos (certains combos y font référence).
L'import des combos lit back/combos.csv (source de vérité) et synchronise la base : upsert par slug, catégories, difficulté, grab.
La documentation détaillée est disponible dans Import des combos.
7. Accès aux conteneurs
make api # Entrer dans le conteneur back (Symfony)
make front # Entrer dans le conteneur front (Nuxt)
URLs d'accès (mode dev)
| Service | URL |
|---|---|
| Application front | https://trickspin.dev |
| API Symfony | https://api.trickspin.dev |
| Documentation | https://doc.trickspin.dev |
| MySQL | localhost:3306 |
Commandes utiles
| Commande | Description |
|---|---|
make up | Démarrer les conteneurs |
make down | Arrêter les conteneurs |
make build | Rebuild et démarrer |
make reset | Reset complet avec suppression des volumes |
make logs | Voir tous les logs |
make logs-back | Logs du backend uniquement |
make logs-front | Logs du frontend uniquement |
make sf cmd=cache:clear | Exécuter une commande Symfony |
make db | Accéder à MySQL |
make db-dump | Exporter la base de données |