- #17: Amélioration gestion des secteurs et statistiques - #18: Optimisation services API et logs - #19: Corrections Flutter widgets et repositories - #20: Fix création passage - détection automatique ope_users.id vs users.id Suppression dossier web/ (migration vers app Flutter) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
124 lines
4.0 KiB
Bash
Executable File
124 lines
4.0 KiB
Bash
Executable File
#!/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
|
|
|
|
# Synchroniser la version depuis ../VERSION
|
|
echo -e "${BLUE}📋 Synchronisation de la version depuis ../VERSION...${NC}"
|
|
echo ""
|
|
|
|
VERSION_FILE="../VERSION"
|
|
if [ ! -f "$VERSION_FILE" ]; then
|
|
echo -e "${RED}Erreur: Fichier VERSION introuvable : $VERSION_FILE${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Lire la version depuis le fichier (enlever espaces/retours à la ligne)
|
|
VERSION_NUMBER=$(cat "$VERSION_FILE" | tr -d '\n\r ' | tr -d '[:space:]')
|
|
if [ -z "$VERSION_NUMBER" ]; then
|
|
echo -e "${RED}Erreur: Le fichier VERSION est vide${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Version lue depuis $VERSION_FILE :${NC} $VERSION_NUMBER"
|
|
|
|
# Calculer le versionCode (supprimer les points)
|
|
VERSION_CODE=$(echo $VERSION_NUMBER | tr -d '.')
|
|
if [ -z "$VERSION_CODE" ]; then
|
|
echo -e "${RED}Erreur: Impossible de calculer le versionCode${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${YELLOW}Version code calculé :${NC} $VERSION_CODE"
|
|
|
|
# Mettre à jour pubspec.yaml
|
|
echo -e "${BLUE}Mise à jour de pubspec.yaml...${NC}"
|
|
sed -i.bak "s/^version:.*/version: $VERSION_NUMBER+$VERSION_CODE/" pubspec.yaml
|
|
|
|
# Vérifier que la mise à jour a réussi
|
|
UPDATED_VERSION=$(grep "^version:" pubspec.yaml | sed 's/version: //' | tr -d ' ')
|
|
if [ "$UPDATED_VERSION" != "$VERSION_NUMBER+$VERSION_CODE" ]; then
|
|
echo -e "${RED}Erreur: Échec de la mise à jour de pubspec.yaml${NC}"
|
|
echo -e "${RED}Attendu : $VERSION_NUMBER+$VERSION_CODE${NC}"
|
|
echo -e "${RED}Obtenu : $UPDATED_VERSION${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${GREEN}✓ pubspec.yaml mis à jour : version: $VERSION_NUMBER+$VERSION_CODE${NC}"
|
|
echo ""
|
|
|
|
VERSION="$VERSION_NUMBER+$VERSION_CODE"
|
|
|
|
# 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 \
|
|
-e "ssh -o IdentitiesOnly=yes -o PubkeyAuthentication=no -o PreferredAuthentications=password" \
|
|
--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
|