Files
n8n-mobile/docs/BACKUP.md
T
billisdead 92e67d0769 feat: application n8n Pilot complète (Expo managed workflow)
- 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>
2026-05-20 17:31:55 +02:00

90 lines
2.6 KiB
Markdown

# 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** :
```bash
# 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_URL`
- `N8N_API_KEY`
- `N8N_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
```bash
# Uploader le keystore sauvegardé vers EAS
eas credentials
# Choisir : Android > Keystore > Upload existing keystore
```
### Restaurer l'environnement de développement
```bash
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
```