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>
This commit is contained in:
pierre
2025-11-09 18:26:27 +01:00
parent 21657a3820
commit 2f5946a184
812 changed files with 142105 additions and 25992 deletions

208
app/IOS-BUILD-GUIDE.md Normal file
View File

@@ -0,0 +1,208 @@
# 🍎 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**
```bash
# Sur votre machine Debian
cd /home/pierre/dev/geosector/app
# Lancer le transfert
./transfer-to-mac.sh
```
**Ce que fait le script** :
1. Détecte automatiquement la version (ex: 342)
2. Crée le dossier `app_342` sur le Mac mini
3. Transfert tous les fichiers nécessaires (lib, ios, pubspec.yaml, etc.)
4. 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**
```bash
# 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**
```bash
# Sur le Mac mini
./ios-build-mac.sh
```
**Ce que fait le script** :
1. ✅ Nettoie le projet (`flutter clean`)
2. ✅ Récupère les dépendances (`flutter pub get`)
3. ✅ Installe les pods (`pod install`)
4. ✅ Compile en release (`flutter build ios --release`)
5. ✅ 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 :
1. ⏳ Attendre le chargement (quelques secondes)
2. ✅ Vérifier **Signing & Capabilities** : Team = 6WT84NWCTC, "Automatically manage signing" coché
3. 🧹 **Product > Clean Build Folder** (Cmd+Shift+K)
4. 📦 **Product > Archive**
5. ⏳ Attendre l'archive (5-10 minutes)
6. 📤 **Organizer** s'ouvre → Clic **Distribute App**
7. ☁️ Choisir **App Store Connect**
8.**Upload** → Automatique
9. 🚀 **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"**
```bash
# 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"**
```bash
# Installer Xcode Command Line Tools
xcode-select --install
```
### **Erreur lors de pod install**
```bash
# Sur le Mac mini
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
cd ..
```
### **Erreur de signature**
1. Ouvrir Xcode : `open ios/Runner.xcworkspace`
2. Sélectionner le target "Runner"
3. Onglet "Signing & Capabilities"
4. Vérifier Team ID : `6WT84NWCTC`
5. Cocher "Automatically manage signing"
### **Archive créée mais vide**
Vérifier que la compilation iOS a réussi :
```bash
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**
```bash
# 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 !** 🚀