parking-land/Makefile
2025-03-16 16:26:58 +01:00

69 lines
No EOL
2.7 KiB
Makefile

# 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é."