đŸ› ïž Guide des Commandes Make

Ce guide liste toutes les commandes make disponibles pour KoproGo.

📋 Voir toutes les commandes

make help

Affiche la liste de toutes les commandes avec leur description.


🚀 Setup et Installation

Setup complet (premiĂšre utilisation)

make setup

Cette commande fait tout automatiquement :

  • ✅ Installe les dĂ©pendances npm

  • ✅ Installe Playwright + navigateurs

  • ✅ DĂ©marre PostgreSQL via Docker

  • ✅ ExĂ©cute les migrations de base de donnĂ©es

C’est tout ce dont vous avez besoin pour dĂ©marrer!

Installation manuelle

make install         # Installe seulement les dépendances npm
make install-all     # Installe npm + Playwright

đŸ’» DĂ©veloppement

DĂ©marrer l’environnement de dĂ©veloppement

make dev             # Backend only (Rust avec hot-reload)
make dev-all         # Tous les services (backend + postgres + frontend)
make dev-frontend    # Frontend only (Astro + Svelte)

Workflow recommandé :

Terminal 1:

make dev  # Démarre backend + PostgreSQL

Terminal 2:

make dev-frontend  # Démarre le frontend

Puis ouvrir :

  • Frontend: http://localhost:3000

  • Backend API: http://localhost:8080


đŸ§Ș Tests

Tests Backend (Rust)

make test              # Tous les tests backend + E2E complets
make test-unit         # Tests unitaires seulement
make test-integration  # Tests d'intégration
make test-bdd          # Tests BDD (Cucumber)
make test-e2e-backend  # Tests E2E backend (Rust/Actix)

Tests E2E Complets (Frontend + Backend) đŸŽ„ïƒ

Les tests E2E avec Playwright testent toute la stack et génÚrent automatiquement des vidéos de documentation!

Installation (une seule fois)

make test-e2e-install

Installe Playwright et Chromium avec toutes les dépendances.

Lancer les tests

make test-e2e-full     # Lance tous les tests E2E + génÚre les vidéos!
make test-e2e-ui       # Mode UI interactif (recommandé)
make test-e2e-headed   # Voir le navigateur en action
make test-e2e-debug    # Mode debug pas Ă  pas
make test-e2e-report   # Ouvrir le rapport HTML avec vidéos

Workflow recommandĂ©ïƒ

Développement:

make test-e2e-ui       # Interface graphique interactive

CI/CD ou validation finale:

make test-e2e-full     # GénÚre toutes les vidéos
make test-e2e-report   # Voir les résultats

Debugging:

make test-e2e-debug    # Mode pas Ă  pas

Tests de Performance

make bench             # Benchmarks Rust

📊 Couverture et QualitĂ©ïƒ

make coverage          # GénÚre un rapport de couverture
make lint              # Vérifie le code (fmt + clippy + build)
make format            # Formate le code (Rust + JS/TS)
make audit             # Audit de sécurité (Cargo + npm)

đŸ—ïž Build

make build             # Build release (backend + frontend)
make clean             # Nettoie les artefacts de build

🐳 Docker

make docker-up         # Démarre tous les services Docker
make docker-down       # ArrĂȘte tous les services Docker
make docker-build      # Build les images Docker
make docker-logs       # Affiche les logs Docker

đŸ—„ïž Base de DonnĂ©es

make migrate           # Exécute les migrations SQLx
make seed              # Remplit la base avec des données de test

📚 Documentation

make docs              # GénÚre et ouvre la documentation Rust

🎯 Workflows Courants

1. Nouvelle installation du projet

git clone <repo>
cd koprogo
make setup             # Setup complet automatique
make dev               # Démarrer le développement

2. DĂ©veloppement quotidien

Terminal 1:

make dev               # Backend + PostgreSQL

Terminal 2:

make dev-frontend      # Frontend avec hot-reload

3. Avant de commit

make format            # Formater le code
make lint              # Vérifier la qualité
make test              # Lancer tous les tests

4. Tester une nouvelle fonctionnalitĂ©ïƒ

# Développer la feature...

# Tester
make test-e2e-ui       # Tests E2E en mode interactif

# Générer les vidéos de documentation
make test-e2e-full     # GénÚre les vidéos
make test-e2e-report   # Voir les vidéos

5. CI/CD local

make clean
make build
make test
make test-e2e-full
make audit

6. Debugging des tests E2E

# ProblĂšme dans les tests?
make test-e2e-headed   # Voir le navigateur

# Toujours pas clair?
make test-e2e-debug    # Mode debug pas Ă  pas

# Voir ce qui s'est passé
make test-e2e-report   # Voir les vidéos + screenshots

đŸ“č Tests E2E - Exemples de Commandes

DĂ©veloppement d’un nouveau test

# 1. Créer le fichier de test
cd frontend/tests/e2e
touch ma-feature.spec.ts

# 2. Développer le test en mode UI
make test-e2e-ui

# 3. Valider et générer la vidéo
make test-e2e-full

# 4. Voir le résultat
make test-e2e-report

DĂ©monstration au client

# Option 1: Lancer les tests en live
make test-e2e-headed

# Option 2: Montrer les vidéos déjà générées
make test-e2e-report

Debugging d’un test qui Ă©choue

# 1. Voir la vidéo de l'échec
make test-e2e-report

# 2. Debug pas Ă  pas
make test-e2e-debug

# 3. Relancer en voyant le navigateur
make test-e2e-headed

🎬 VidĂ©os de Documentation

Les vidéos générées par make test-e2e-full se trouvent dans :

frontend/test-results/
├── auth-Authentication-Flow-should-login-successfully-chromium/
│   └── video.webm
├── pwa-offline-PWA-Capabilities-should-work-offline-chromium/
│   └── video.webm
└── dashboards-Syndic-Dashboard-chromium/
    └── video.webm

Pour les voir :

make test-e2e-report

🔧 Variables d’Environnement

Les commandes make utilisent les variables d’environnement dĂ©finies dans .env :

DATABASE_URL=postgresql://koprogo:koprogo123@localhost:5432/koprogo_db
JWT_SECRET=your-secret-key-change-this-in-production
SERVER_HOST=127.0.0.1
SERVER_PORT=8080

💡 Tips

Performances des tests E2E

# Tests rapides (headless)
make test-e2e-full

# Tests lents mais visibles (headed)
make test-e2e-headed

Nettoyage complet

make clean
make docker-down
docker volume prune -f

RĂ©initialisation de la base de donnĂ©es

make docker-down
docker volume rm koprogo_postgres_data
make docker-up
make migrate
make seed

📖 Documentation SupplĂ©mentaire


🆘 Aide

Si une commande échoue :

  1. Vérifier les services : make docker-up

  2. Vérifier les migrations : make migrate

  3. Nettoyer et rebuild : make clean && make build

  4. Setup complet : make setup

Pour voir toutes les commandes disponibles :

make help