diff --git a/GUIDE_APK.md b/GUIDE_APK.md new file mode 100644 index 0000000..1fd64c2 --- /dev/null +++ b/GUIDE_APK.md @@ -0,0 +1,161 @@ +# đŸ“± Guide de gĂ©nĂ©ration de l'APK Android + +Ce guide explique comment gĂ©nĂ©rer l'APK de **Compagnon du Lagon** pour la distribution aux bĂȘta-testeurs. + +## 🚀 MĂ©thode rapide (RecommandĂ©e) + +### 1. Lancer le script automatisĂ© + +```bash +cd "/home/syoul/Ccompagnon Marama" +./scripts/build-apk-simple.sh +``` + +Le script va : +- ✅ Installer automatiquement SDKMAN si nĂ©cessaire +- ✅ Installer Java 21 (requis par Capacitor) +- ✅ Installer Android SDK (cmdline-tools) +- ✅ Build Next.js en mode export statique +- ✅ Configurer Capacitor +- ✅ GĂ©nĂ©rer l'APK Android + +**⏱ DurĂ©e :** ~15-20 minutes la premiĂšre fois (tĂ©lĂ©chargement SDK), puis 2-3 minutes pour les builds suivants. + +### 2. RĂ©cupĂ©rer l'APK + +L'APK sera disponible dans : +``` +dist/compagnon-lagon-beta.apk +``` + +**📊 Taille :** ~4,5 MB + +## đŸ“€ Distribution aux bĂȘta-testeurs + +### Option 1 : Envoi direct du fichier + +1. **Envoyer par email/messagerie** + - Envoyez le fichier `dist/compagnon-lagon-beta.apk` + - Via Email, WhatsApp, Telegram, etc. + +2. **Instructions pour les testeurs** + ``` + 1. TĂ©lĂ©charger le fichier APK + 2. Ouvrir les ParamĂštres Android + 3. SĂ©curitĂ© > Activer "Sources inconnues" + 4. Ouvrir le fichier APK tĂ©lĂ©chargĂ© + 5. Appuyer sur "Installer" + ``` + +### Option 2 : HĂ©bergement web temporaire + +1. **Via transfert.sh** (gratuit, temporaire) + ```bash + curl --upload-file dist/compagnon-lagon-beta.apk https://transfer.sh/compagnon.apk + ``` + Vous recevrez un lien Ă  partager (valide 14 jours). + +2. **Via Google Drive/Dropbox** + - Upload `dist/compagnon-lagon-beta.apk` + - Partager le lien public + - Les testeurs tĂ©lĂ©chargent et installent + +### Option 3 : Serveur local (testeurs sur mĂȘme rĂ©seau) + +```bash +cd dist +python3 -m http.server 8080 +``` + +Les testeurs peuvent tĂ©lĂ©charger Ă  l'adresse : +``` +http://[VOTRE_IP]:8080/compagnon-lagon-beta.apk +``` + +## 🔄 Mettre Ă  jour l'APK + +Pour gĂ©nĂ©rer une nouvelle version aprĂšs des modifications : + +```bash +# 1. Modifier le code +# 2. Relancer le build +./scripts/build-apk-simple.sh + +# 3. L'APK sera mis Ă  jour dans dist/ +``` + +## đŸ› ïž Configuration requise (Installation automatique) + +Le script installe automatiquement : +- ✅ **SDKMAN** : Gestionnaire de SDK Java +- ✅ **Java 21** : Requis par Capacitor +- ✅ **Android SDK** : Platform-tools, Build-tools 34.0.0 +- ✅ **Node.js packages** : Capacitor, dĂ©pendances + +**Note :** Pas besoin de sudo, tout s'installe dans `~/.sdkman` et `~/Android/Sdk`. + +## 📝 Notes importantes + +### DonnĂ©es statiques +L'APK contient toutes les donnĂ©es en **statique** (JSON dans `public/data/`). +Pour mettre Ă  jour les donnĂ©es : +1. Modifier les fichiers JSON +2. Rebuild l'APK +3. Redistribuer la nouvelle version + +### Signature APK (Debug vs Release) + +**APK Debug** (actuel) : +- ✅ Parfait pour les bĂȘta-tests +- ✅ Signature automatique +- ❌ Ne peut pas ĂȘtre publiĂ© sur Play Store + +**APK Release** (pour production) : +```bash +# GĂ©nĂ©rer un keystore +keytool -genkey -v -keystore compagnon-release.keystore \ + -alias compagnon -keyalg RSA -keysize 2048 -validity 10000 + +# Builder en mode release +cd android +./gradlew assembleRelease +``` + +## 🐛 DĂ©pannage + +### Erreur "Java not found" +```bash +source "$HOME/.sdkman/bin/sdkman-init.sh" +sdk use java 21.0.1-tem +``` + +### Erreur "ANDROID_HOME not set" +```bash +export ANDROID_HOME="$HOME/Android/Sdk" +``` + +### Erreur "Gradle daemon stopped" +```bash +cd android +./gradlew --stop +./gradlew clean assembleDebug +``` + +### APK vide / sans contenu +- VĂ©rifier que `out/` contient les fichiers HTML +- VĂ©rifier `public/data/*.json` sont prĂ©sents +- Rebuild avec `npm run build` avant Capacitor + +## 📞 Support + +En cas de problĂšme, vĂ©rifier : +1. Les logs du script : `./scripts/build-apk-simple.sh` +2. Les logs Gradle : `android/build/reports/` +3. Le contenu de `out/` aprĂšs build Next.js + +--- + +**Version** : 1.0.0 - Novembre 2025 +**App ID** : `com.pensionmarama.app` +**Nom** : Compagnon du Lagon - Pension Marama + diff --git a/scripts/build-apk-simple.sh b/scripts/build-apk-simple.sh index c565638..0f66dbe 100755 --- a/scripts/build-apk-simple.sh +++ b/scripts/build-apk-simple.sh @@ -44,11 +44,45 @@ echo "" # Étape 2: Installer les dĂ©pendances si nĂ©cessaire echo -e "${BLUE}📩 Étape 2/6: VĂ©rification des dĂ©pendances${NC}" + +# VĂ©rifier SDKMAN +if [ ! -f "$HOME/.sdkman/bin/sdkman-init.sh" ]; then + echo "SDKMAN non trouvĂ©. Installation..." + curl -s "https://get.sdkman.io" | bash +fi + +# Initialiser SDKMAN +source "$HOME/.sdkman/bin/sdkman-init.sh" + +# VĂ©rifier Java 21 +if ! sdk current java 2>&1 | grep -q "21.0"; then + echo "Installation de Java 21 (requis par Capacitor)..." + sdk install java 21.0.1-tem + sdk use java 21.0.1-tem +fi + +# VĂ©rifier Android SDK +if [ ! -d "$HOME/Android/Sdk" ]; then + echo "Installation d'Android SDK..." + mkdir -p "$HOME/Android/Sdk/cmdline-tools" + cd "$HOME/Android/Sdk/cmdline-tools" + wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip + unzip -q commandlinetools-linux-9477386_latest.zip + mv cmdline-tools latest + rm commandlinetools-linux-9477386_latest.zip + cd - + + export ANDROID_HOME="$HOME/Android/Sdk" + export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" + yes | sdkmanager --licenses || true + sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" +fi + if [ ! -d "node_modules" ]; then - echo "Installation des dĂ©pendances..." + echo "Installation des dĂ©pendances Node.js..." npm install --include=dev else - echo "DĂ©pendances dĂ©jĂ  installĂ©es" + echo "DĂ©pendances Node.js dĂ©jĂ  installĂ©es" fi # Installer Capacitor si nĂ©cessaire @@ -124,6 +158,11 @@ echo "" # Étape 6: Build l'APK echo -e "${BLUE}📩 Étape 6/6: GĂ©nĂ©ration de l'APK${NC}" +# Initialiser SDKMAN et configurer Java +source "$HOME/.sdkman/bin/sdkman-init.sh" +sdk use java 21.0.1-tem +export ANDROID_HOME="$HOME/Android/Sdk" + cd android # VĂ©rifier que gradlew existe et est exĂ©cutable @@ -136,7 +175,7 @@ chmod +x ./gradlew # Build l'APK echo "Construction de l'APK debug..." -./gradlew assembleDebug +./gradlew clean assembleDebug cd ..