SHELL := /bin/bash
PY ?= .venv/bin/python
SLUG := images-pro-ia
BRIEF ?= brief.yaml
REGION ?= europe-west1
-include .env
export

.DEFAULT_GOAL := help
help: ## Liste les commandes
	@grep -E '^[a-z0-9-]+:.*## ' $(MAKEFILE_LIST) | awk -F':.*## ' '{printf "  make %-13s %s\n", $$1, $$2}'

setup: ## Crée .venv et installe les dépendances
	@test -d .venv || python3 -m venv .venv
	@.venv/bin/pip install -q -r requirements.txt
	@test -f .env || cp .env.example .env
	@echo "Prêt. Renseignez .env puis : make test"

test: ## Tests sans clé ni réseau
	@$(PY) -m pytest -q tests

run: ## Génère la campagne de BRIEF (défaut brief.yaml, ~0,56 $) dans sorties/
	@$(PY) -m campagne $(BRIEF) --sortie sorties/campagne

e2e: ## Test réel : 1 visuel + 1 retouche en 512 px (~0,10 $)
	@$(PY) tests/e2e_reel.py

clean: ## Supprime les artefacts locaux (images générées comprises)
	@rm -rf sorties/ .pytest_cache tests/.pytest_cache
	@find . -name __pycache__ -type d -prune -exec rm -rf {} +
	@echo "Artefacts supprimés."

reset: clean ## clean + suppression de .venv (.env conservé)
	@rm -rf .venv
	@echo "Environnement supprimé (.env conservé)."

cloud-up: ## Sans objet : le lab n'appelle que l'API (aucune ressource créée)
	@echo "Aucune ressource Google Cloud à créer : Vertex AI est appelé à la demande."

cloud-down: ## Sans objet : vérifie qu'aucune ressource du lab n'existe
	@echo "Aucune ressource créée par ce lab ; rien à supprimer."

cloud-status: ## Sans objet : aucune ressource persistante
	@echo "Ce lab ne crée aucune ressource persistante (label formation-lab=$(SLUG))."
