Files
geo/app/transfer-from-mac.sh
pierre 2f5946a184 feat: Version 3.5.2 - Configuration Stripe et gestion des immeubles
- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD)
  * DEV: Clés TEST Pierre (mode test)
  * REC: Clés TEST Client (mode test)
  * PROD: Clés LIVE Client (mode live)
- Ajout de la gestion des bases de données immeubles/bâtiments
  * Configuration buildings_database pour DEV/REC/PROD
  * Service BuildingService pour enrichissement des adresses
- Optimisations pages et améliorations ergonomie
- Mises à jour des dépendances Composer
- Nettoyage des fichiers obsolètes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 18:26:27 +01:00

114 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# Script de synchronisation depuis le Mac mini vers Debian
# Usage: ./transfer-from-mac.sh
set -e
# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Configuration Mac mini
MAC_MINI_IP="192.168.1.34" # À configurer avec l'IP de votre Mac mini
MAC_USER="pierre"
DEFAULT_PATH="/Users/pierre/dev/geosector/app..."
echo -e "${YELLOW}=== Configuration du transfert ===${NC}"
echo ""
# Demander le chemin de l'application sur le Mac mini
echo -e "${YELLOW}Chemin de l'application sur le Mac mini${NC}"
read -p "Chemin [$DEFAULT_PATH]: " MAC_PATH
MAC_PATH=${MAC_PATH:-$DEFAULT_PATH}
# Vérifier que le chemin a été modifié (ne se termine pas par ...)
if [[ "$MAC_PATH" == *"..." ]]; then
echo -e "${RED}Erreur: Vous devez compléter le chemin (les '...' doivent être remplacés)${NC}"
echo "Exemple: /Users/pierre/dev/geosector/app"
exit 1
fi
# Construire la source complète
SOURCE="$MAC_USER@$MAC_MINI_IP:$MAC_PATH"
DESTINATION="/home/pierre/dev/geosector/app/"
BACKUP_DIR="/home/pierre/dev/geosector/app-backups"
BACKUP_NAME="app-backup-$(date +%Y%m%d-%H%M%S).tar.gz"
echo ""
echo -e "${YELLOW}=== Synchronisation depuis Mac mini ===${NC}"
echo "Source: $SOURCE"
echo "Destination: $DESTINATION"
echo ""
# Proposer de faire un backup
read -p "Voulez-vous faire un backup du dossier local avant le transfert ? (O/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Nn]$ ]]; then
echo -e "${YELLOW}Création du backup...${NC}"
# Créer le dossier de backup s'il n'existe pas
mkdir -p "$BACKUP_DIR"
# Créer l'archive en excluant les dossiers inutiles
tar -czf "$BACKUP_DIR/$BACKUP_NAME" \
--exclude='build' \
--exclude='.dart_tool' \
--exclude='ios/Pods' \
--exclude='ios/.symlinks' \
--exclude='macos/Pods' \
--exclude='linux/flutter/ephemeral' \
--exclude='windows/flutter/ephemeral' \
--exclude='.pub-cache' \
-C /home/pierre/dev/geosector app
echo -e "${GREEN}✓ Backup créé: $BACKUP_DIR/$BACKUP_NAME${NC}"
# Afficher la taille du backup
BACKUP_SIZE=$(du -h "$BACKUP_DIR/$BACKUP_NAME" | cut -f1)
echo "Taille du backup: $BACKUP_SIZE"
echo ""
fi
# Demander confirmation pour le dry-run
read -p "Voulez-vous d'abord faire un dry-run (simulation) ? (o/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Oo]$ ]]; then
echo -e "${YELLOW}Mode dry-run (simulation)...${NC}"
rsync -avzn --progress \
--exclude='build/' \
--exclude='.dart_tool/' \
--exclude='ios/Pods/' \
--exclude='ios/.symlinks/' \
--exclude='macos/Pods/' \
--exclude='linux/flutter/ephemeral/' \
--exclude='windows/flutter/ephemeral/' \
--exclude='.pub-cache/' \
"$SOURCE/" "$DESTINATION"
echo ""
read -p "Voulez-vous continuer avec le transfert réel ? (o/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Oo]$ ]]; then
echo -e "${YELLOW}Transfert annulé${NC}"
exit 0
fi
fi
echo -e "${GREEN}Démarrage du transfert...${NC}"
rsync -avz --progress \
--exclude='build/' \
--exclude='.dart_tool/' \
--exclude='ios/Pods/' \
--exclude='ios/.symlinks/' \
--exclude='macos/Pods/' \
--exclude='linux/flutter/ephemeral/' \
--exclude='windows/flutter/ephemeral/' \
--exclude='.pub-cache/' \
"$SOURCE/" "$DESTINATION"
echo ""
echo -e "${GREEN}✓ Transfert terminé avec succès${NC}"