Files
Kantin-Petit faa1e82301 feat: app mobile React Native / Expo (v0.31.0)
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>
2026-06-23 07:39:38 +02:00

32 lines
1.3 KiB
Markdown

# 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
```bash
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.