faa1e82301
Package mobile/ (Expo SDK 56, expo-router) réutilisant l'API backend : Login (mdp+TOTP), Chat (+ TTS expo-speech), Review (approuver/refuser). JWT en expo-secure-store, thème dark HUD, EXPO_PUBLIC_API_BASE. typecheck vert. STT mobile reporté (lib native), TTS OK. Versions gérées par Expo. Palier de risque : reversible (client mobile, API commune). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mobile — app CHLOVA (React Native / Expo)
Client natif iOS/Android, réutilise l'API du backend (mêmes endpoints que le
web). Expo SDK 56 + expo-router. Thème dark HUD (voir ../docs/ui-design.md).
Lancer
npm install
# URL du backend (HTTPS, derrière Traefik) :
export EXPO_PUBLIC_API_BASE=https://chlova.example.com # PowerShell: $env:EXPO_PUBLIC_API_BASE=...
npm start # puis 'a' (Android) / 'i' (iOS) / QR Expo Go
npm run typecheck
Écrans
| Fichier | Rôle |
|---|---|
app/login.tsx |
Login fort (mot de passe + TOTP). |
app/(tabs)/chat.tsx |
Conversation agent + TTS (expo-speech). |
app/(tabs)/review.tsx |
Need-review : approuver / refuser (confirm natif). |
src/api.ts |
Client API (base = EXPO_PUBLIC_API_BASE). |
src/auth.tsx |
JWT en expo-secure-store (Keychain/Keystore). |
Notes
- STT (dictée) non inclus en v1 (nécessite une lib native dédiée) ; TTS OK
via
expo-speech. La voix complète existe déjà côté web. - Versions des libs gérées par Expo (
npx expo install), pas en épinglage exact (norme de l'écosystème RN/Expo). npm audit: ~10 alertes modérées dans la chaîne de build Expo CLI (xcode/uuid, prebuild dev-time) — pas dans le bundle livré ; non corrigeables sans casser le SDK.