- Stack : Expo Router, Axios, Zustand, React Native Paper (thème sombre), date-fns - Sécurité : secrets dans Android Keystore via expo-secure-store, TLS obligatoire, headers X-N8N-API-KEY + X-App-Token injectés par intercepteur Axios - API : client.ts centralisé + workflows.ts + executions.ts (TypeScript strict) - Store : Zustand appStore avec chargement depuis secure store au démarrage - Hooks : usePolling (générique), useWorkflows, useExecutions - Composants : StatusBadge, WorkflowCard, ExecutionCard, SkeletonLoader - Screens : Dashboard, Workflows, Executions, Logs (détail exécution), Settings - Navigation Expo Router : 4 tabs + stack Logs + écran Setup initial - Docs : INSTALL.md, UPDATE.md, BACKUP.md, HAPROXY.md, SECURITY.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.8 KiB
Mise à jour de n8n Pilot
Processus de mise à jour
1. Récupérer les changements
git pull origin main
npm install --legacy-peer-deps
2. Bumper la version
Éditez app.json et incrémentez version :
{
"expo": {
"version": "1.1.0",
"android": {
"versionCode": 2
}
}
}
Règle :
versionCodedoit être strictement supérieur à la version précédente.
versionsuit semver : MAJEUR.MINEUR.CORRECTIF
3. Rebuilder l'APK
eas build --platform android --profile preview
4. Distribuer la mise à jour
Option A — Sideload manuel
Répétez la procédure de sideload (voir INSTALL.md § 8) avec le nouvel APK.
L'Android Package Manager gère la mise à jour en place si le versionCode est supérieur.
Option B — OTA (Over The Air) via Expo Updates
Pour les mises à jour mineures (JS uniquement, pas de changements natifs) :
eas update --branch production --message "Fix: correction du polling"
L'app télécharge la mise à jour au prochain démarrage si elle est connectée.
Important
: les changements dans
app.json, l'ajout de plugins natifs ou la modification des permissions nécessitent un rebuild APK complet.
Vérifications avant release
- Tests sur appareil physique (pas seulement émulateur)
- Vérifier que la connexion à l8n fonctionne avec les nouvelles données
- Valider le polling sur WiFi et données mobiles
- Vérifier que les secrets restent dans le Keystore après mise à jour
- Contrôler les logs Android (
adb logcat) pour des erreurs inattendues
Rollback
En cas de régression critique :
# Revenir au commit précédent
git revert HEAD
# Rebuilder et redéployer la version précédente
eas build --platform android --profile preview