Aller au contenu

Démarrage rapide

Prérequis

  • Docker Desktop installé (Windows, Mac ou Linux)
  • Git
  • Navigateur Chrome (recommandé pour les métriques navigateur)

Lancement local

Docker Desktop — Windows / macOS

git clone https://perfshop-gitlab.perfshop.io/perf/perfshop.git
cd perfshop
cp .env.example .env
docker compose -f docker-compose.desktop.yml up -d --build

Ne pas utiliser docker-compose.build.yml sous Docker Desktop

docker-compose.build.yml utilise le mode Pyroscope cpu (perf_event), qui nécessite l'accès à perf_event_open — bloqué sous la VM Linux embarquée dans Docker Desktop. docker-compose.desktop.yml utilise le mode itimer (SIGPROF, 100% JVM) — aucun privilège kernel requis.

VPS Linux / CI (build local)

cp .env.example .env
docker compose -f docker-compose.build.yml up -d --build

Services disponibles en local

Stack principale

Service URL Login
🛒 Application http://localhost:9091
🔌 API Backend http://localhost:9080
📊 Monitoring http://localhost:3001
💥 Chaos Admin http://localhost:3003 admin@perfshop.fr / perfshop
🔧 Admin http://localhost:3004 admin@perfshop.fr / perfshop
📈 Grafana http://localhost:3002 admin / perfshop
📚 Documentation http://localhost:9087

Stack JMeter

Service URL Login
⚡ JMeter UI http://localhost:3005 admin@perfshop.fr / perfshop

Stack QA pédagogique (Phase 9 & 10)

Service URL Login
🧪 Squash TM http://localhost:9086/squash admin / perfshop
🔬 Selenium VNC http://localhost:7900 — (no password)
🗂️ Filebrowser scripts http://localhost:3007 — (no auth)
🦊 Forgejo Git local http://localhost:3009 forgejo-admin / PerfShop2026!
📝 Scripts UI http://localhost:3008 admin@perfshop.fr / perfshop

Comptes de test

Email Mot de passe
user1@perfshop.com password1
user2@perfshop.com password2
... ...
user10@perfshop.com password10
perf.test1@perfshop.com TestPerf123!
perf.test2@perfshop.com TestPerf123!

Accès production (NAS)

Stack principale

Service URL
🛒 Application https://perfshop.perfshop.io
🔌 API https://perfshop-api.perfshop.io
📊 Monitoring https://perfshop-monitoring.perfshop.io
💥 Chaos Admin https://perfshop-chaos.perfshop.io
🔧 Admin https://perfshop-admin.perfshop.io
📈 Grafana https://perfshop-grafana.perfshop.io
📚 Documentation https://perfshop-doc.perfshop.io

Stack JMeter

Service URL
⚡ JMeter UI https://perfshop-jmeter.perfshop.io

Stack QA pédagogique (Phase 9 & 10)

Service URL Login
🧪 Squash TM https://perfshop-squash.perfshop.io/squash admin / perfshop
🔬 Selenium VNC https://perfshop-selenium.perfshop.io — (no password)
🦊 Forgejo Git local https://perfshop-git.perfshop.io forgejo-admin / PerfShop2026!
📝 Scripts UI https://perfshop-scripts.perfshop.io admin@perfshop.fr / perfshop

Activer une anomalie

  1. Ouvrir l'application frontend
  2. Cliquer sur le bouton Chaos en haut à droite (ou aller sur Chaos Admin)
  3. Déplacer le slider CPU Burn à 50%
  4. Observer dans le monitoring : docker_container_cpu_percent monte

Observer dans Grafana

  1. Ouvrir Grafana
  2. Ouvrir le dashboard Backend Spring Boot (Complet)
  3. Corréler le pic CPU avec la latence HTTP

Arrêter

docker compose down            # garde les données
docker compose down -v         # supprime tout (BDD, métriques, dashboards)