.PHONY: help start stop restart logs clean build install help: ## Afficher cette aide @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}' start: ## Démarrer l'application ./start.sh stop: ## Arrêter l'application ./stop.sh restart: ## Redémarrer l'application ./stop.sh ./start.sh logs: ## Afficher les logs docker compose logs -f logs-backend: ## Afficher les logs du backend docker compose logs -f backend logs-frontend: ## Afficher les logs du frontend docker compose logs -f frontend logs-db: ## Afficher les logs de la base de données docker compose logs -f postgres build: ## Reconstruire les images Docker docker compose build clean: ## Nettoyer les conteneurs et volumes docker compose down -v rm -rf backend/__pycache__ rm -rf backend/**/__pycache__ install: ## Installer les dépendances localement (dev) cd backend && pip install -r requirements.txt cd frontend && npm install dev-backend: ## Lancer le backend en mode développement cd backend && uvicorn app:app --reload --host 0.0.0.0 --port 8000 dev-frontend: ## Lancer le frontend en mode développement cd frontend && npm run dev shell-backend: ## Ouvrir un shell dans le conteneur backend docker compose exec backend /bin/bash shell-db: ## Ouvrir psql dans le conteneur PostgreSQL docker compose exec postgres psql -U lediscord_user -d lediscord backup-db: ## Sauvegarder la base de données docker compose exec postgres pg_dump -U lediscord_user lediscord > backup_$$(date +%Y%m%d_%H%M%S).sql status: ## Afficher le statut des conteneurs docker compose ps