Page:
Déploiement
Clone
1
Déploiement
Arthur Lempereur edited this page 2025-10-23 18:02:21 +02:00
Table of Contents
- 🚀 Guide de déploiement - WalletTracker
- Prérequis
- Étape 1 : Configuration EAS
- Étape 2 : Configurer les variables d'environnement
- Étape 3 : Build pour iOS
- Étape 4 : Build pour Android
- Étape 5 : Configuration eas.json
- Étape 6 : Over-The-Air (OTA) Updates
- Étape 7 : Monitoring et Analytics
- Étape 8 : Checklist avant déploiement
- Étape 9 : Déploiement progressif
- Étape 10 : Post-déploiement
- 📊 Métriques à surveiller
- 🔧 Dépannage
- 💰 Coûts estimés
- 📚 Ressources
🚀 Guide de déploiement - WalletTracker
Ce guide explique comment déployer WalletTracker en production.
Prérequis
- Compte Expo (gratuit) : https://expo.dev/
- EAS CLI installé :
npm install -g eas-cli - Compte développeur Apple (pour iOS) ou Google Play (pour Android)
Étape 1 : Configuration EAS
Installer EAS CLI
npm install -g eas-cli
Se connecter à Expo
eas login
Initialiser EAS Build
eas build:configure
Cela créera un fichier eas.json avec la configuration de build.
Étape 2 : Configurer les variables d'environnement
Pour la production
Créez un fichier .env.production :
FIREBASE_API_KEY=votre_clé_production
FIREBASE_AUTH_DOMAIN=votre_domaine_production
FIREBASE_PROJECT_ID=votre_projet_production
FIREBASE_STORAGE_BUCKET=votre_bucket_production
FIREBASE_MESSAGING_SENDER_ID=votre_sender_id
FIREBASE_APP_ID=votre_app_id
Configurer les secrets EAS
eas secret:create --scope project --name FIREBASE_API_KEY --value "votre_clé"
eas secret:create --scope project --name FIREBASE_AUTH_DOMAIN --value "votre_domaine"
# ... répétez pour toutes les variables
Étape 3 : Build pour iOS
Configuration
- Assurez-vous d'avoir un compte Apple Developer
- Configurez votre Bundle Identifier dans
app.json
Lancer le build
# Build de développement
eas build --platform ios --profile development
# Build de preview (TestFlight)
eas build --platform ios --profile preview
# Build de production
eas build --platform ios --profile production
Soumettre à l'App Store
eas submit --platform ios
Étape 4 : Build pour Android
Configuration
- Configurez votre package name dans
app.json - Générez un keystore (EAS le fait automatiquement)
Lancer le build
# Build de développement
eas build --platform android --profile development
# Build de preview (Internal Testing)
eas build --platform android --profile preview
# Build de production
eas build --platform android --profile production
Soumettre à Google Play
eas submit --platform android
Étape 5 : Configuration eas.json
Exemple de configuration complète :
{
"cli": {
"version": ">= 5.0.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal",
"ios": {
"simulator": false
}
},
"production": {
"env": {
"FIREBASE_API_KEY": "$FIREBASE_API_KEY",
"FIREBASE_AUTH_DOMAIN": "$FIREBASE_AUTH_DOMAIN",
"FIREBASE_PROJECT_ID": "$FIREBASE_PROJECT_ID",
"FIREBASE_STORAGE_BUCKET": "$FIREBASE_STORAGE_BUCKET",
"FIREBASE_MESSAGING_SENDER_ID": "$FIREBASE_MESSAGING_SENDER_ID",
"FIREBASE_APP_ID": "$FIREBASE_APP_ID"
}
}
},
"submit": {
"production": {
"ios": {
"appleId": "votre@email.com",
"ascAppId": "1234567890",
"appleTeamId": "ABCD123456"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "production"
}
}
}
}
Étape 6 : Over-The-Air (OTA) Updates
EAS Update permet de déployer des mises à jour sans passer par les stores.
Configurer EAS Update
eas update:configure
Publier une mise à jour
# Pour la branche de production
eas update --branch production --message "Fix bug XYZ"
# Pour la branche de preview
eas update --branch preview --message "New feature ABC"
Étape 7 : Monitoring et Analytics
Sentry (erreurs)
- Créez un compte sur https://sentry.io/
- Installez le SDK :
npm install @sentry/react-native
- Configurez dans
App.tsx:
import * as Sentry from '@sentry/react-native';
Sentry.init({
dsn: 'votre_dsn_sentry',
enableInExpoDevelopment: false,
debug: false
});
Firebase Analytics
Déjà inclus avec Firebase. Activez-le dans la console Firebase.
Étape 8 : Checklist avant déploiement
Code
- Tous les tests passent
- Pas de console.log en production
- Variables d'environnement configurées
- Version incrémentée dans
app.json - Changelog mis à jour
Firebase
- Règles Firestore en mode production
- Règles Storage configurées
- Quotas vérifiés
- Backup configuré
- Monitoring activé
App Stores
- Screenshots préparés
- Description de l'app rédigée
- Politique de confidentialité publiée
- Conditions d'utilisation publiées
- Icône et splash screen finalisés
Sécurité
- HTTPS uniquement
- Pas de secrets hardcodés
- Validation côté serveur (règles Firestore)
- Rate limiting configuré
- Authentification sécurisée
Étape 9 : Déploiement progressif
Phase 1 : Beta Testing (1-2 semaines)
# Build preview
eas build --platform all --profile preview
# Inviter des beta testeurs
eas build:list
Phase 2 : Soft Launch (1 mois)
- Déployer dans un pays test
- Monitorer les métriques
- Corriger les bugs critiques
Phase 3 : Production
# Build production
eas build --platform all --profile production
# Soumettre aux stores
eas submit --platform all
Étape 10 : Post-déploiement
Monitoring
- Surveiller les crashs (Sentry)
- Analyser les métriques (Firebase Analytics)
- Vérifier les performances (Firebase Performance)
- Lire les reviews utilisateurs
Mises à jour
# Mise à jour mineure (bug fixes)
eas update --branch production --message "Bug fixes"
# Mise à jour majeure (nouvelles fonctionnalités)
# Nécessite un nouveau build
eas build --platform all --profile production
📊 Métriques à surveiller
- DAU/MAU : Utilisateurs actifs quotidiens/mensuels
- Retention : Taux de rétention à J1, J7, J30
- Crash rate : Taux de crash < 1%
- Performance : Temps de chargement < 3s
- Engagement : Nombre de transactions par utilisateur
🔧 Dépannage
Build échoue
# Nettoyer le cache
eas build:cancel
eas build --clear-cache --platform all
Update ne fonctionne pas
# Vérifier la configuration
eas update:list --branch production
Problèmes de certificats iOS
# Régénérer les certificats
eas credentials
💰 Coûts estimés
Gratuit
- Expo (plan gratuit) : Builds limités
- Firebase (plan Spark) : Limité mais suffisant pour débuter
Payant
- Apple Developer : 99€/an
- Google Play : 25€ (une fois)
- Expo (plan Production) : ~29$/mois (builds illimités)
- Firebase (plan Blaze) : Pay-as-you-go
📚 Ressources
- EAS Build Documentation
- EAS Submit Documentation
- EAS Update Documentation
- App Store Guidelines
- Google Play Guidelines
Bon déploiement ! 🎉