# 🚀 GEOSECTOR - Quick Start Build

**Version** : 3.3.6 (Build 336)
**Date** : 14/10/2025

---

## 📱 Build iOS (Mac uniquement)

### Une seule commande

```bash
./ios.sh
```

**Ce que fait le script** :
1. ✅ Nettoyage complet (flutter clean + suppression caches)
2. ✅ flutter pub get
3. ✅ Patch permission_handler_apple (automatique)
4. ✅ pod install
5. ✅ flutter analyze
6. ✅ flutter build ios --release --no-codesign
7. ✅ Ouvre Xcode pour l'archive (optionnel)

**Durée** : 5-10 minutes

**Résultat** : Application prête dans `build/ios/iphoneos/Runner.app`

### Build sans archive Xcode

```bash
./ios.sh --skip-archive
```

---

## 🤖 Build Android

### Une seule commande

```bash
./android.sh
```

**Ce que fait le script** :
1. ✅ Nettoyage complet (flutter clean)
2. ✅ flutter pub get
3. ✅ Patch nfc_manager (automatique)
4. ✅ flutter analyze
5. ✅ flutter build appbundle --release
6. ✅ Copie avec nom versionné : `geosector-336.aab`

**Durée** : 5-10 minutes

**Résultat** : Bundle Android `geosector-336.aab`

---

## 🌐 Build Web

```bash
flutter build web --release
```

Ou pour déploiement DEV :

```bash
./deploy-app.sh
```

---

## 🔧 Scripts de correction (manuels)

### iOS - Fix permission_handler_apple

```bash
./fix-permission-handler.sh
```

**Quand** : Après `flutter pub get` si compilation iOS échoue

### Android - Fix nfc_manager

```bash
./fix-nfc-manager.sh
```

**Quand** : Après `flutter pub get` si compilation Android échoue

---

## 📋 Checklist rapide

### Avant tout build

- [ ] Version incrémentée dans `pubspec.yaml`
- [ ] Git commit des derniers changements
- [ ] Tests manuels effectués

### iOS uniquement

- [ ] Sur macOS
- [ ] Xcode installé
- [ ] CocoaPods installé
- [ ] Flutter 3.24.5 LTS

### Android uniquement

- [ ] Keystore présent : `android/app/geosector2025.jks`
- [ ] Fichier `android/key.properties` configuré

---

## 🎯 Workflow complet

### Pour une release complète (3 plateformes)

```bash
# 1. Mettre à jour la version
# Modifier pubspec.yaml : version: 3.3.7+337

# 2. Build Android
./android.sh

# 3. Build iOS
./ios.sh

# 4. Build Web
flutter build web --release

# 5. Git tag
git tag v3.3.7
git push --tags
```

---

## 🐛 Erreurs fréquentes

### iOS : "FlutterAppDelegate has different definitions"

**Solution** :
```bash
./fix-permission-handler.sh
cd ios && pod install && cd ..
flutter build ios --release --no-codesign
```

### Android : "namespace not found"

**Solution** :
```bash
./fix-nfc-manager.sh
flutter build appbundle --release
```

### "Flutter not in PATH"

**Solution** :
```bash
export PATH="$PATH:$HOME/dev/flutter/bin"
```

---

## 📚 Documentation complète

| Fichier | Contenu |
|---------|---------|
| `README-SCRIPTS.md` | Documentation complète des scripts |
| `BUILD-IOS-SUCCESS.md` | Guide de la solution iOS |
| `SOLUTION-IOS.md` | Détails techniques iOS |
| `SCRIPTS-IOS.md` | Documentation scripts iOS |

---

## ✅ Statut actuel

| Plateforme | Build | Statut |
|-----------|-------|--------|
| **iOS** | ✅ | Fonctionnel (Runner.app 107.4MB) |
| **Android** | ✅ | Fonctionnel (geosector-336.aab) |
| **Web** | ✅ | Fonctionnel |

---

**🎉 Tout est prêt pour les builds de production !**

Commandes rapides :
- `./ios.sh` - Build iOS complet
- `./android.sh` - Build Android complet
- `flutter build web --release` - Build Web
