IP ?= 192.168.1.195 REMOTE_USER ?= pi REMOTE = $(REMOTE_USER)@$(IP) SERVER = server GATEWAY = lora-gateway DEST ?= /home/$(REMOTE_USER)/projet-agreg RSYNC_OPTS = -arvz --delete --exclude='__pycache__' --exclude='*.pyc' --exclude='.env' --exclude='.venv' --exclude='Makefile' --exclude='.git' --exclude='.vscode' --exclude='.gitignore' .PHONY: deploy deploy-gw deploy-app clean-app clean-gw clean-all deploy-all: deploy-gw deploy-app deploy-app: @echo "Déploiement sur $(REMOTE):$(DEST)" ssh $(REMOTE) "mkdir -p $(DEST)" rsync $(RSYNC_OPTS) $(SERVER) $(REMOTE):$(DEST) @echo "Déploiement terminé" ssh $(REMOTE) "cd $(DEST)/$(SERVER) && docker compose up -d --build" @echo "Services redémarrés" deploy-gw: @echo "Déploiement sur $(REMOTE):$(DEST)" ssh $(REMOTE) "mkdir -p $(DEST)" rsync $(RSYNC_OPTS) $(GATEWAY) $(REMOTE):$(DEST) @echo "Déploiement terminé" ssh $(REMOTE) "cd $(DEST)/$(GATEWAY) && docker compose up -d" @echo "Services redémarrés" clean-app: @echo "Nettoyage de l'app sur $(REMOTE):$(DEST)/$(SERVER)" ssh $(REMOTE) "cd $(DEST)/$(SERVER) && docker compose down --volumes --remove-orphans || true" ssh $(REMOTE) "rm -rf $(DEST)/$(SERVER)" @echo "Nettoyage de l'application terminé" clean-gw: @echo "Nettoyage de la gateway sur $(REMOTE):$(DEST)/$(GATEWAY)" ssh $(REMOTE) "cd $(DEST)/$(GATEWAY) && docker compose down --volumes --remove-orphans || true" ssh $(REMOTE) "rm -rf $(DEST)/$(GATEWAY)" @echo "Nettoyage de la gateway terminé" clean-all: clean-app clean-gw ssh $(REMOTE) "docker system prune -f || true" @echo "Nettoyage complet terminé"