đŸ› ïž 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 :


đŸ§Ș 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 permettent d’enregistrer des vidĂ©os de documentation Ă  publier dans docs/_static/videos/ (commit requis).

Installation (une seule fois)

make test-e2e-install

Installe Playwright et Chromium avec toutes les dépendances.

Lancer les tests

make codegen           # Playwright codegen (DEVICE=mobile pour iPhone 13)
make test-e2e-full     # Lance tous les tests E2E + génÚre les vidéos localement
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 localement
make test-e2e-report   # Voir les résultats

# AprÚs validation, synchroniser et commiter les vidéos :
make docs-sync-videos

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

đŸ—ïž Infrastructure (DĂ©ploiement VPS)

DĂ©ploiement automatisĂ©ïƒ

make setup-infra       # Déploiement complet VPS OVH (Terraform + Ansible + GitOps)
make ci                # Pipeline CI complet (format, lint, tests, audit)

make setup-infra déploie automatiquement :

  • ✅ Provisionne VPS OVH avec Terraform

  • ✅ Configure serveur avec Ansible (Docker, Firewall, Fail2ban)

  • ✅ DĂ©ploie Docker Compose (Traefik + Backend + Frontend + PostgreSQL)

  • ✅ Configure DNS automatique (optionnel)

  • ✅ Active GitOps (auto-update toutes les 3 minutes)

  • ✅ Configure backups PostgreSQL (quotidiens)

Durée : ~20-30 minutes

make ci exécute :

  • ✅ make format - Formate le code (Rust + Frontend)

  • ✅ make lint - VĂ©rifie la qualitĂ© (clippy + checks)

  • ✅ make test - Lance tous les tests

  • ✅ make audit - Audit de sĂ©curitĂ© (Cargo + npm)

Documentation complĂšte : docs/deployment/


đŸ—„ïž 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

  • {doc}E2E_TESTING_GUIDE - Guide complet des tests E2E

  • {doc}../frontend/tests/e2e/README - Documentation dĂ©taillĂ©e des tests


🆘 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