# đŸ› ïž Guide des Commandes Make Ce guide liste toutes les commandes `make` disponibles pour KoproGo. ## 📋 Voir toutes les commandes ```bash make help ``` Affiche la liste de toutes les commandes avec leur description. --- ## 🚀 Setup et Installation ### Setup complet (premiĂšre utilisation) ```bash 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 ```bash make install # Installe seulement les dĂ©pendances npm make install-all # Installe npm + Playwright ``` --- ## đŸ’» DĂ©veloppement ### DĂ©marrer l'environnement de dĂ©veloppement ```bash 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:** ```bash make dev # DĂ©marre backend + PostgreSQL ``` **Terminal 2:** ```bash make dev-frontend # DĂ©marre le frontend ``` Puis ouvrir : - Frontend: http://localhost:3000 - Backend API: http://localhost:8080 --- ## đŸ§Ș Tests ### Tests Backend (Rust) ```bash 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) ```bash make test-e2e-install ``` Installe Playwright et Chromium avec toutes les dĂ©pendances. #### Lancer les tests ```bash 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:** ```bash make test-e2e-ui # Interface graphique interactive ``` **CI/CD ou validation finale:** ```bash make test-e2e-full # GĂ©nĂšre toutes les vidĂ©os make test-e2e-report # Voir les rĂ©sultats ``` **Debugging:** ```bash make test-e2e-debug # Mode pas Ă  pas ``` ### Tests de Performance ```bash make bench # Benchmarks Rust ``` --- ## 📊 Couverture et QualitĂ© ```bash 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 ```bash make build # Build release (backend + frontend) make clean # Nettoie les artefacts de build ``` --- ## 🐳 Docker ```bash 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 ```bash make migrate # ExĂ©cute les migrations SQLx make seed # Remplit la base avec des donnĂ©es de test ``` --- ## 📚 Documentation ```bash make docs # GĂ©nĂšre et ouvre la documentation Rust ``` --- ## 🎯 Workflows Courants ### 1. Nouvelle installation du projet ```bash git clone cd koprogo make setup # Setup complet automatique make dev # DĂ©marrer le dĂ©veloppement ``` ### 2. DĂ©veloppement quotidien **Terminal 1:** ```bash make dev # Backend + PostgreSQL ``` **Terminal 2:** ```bash make dev-frontend # Frontend avec hot-reload ``` ### 3. Avant de commit ```bash make format # Formater le code make lint # VĂ©rifier la qualitĂ© make test # Lancer tous les tests ``` ### 4. Tester une nouvelle fonctionnalitĂ© ```bash # 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 ```bash make clean make build make test make test-e2e-full make audit ``` ### 6. Debugging des tests E2E ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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 :** ```bash make test-e2e-report ``` --- ## 🔧 Variables d'Environnement Les commandes make utilisent les variables d'environnement dĂ©finies dans `.env` : ```bash 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 ```bash # Tests rapides (headless) make test-e2e-full # Tests lents mais visibles (headed) make test-e2e-headed ``` ### Nettoyage complet ```bash make clean make docker-down docker volume prune -f ``` ### RĂ©initialisation de la base de donnĂ©es ```bash make docker-down docker volume rm koprogo_postgres_data make docker-up make migrate make seed ``` --- ## 📖 Documentation SupplĂ©mentaire - [E2E Testing Guide](./E2E_TESTING_GUIDE.md) - Guide complet des tests E2E - [Tests E2E README](./frontend/tests/e2e/README.md) - 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 : ```bash make help ```