- 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>
2.6 KiB
Sauvegarde de n8n Pilot
Ce qu'il faut sauvegarder
1. Credentials de signature EAS (credentials.json)
Où : généré par EAS lors du premier build dans ~/.eas/ ou téléchargeable depuis le dashboard Expo.
Pourquoi : sans le keystore de signature, il est impossible de mettre à jour l'APK sur un appareil qui a déjà la version signée avec ce keystore. Android refuse les mises à jour avec un keystore différent.
Comment sauvegarder :
# Télécharger les credentials depuis EAS
eas credentials
# Choisir : Android > Keystore > Download
# Sauvegarder le fichier .jks et les mots de passe associés
Criticalité : MAXIMALE — perte du keystore = obligation de désinstaller l'app sur tous les appareils avant de pouvoir installer une nouvelle version.
2. Fichier .env de développement
Où : racine du projet (jamais dans git)
Pourquoi : contient l'URL de l'instance, la clé API et le token HAProxy pour l'environnement de dev. Sans ce fichier, les développeurs doivent reconfigurer manuellement l'environnement.
Comment sauvegarder : gestionnaire de mots de passe (Bitwarden, 1Password, Vault) avec les champs :
N8N_BASE_URLN8N_API_KEYN8N_APP_TOKEN
3. Configuration EAS (eas.json)
Où : racine du projet, committé dans git
Pourquoi : définit les profils de build (development, preview, production).
Statut : déjà sauvegardé via git — aucune action supplémentaire requise.
4. Données utilisateur sur l'appareil
Les credentials (URL, clé API, token) sont chiffrés dans l'Android Keystore de l'appareil. Ils ne sont pas sauvegardés dans les sauvegardes Android standard (par conception de sécurité).
Conséquence : après réinitialisation usine ou changement d'appareil, l'utilisateur doit reconfigurer l'app depuis l'écran Paramètres.
Fréquence recommandée
| Élément | Fréquence | Stockage |
|---|---|---|
| Keystore EAS | À chaque rotation + après génération | Coffre chiffré hors-ligne |
.env dev |
À chaque rotation des tokens | Gestionnaire de mots de passe |
| Code source | En continu via git push | Gitea self-hosted |
Procédure de restauration
Restaurer le keystore
# Uploader le keystore sauvegardé vers EAS
eas credentials
# Choisir : Android > Keystore > Upload existing keystore
Restaurer l'environnement de développement
git clone https://homegit.gyozamancave.fr/billisdead/n8n-mobile.git
cd n8n-mobile
cp .env.example .env
# Remplir .env depuis le gestionnaire de mots de passe
npm install --legacy-peer-deps