#!/bin/bash # Script de transfert vers Mac mini pour compilation iOS # Usage: ./transfer-to-mac.sh set -e # Couleurs pour les messages RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # Configuration Mac mini MAC_MINI_IP="192.168.1.34" MAC_USER="pierre" echo -e "${BLUE}=== Transfert vers Mac mini pour iOS ===${NC}" echo "" # Vérifier que nous sommes dans le bon dossier if [ ! -f "pubspec.yaml" ]; then echo -e "${RED}Erreur: Ce script doit être exécuté depuis le dossier racine de l'application Flutter${NC}" echo -e "${RED}Fichier pubspec.yaml introuvable${NC}" exit 1 fi # Récupérer la version depuis pubspec.yaml VERSION=$(grep "^version:" pubspec.yaml | sed 's/version: //' | tr -d ' ') VERSION_CODE=$(echo $VERSION | cut -d'+' -f2) if [ -z "$VERSION_CODE" ]; then echo -e "${RED}Impossible de récupérer le version code depuis pubspec.yaml${NC}" exit 1 fi echo -e "${YELLOW}Version détectée :${NC} $VERSION" echo -e "${YELLOW}Version code :${NC} $VERSION_CODE" echo "" # Construire le chemin de destination avec numéro de version DESTINATION_DIR="app_$VERSION_CODE" DESTINATION="$MAC_USER@$MAC_MINI_IP:/Users/pierre/dev/geosector/$DESTINATION_DIR" echo -e "${YELLOW}Configuration du transfert :${NC}" echo -e " Source : $(pwd)" echo -e " Destination : $DESTINATION" echo "" # Transfert réel (rsync créera le dossier automatiquement) echo "" echo -e "${GREEN}Démarrage du transfert...${NC}" echo -e "${YELLOW}Note: Vous allez devoir saisir le mot de passe du Mac mini${NC}" echo -e "${BLUE}rsync va créer le dossier de destination automatiquement${NC}" echo "" rsync -avz --progress \ --rsync-path="mkdir -p /Users/pierre/dev/geosector/$DESTINATION_DIR && rsync" \ --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/' \ --exclude='android/build/' \ --exclude='*.aab' \ --exclude='*.apk' \ ./ "$DESTINATION/" if [ $? -eq 0 ]; then echo "" echo -e "${GREEN}=========================================${NC}" echo -e "${GREEN} ✓ Transfert terminé avec succès !${NC}" echo -e "${GREEN}=========================================${NC}" echo "" echo -e "${YELLOW}Dossier sur le Mac :${NC} /Users/pierre/dev/geosector/$DESTINATION_DIR" echo "" echo -e "${YELLOW}Prochaines étapes sur le Mac mini :${NC}" echo " 1. Se connecter : ssh $MAC_USER@$MAC_MINI_IP" echo " 2. Aller dans le dossier : cd /Users/pierre/dev/geosector/$DESTINATION_DIR" echo " 3. Lancer le build : ./ios-build-mac.sh" echo "" else echo -e "${RED}Erreur lors du transfert${NC}" exit 1 fi