Files
oto-enterprise-os-dtp/DIRECTIVE_MOBILE_STORES_20260803.md
T
Claude Code DTP Worker 85d2fa3c54
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
DIRECTIVE · Applications mobiles iOS + Android · Sprint 5 · 5 semaines objectif
2026-08-03 01:35:20 +00:00

106 lines
4.5 KiB
Markdown

# 📱 DIRECTIVE · Applications mobiles OTOV7 · iOS + Android · 2026-08-03
## Confirmation Michel
« Il faut régler les applications mobiles aussi » · Sprint 5 du mandat DTP.
## État actuel (audit 2026-08-03)
### Repos et versions
- **Actif** · `/opt/oto/mobile/native/` · Expo SDK **51.0.0** (react-native, TypeScript, expo-router)
- Backup upgrade54 · `native.bak-upgrade54-20260727_224241/` · tentative upgrade Expo 54 abandonnée (à investiguer)
- Backup pré-upgrade · `native.bak-20260726-112957/` (référence)
### Bundle identifiers
- iOS · `com.otov7.app`
- Android · `com.otov7.app`
- App name · `OTOV7`
### Routes déjà scaffoldées
`/opt/oto/mobile/native/app/` ·
- `(chantier)/` · portail chef de chantier
- `(client)/` · portail client mobile
- `(vendeur)/` · portail vendeur
- `(tabs)/` · navigation bottom tabs
- `_layout.tsx`, `index.tsx`, `login.tsx`
### Comptes stores (confirmé Michel mai 2026)
**Apple Developer** actif (9/an)
**Google Play Developer** actif (5 one-time)
### Ce qui bloque encore
-**EAS Token** (Expo Application Services) · Michel doit créer https://expo.dev + partager token
- ⏳ Credentials Apple · Team ID, App Store Connect App ID, .p8 push key (voir STORE_TODO.md)
- ⏳ Credentials Google · service account JSON pour Play Console
## Actions pour agents Claude Code DTP
### P0 · Décision upgrade Expo 51 → 54
1. Investiguer pourquoi l'upgrade Expo 54 a été abandonnée le 2026-07-27
2. Si problème résolu · reprendre l'upgrade (Expo 54 = React Native 0.76 + New Architecture stable)
3. Sinon · rester sur Expo 51 (SDK LTS jusqu'à mi-2026)
### P1 · CI/CD Mobile
1. Créer workflow Gitea Actions `.gitea/workflows/mobile-build.yml` ·
- Trigger sur push branche `main` ou tag `v*`
- Job iOS · `eas build --platform ios --profile production --non-interactive`
- Job Android · `eas build --platform android --profile production --non-interactive`
2. Store EAS_TOKEN comme secret Gitea (attend token Michel)
### P2 · Fonctionnalités mobiles à finaliser
Selon roadmap OTOV7 mobile ·
1. **Login OTP** via Meta WhatsApp Cloud API (+18495172355) déjà configuré
2. **Portail client** · mêmes onglets que `/mon-compte/` web (Profil, Unités, Documents, Paiements, Financement, Chantier, SAV, HOA)
3. **Portail vendeur** · CRM + pipeline + commissions
4. **Portail chantier** · photos progress + IoT devices + log accès
5. **Notifications push** · via Expo Push API (endpoint backend à créer)
6. **Sync offline** · TanStack Query (déjà installé) + persistance AsyncStorage
7. **Trilingue FR/ES/EN** · i18n via expo-localization
### P3 · Assets stores
1. Icône app · 1024x1024 (Cormorant Garamond + logo HELIOS)
2. Splash screen · variantes light/dark
3. Screenshots 6.7" iPhone (5 min · portrait) · 6.9" iPhone (idem)
4. Screenshots tablet iPad Pro 12.9"
5. Screenshots Android · pixel 6 XL portrait + tablette
6. Feature graphic Android 1024x500
7. Description longue FR/EN/ES (max 4000 caractères)
8. Description courte (80 caractères)
9. Mots-clés App Store (100 char max, séparés virgule)
10. Video promo optionnel (30 secondes)
### P4 · Submit stores
1. Une fois EAS_TOKEN et credentials fournis ·
- `eas submit --platform ios --profile production`
- `eas submit --platform android --profile production --track internal` puis promotion en `production`
2. Review Apple · 24-48h
3. Review Google · 1-3 jours
### P5 · TestFlight + Play Console Internal
1. Beta testeurs · Michel + Xavier + Cesar + Martires + 5 clients pilotes
2. Feedback loop · Gitea Issues avec label `mobile-beta`
3. Itération v1.0.1, v1.0.2, ... jusqu'à validation puis release production
## Bloqueurs vs non-bloqueurs
### Vrais bloqueurs (nécessitent Michel)
- EAS_TOKEN (2 min à créer sur expo.dev)
- Credentials Apple .p8 push key
- Credentials Google service account JSON
### Non-bloqueurs (agents peuvent avancer)
- Upgrade Expo 51/54 · à investiguer localement
- Ajout portails Client/Vendeur/Chantier · code TypeScript autonome
- CI/CD Gitea Actions · configurer sans token, activation quand Michel fournit
- Assets stores · générer icônes/splash/screenshots via script
- Contenus descriptions · rédiger FR/EN/ES
## Résultat attendu
- **Semaine 1** · upgrade Expo décidé + portails Client/Vendeur/Chantier complétés + CI/CD prêt
- **Semaine 2 (dès token Michel)** · builds production iOS + Android + submit stores
- **Semaine 3-4** · TestFlight + Play Internal + feedback
- **Semaine 5** · production live sur les 2 stores
Commit progress régulier avec label `[Sprint 5 Mobile]` sur Gitea.