# LineUp France - Etat de Validation au 2026-03-12

Scope: BO `/Users/gsent/Documents/app`, `client_app`, `liner_app`
Goal: donner un etat lisible et partageable de la couverture QA locale et des recettes deja validees.

## 1) Resume executif

Statut global: `vert local`, `a rejouer en prod avec la fiche E2E`

Valide localement:
1. BO smoke HTTP local
2. scenario API E2E BO reel
3. `client_app` tests widget et analyze
4. `liner_app` tests widget et analyze

Point a confirmer en prod:
1. worker queue reel apres fin mission
2. geoloc device reelle
3. push devices reels client + liner
4. parcours retrait reel selon infra prod

## 2) BO local

Validation executee:
1. `curl http://127.0.0.1:8000/health` OK
2. `./scripts/smoke_web.sh http://127.0.0.1:8000` -> `13 passed, 0 failed`
3. `./scripts/e2e_local_lineup.sh` -> `38 passed, 0 failed`

Le script E2E couvre:
1. login client + liner A + liner B
2. creation mission
3. double candidature
4. choix d un seul liner
5. paiement
6. message mission
7. progression mission complete
8. track client + liner
9. settlement wallet
10. historique wallet

Artefacts BO disponibles:
- `scripts/e2e_local_lineup.sh`
- `scripts/local_validation_suite.sh`
- `docs/qa/prod-smoke-checklist.md`
- `docs/qa/prod-e2e-client-liner-bo-checklist.md`
- `docs/qa/prod-e2e-runbook-copy-paste.md`
- `docs/qa/prod-e2e-run-sheet.md`

## 3) client_app

Validation executee:
1. `flutter test` -> `11 tests passed`
2. `flutter analyze` -> `No issues found`
3. `./scripts/e2e_real_client_api.sh` -> `All tests passed!`

Couverture widget utile:
1. onboarding
2. missions par statut
3. candidatures liners
4. paiement mission
5. suivi mission
6. chat mission
7. messages
8. notifications
9. profil
10. historique paiements
11. navigation settings

Correctif reel trouve et ferme:
1. `ClientNotificationsPage` utilisait un `setState` avec callback async implicite
2. correctif applique dans `lib/src/notifications/pages/notification_pages.dart`

## 4) liner_app

Validation executee:
1. `flutter test` -> `27 tests passed`
2. `flutter analyze` -> `OK`
3. `./scripts/e2e_real_liner_api.sh` -> `All tests passed!`

Couverture widget utile:
1. auth / onboarding
2. accueil + filtres
3. notifications center + preferences
4. messages + chat
5. detail mission
6. suivi mission
7. mes missions
8. wallet
9. informations personnelles / KYC / RIB
10. changement mot de passe
11. aide & support
12. shell + badge notifications + deep links notification

## 5) Risques residuels

1. tests widget mobile ne remplacent pas une recette device reelle pour GPS et push
2. le settlement wallet depend du worker queue en environnement reel
3. les flux paiement / payout en prod restent dependants de la configuration provider
4. les preuves et uploads doivent etre verifies sur storage prod reel

## 6) Recommendation operative

Avant mise en prod ou validation finale metier:
1. executer `preflight_cpanel.sh`
2. executer `smoke_web.sh`
3. suivre `docs/qa/prod-e2e-run-sheet.md`
4. consigner `MISSION_ID`, paiement, payout et captures si ecart

## 7) Verdict courant

Verdict local: `GO local`
Verdict prod: `GO conditionnel apres recette terrain complete`
