- 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>
5.1 KiB
5.1 KiB
🍎 Guide de Build iOS - GEOSECTOR
Date de création : 21/10/2025 Version actuelle : 3.4.2 (Build 342)
📋 Prérequis
Sur le Mac mini
- ✅ macOS installé
- ✅ Xcode installé avec Command Line Tools
- ✅ Flutter installé (3.24.5 LTS recommandé)
- ✅ CocoaPods installé (
sudo gem install cocoapods) - ✅ Certificats Apple configurés (Team ID: 6WT84NWCTC)
Sur Debian
- ✅ Accès SSH au Mac mini (192.168.1.34)
- ✅ rsync installé
🚀 Procédure complète
Étape 1 : Transfert depuis Debian vers Mac mini
# Sur votre machine Debian
cd /home/pierre/dev/geosector/app
# Lancer le transfert
./transfer-to-mac.sh
Ce que fait le script :
- Détecte automatiquement la version (ex: 342)
- Crée le dossier
app_342sur le Mac mini - Transfert tous les fichiers nécessaires (lib, ios, pubspec.yaml, etc.)
- Exclut les dossiers inutiles (build, .dart_tool, Pods, etc.)
Durée : 2-5 minutes (selon la connexion réseau)
Note : Vous devrez saisir le mot de passe du Mac mini
Étape 2 : Connexion au Mac mini
# Depuis Debian
ssh pierre@192.168.1.34
# Aller dans le dossier transféré
cd /Users/pierre/dev/geosector/app_342
Étape 3 : Lancer le build iOS
# Sur le Mac mini
./ios-build-mac.sh
Ce que fait le script :
- ✅ Nettoie le projet (
flutter clean) - ✅ Récupère les dépendances (
flutter pub get) - ✅ Installe les pods (
pod install) - ✅ Compile en release (
flutter build ios --release) - ✅ Ouvre Xcode pour l'archive (signature manuelle plus fiable)
Durée de préparation : 5-10 minutes
Résultat : Xcode s'ouvre, prêt pour Product > Archive
Étape 4 : Créer l'archive et upload vers App Store Connect
Xcode est ouvert automatiquement ✅
Dans Xcode :
- ⏳ Attendre le chargement (quelques secondes)
- ✅ Vérifier Signing & Capabilities : Team = 6WT84NWCTC, "Automatically manage signing" coché
- 🧹 Product > Clean Build Folder (Cmd+Shift+K)
- 📦 Product > Archive
- ⏳ Attendre l'archive (5-10 minutes)
- 📤 Organizer s'ouvre → Clic Distribute App
- ☁️ Choisir App Store Connect
- ✅ Upload → Automatique
- 🚀 Next jusqu'à validation finale
⚠️ Ne PAS utiliser xcodebuild en ligne de commande : erreurs de signature (errSecInternalComponent). Xcode GUI obligatoire.
📁 Structure des dossiers sur Mac mini
/Users/pierre/dev/geosector/
├── app_342/ # Version 3.4.2 (Build 342)
│ ├── ios/
│ ├── lib/
│ ├── pubspec.yaml
│ ├── ios-build-mac.sh # Script de build
│ └── build/
│ └── Runner.xcarchive # Archive générée
├── app_341/ # Version précédente (si existe)
└── app_343/ # Version future
Avantage : Garder plusieurs versions côte à côte pour tests/rollback
🔧 Résolution de problèmes
Erreur : "Flutter not found"
# Vérifier que Flutter est dans le PATH
echo $PATH | grep flutter
# Ajouter Flutter au PATH (dans ~/.zshrc ou ~/.bash_profile)
export PATH="$PATH:/opt/flutter/bin"
source ~/.zshrc
Erreur : "xcodebuild not found"
# Installer Xcode Command Line Tools
xcode-select --install
Erreur lors de pod install
# Sur le Mac mini
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
cd ..
Erreur de signature
- Ouvrir Xcode :
open ios/Runner.xcworkspace - Sélectionner le target "Runner"
- Onglet "Signing & Capabilities"
- Vérifier Team ID :
6WT84NWCTC - Cocher "Automatically manage signing"
Archive créée mais vide
Vérifier que la compilation iOS a réussi :
flutter build ios --release --no-codesign --verbose
📊 Checklist de validation
- Version/Build incrémenté dans
pubspec.yaml - Compilation iOS réussie
- Archive validée dans Xcode Organizer
- Build uploadé vers App Store Connect
- TestFlight : Ajouter build au groupe "Testeurs externes"
- Renseigner "Infos sur l'exportation de conformité" :
- App utilise chiffrement ? → Oui
- Algorithmes exempts listés ? → Aucun des algorithmes mentionnés ci-dessus
- (App utilise HTTPS standard iOS uniquement)
- Soumettre build pour révision TestFlight
- (Optionnel) Captures/Release notes pour production App Store
🎯 Workflow complet
# 1. Debian → Transfert
cd /home/pierre/dev/geosector/app
./transfer-to-mac.sh
# 2. Mac mini → Build + Archive
ssh pierre@192.168.1.34
cd /Users/pierre/dev/geosector/app_342
./ios-build-mac.sh
# Xcode s'ouvre → Product > Clean + Archive
# 3. Upload → TestFlight
# Organizer > Distribute App > App Store Connect > Upload
# App Store Connect > TestFlight > Conformité export
📞 Support
- Documentation Apple : https://developer.apple.com
- App Store Connect : https://appstoreconnect.apple.com
- Flutter iOS : https://docs.flutter.dev/deployment/ios
✅ Prêt pour la production ! 🚀