# Makefile pour l'analyse urbaine # Usage: # make setup - Installer l'environnement virtuel et les dépendances # make city CITY=Paris - Récupérer les données et générer une carte pour Paris # Variables PYTHON = python3 VENV = venv PIP = $(VENV)/bin/pip PYTHON_VENV = $(VENV)/bin/python CITY ?= Paris .PHONY: setup city clean help # Cible par défaut help: @echo "Utilisation du Makefile pour l'analyse urbaine:" @echo " make setup - Installer l'environnement virtuel et les dépendances" @echo " make city CITY=Paris - Récupérer les données et générer une carte pour Paris" @echo " make report CITY=Paris - Générer un rapport HTML pour Paris" @echo " make all CITY=Paris - Récupérer les données, générer une carte et un rapport pour Paris" @echo " make clean - Supprimer les fichiers temporaires et l'environnement virtuel" # Installer l'environnement virtuel et les dépendances setup: @echo "Création de l'environnement virtuel..." $(PYTHON) -m venv $(VENV) @echo "Installation des dépendances..." $(PIP) install --upgrade pip $(PIP) install -r requirements.txt @echo "Installation de Playwright pour la conversion HTML vers JPG..." $(PIP) install playwright $(VENV)/bin/playwright install @echo "Installation terminée. Utilisez 'source venv/bin/activate' pour activer l'environnement." # Récupérer les données et générer une carte pour une ville city: check-venv @echo "Récupération des données pour $(CITY)..." $(PYTHON_VENV) fetch.py "$(CITY)" -o "$(CITY)_results.json" @echo "Génération de la carte pour $(CITY)..." $(PYTHON_VENV) find_city_osm_id.py "$(CITY)" -c fr -o "$(CITY)_carte.html" @echo "Conversion de la carte HTML en JPG..." $(PYTHON_VENV) html2jpg.py "$(CITY)_carte.html" -o "$(CITY)_carte.jpg" @echo "Traitement terminé. Résultats disponibles dans $(CITY)_results.json, $(CITY)_carte.html et $(CITY)_carte.jpg" # Générer un rapport HTML pour une ville report: check-venv @echo "Génération du rapport HTML pour $(CITY)..." $(PYTHON_VENV) present.py "$(CITY)_results.json" "$(CITY)_rapport.html" @echo "Rapport généré dans $(CITY)_rapport.html" # Récupérer les données, générer une carte et un rapport pour une ville all: city report @echo "Traitement complet terminé pour $(CITY)" # Vérifier si l'environnement virtuel existe check-venv: @if [ ! -d "$(VENV)" ]; then \ echo "L'environnement virtuel n'existe pas. Exécutez 'make setup' d'abord."; \ exit 1; \ fi # Nettoyer les fichiers temporaires et l'environnement virtuel clean: @echo "Suppression des fichiers temporaires..." rm -f *.jpg *.html *.json @echo "Suppression de l'environnement virtuel..." rm -rf $(VENV) @echo "Nettoyage terminé."