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>
This commit is contained in:
2026-05-20 17:31:55 +02:00
parent ea1705d3b0
commit 92e67d0769
41 changed files with 4891 additions and 58 deletions
+78
View File
@@ -0,0 +1,78 @@
# Mise à jour de n8n Pilot
## Processus de mise à jour
### 1. Récupérer les changements
```bash
git pull origin main
npm install --legacy-peer-deps
```
### 2. Bumper la version
Éditez `app.json` et incrémentez `version` :
```json
{
"expo": {
"version": "1.1.0",
"android": {
"versionCode": 2
}
}
}
```
> **Règle** : `versionCode` doit être strictement supérieur à la version précédente.
> `version` suit [semver](https://semver.org/) : MAJEUR.MINEUR.CORRECTIF
### 3. Rebuilder l'APK
```bash
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) :
```bash
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 :
```bash
# Revenir au commit précédent
git revert HEAD
# Rebuilder et redéployer la version précédente
eas build --platform android --profile preview
```