L'application crashera au démarrage si les variables d'environnement ne sont pas correctement configurées lors du build !
- Fichier
.envconfiguré localement (pour le développement) - Compte EAS Build configuré :
eas login - Variables secrets configurées sur EAS (pour les builds)
Avant de builder, vous DEVEZ configurer les secrets sur EAS :
# 1. Clerk Authentication (OBLIGATOIRE - l'app crashe sans cette clé)
eas secret:create --scope project --name EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY --value "pk_live_VOTRE_CLE_ICI"
# 2. Supabase (OBLIGATOIRE)
eas secret:create --scope project --name EXPO_PUBLIC_SUPABASE_URL --value "https://votre-projet.supabase.co"
eas secret:create --scope project --name EXPO_PUBLIC_SUPABASE_ANON_KEY --value "votre_cle_anon_ici"
# 3. Google Gemini (Optionnel - pour l'assistant IA)
eas secret:create --scope project --name EXPO_PUBLIC_GEMINI_API_KEY --value "votre_cle_gemini_ici"eas secret:listeas secret:delete --scope project --name EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY
eas secret:create --scope project --name EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY --value "nouvelle_valeur"Build APK pour tester sur des appareils physiques :
eas build --profile preview --platform androidBuild AAB pour publication sur Google Play Store :
eas build --profile production --platform androideas build --profile production --platform iosAprès le build :
- Allez sur https://expo.dev/accounts/tardin/projects/ZopGo/builds
- Téléchargez l'APK/AAB depuis l'interface web
- Ou utilisez :
eas build:list
adb install chemin/vers/votre.apkEAS Build génère un QR code pour télécharger l'APK directement sur le téléphone.
Cause : Variables d'environnement manquantes
Solution :
- Vérifiez que les secrets EAS sont configurés :
eas secret:list - Vérifiez que
eas.jsoncontient bien les variables d'environnement - Rebuild l'APK après avoir configuré les secrets
Cause : La clé Clerk n'est pas trouvée
Solution :
- Configurez le secret :
eas secret:create --scope project --name EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY --value "pk_live_..." - Rebuild
Cause : Les variables doivent être dans eas.json ET configurées comme secrets EAS
Solution :
- Vérifiez
eas.json: les variables sont déclarées dans la sectionenv - Configurez les secrets EAS comme indiqué ci-dessus
- Les variables avec valeur vide (
"") danseas.jsonseront remplies par les secrets EAS
L'app utilise deux méthodes pour accéder aux variables d'environnement :
- En développement :
process.env.EXPO_PUBLIC_*(depuis.env) - En production (APK/AAB) :
Constants.expoConfig.extra.*(depuisapp.json)
Les fichiers suivants gèrent cette logique :
src/app/_layout.tsx- Clerk configurationsrc/lib/supabase.ts- Supabase configurationsrc/lib/gemini.ts- Gemini AI configuration
Si vous voulez builder localement (sans EAS Build) :
# 1. Créer le build natif
npx expo prebuild
# 2. Builder avec Android Studio ou Gradle
cd android && ./gradlew assembleRelease
# L'APK sera dans : android/app/build/outputs/apk/release/app-release.apk- Android Studio installé
- SDK Android configuré
- Variables d'environnement dans le fichier
.envà la racine du projet
Pour tout problème de build, consultez :
- Documentation Expo : https://docs.expo.dev/build/introduction/
- Documentation EAS Build : https://docs.expo.dev/build-reference/variables/