Getting Started

Installation

Prérequis et lancement du projet en local.

Installation

Prérequis

Obligatoires (workflow Docker)

OutilVersion minimale
Docker Engine24+
Docker Compose pluginV2 (docker compose, pas docker-compose)
Maketoute 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)

OutilUsage
Node.js 20+Front et doc en local
yarnFront (front/)
pnpmDoc (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)

ServiceURL
Application fronthttps://trickspin.dev
API Symfonyhttps://api.trickspin.dev
Documentationhttps://doc.trickspin.dev
MySQLlocalhost:3306

Commandes utiles

CommandeDescription
make upDémarrer les conteneurs
make downArrêter les conteneurs
make buildRebuild et démarrer
make resetReset complet avec suppression des volumes
make logsVoir tous les logs
make logs-backLogs du backend uniquement
make logs-frontLogs du frontend uniquement
make sf cmd=cache:clearExécuter une commande Symfony
make dbAccéder à MySQL
make db-dumpExporter la base de données