SHELL := /bin/bash
PY ?= .venv/bin/python
SLUG := analyste-financier
# .env n'est pas exporté : les variables passées en ligne de commande l'emportent (run.py lit .env lui-même).
PROJECT ?= $(shell sed -n 's/^GOOGLE_CLOUD_PROJECT=//p' .env 2>/dev/null)
REGION ?= europe-west1

.DEFAULT_GOAL := help
help: ## Liste les commandes
	@grep -hE '^[a-z0-9-]+:.*## ' Makefile | 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 (faux modèle ADK)
	@env -u GOOGLE_API_KEY -u GEMINI_API_KEY $(PY) -m pytest -q

run: ## Tableau de bord sur http://localhost:8000 (dernière analyse, sinon l'exemple fourni)
	@$(PY) run.py servir

e2e: ## Analyse réelle des 3 rapports + évaluation (appelle Gemini, quelques centimes)
	@$(PY) run.py --e2e

clean: ## Supprime les artefacts locaux (caches, sorties)
	@rm -rf sorties/ .pytest_cache __pycache__ */__pycache__ */*/__pycache__ linkedin/video/
	@echo "Artefacts supprimés."

reset: clean ## Retour à l'état initial (.env conservé)
	@rm -rf .venv
	@echo "Environnement supprimé (.env conservé)."

cloud-up: ## Sans objet : Vertex AI est appelé à la demande
	@echo "Aucune ressource à créer : en mode Vertex AI (GOOGLE_GENAI_USE_VERTEXAI=TRUE), Gemini est appelé à la demande."

cloud-down: ## Sans objet : ce projet ne crée aucune ressource Google Cloud
	@echo "Rien à supprimer : ce projet ne crée aucune ressource Google Cloud (ni service, ni bucket, ni index)."

cloud-status: ## Sans objet : aucune ressource à lister
	@echo "Aucune ressource formation-lab=$(SLUG) n'est créée par ce projet."
