77 lines
3.2 KiB
Markdown
77 lines
3.2 KiB
Markdown
# Checklist lancement V1 (Ben-to)
|
||
|
||
Document opérationnel aligné sur le dépôt : contenu embarqué, qualité, déploiement web, Android / Play Store.
|
||
|
||
## 1. Contenu et assets
|
||
|
||
- Finaliser les `.bentext` et visuels sous `ressources/` (sprites ingrédients : `ingredient-sprites.bentext` + `ingredients.png`, voir README).
|
||
- `npm run pipeline:recipes` puis `npm run build:web` — vérifier `apps/web/dist/recipes/catalog.json`.
|
||
|
||
## 2. Qualité (gel avant release)
|
||
|
||
À la racine du dépôt :
|
||
|
||
```bash
|
||
npm run pipeline:recipes
|
||
npm run test:ci
|
||
npm run check:quality
|
||
```
|
||
|
||
Prérequis e2e : navigateurs Playwright (`npx playwright install chromium` si besoin).
|
||
|
||
## 3. Web — image Docker et smoke tests
|
||
|
||
Build image (identique à une prod type CapRover servant le `dist`) :
|
||
|
||
```bash
|
||
docker build -t ben-to-web:local .
|
||
docker run --rm -p 8080:3000 ben-to-web:local
|
||
```
|
||
|
||
Smoke manuel (adapter le port) :
|
||
|
||
- Page d’accueil charge le builder.
|
||
- Une URL recette du type `http://localhost:8080/r/<baseId>/<variantId>` ouvre la fiche (IDs présents dans `catalog.json`).
|
||
- Pages légales : `/a-propos`, `/cgu`, `/mentions-legales`, `/confidentialite`.
|
||
- SEO fichiers statiques : `/robots.txt` et `/sitemap.xml` pointent vers **[https://ben-to.fr](https://ben-to.fr)** ; les langues passent par l’UI (pas d’URL `/fr/` dédiées).
|
||
|
||
## 4. Android — build et signature release
|
||
|
||
Chaîne locale :
|
||
|
||
```bash
|
||
npm run pipeline:recipes
|
||
npm run build:web
|
||
npm run mobile:sync
|
||
```
|
||
|
||
Signature Play Store :
|
||
|
||
1. Créer un keystore (une fois), le placer sous `apps/mobile/android/` (ex. `release.keystore`).
|
||
2. Copier `apps/mobile/android/keystore.properties.example` → `keystore.properties` et renseigner mots de passe / alias (fichier non versionné).
|
||
3. Dans Android Studio : **Build > Generate Signed Bundle / APK** ou en CLI `./gradlew bundleRelease` depuis `apps/mobile/android`.
|
||
|
||
Sans `keystore.properties`, le type `release` n’applique pas la signature upload — utiliser `bundleDebug` pour tests internes uniquement.
|
||
|
||
Tests physiques recommandés : navigation builder, **partager** (plugin Capacitor), lien `/r/...` après navigation vers la recette.
|
||
|
||
Retirer tout mode `server.url` / cleartext dans `apps/mobile/capacitor.config.ts` utilisé pour le dev LAN avant publication.
|
||
|
||
## 5. Google Play — métadonnées
|
||
|
||
- Compte développeur Play Console.
|
||
- Descriptions, captures d’écran téléphone, icône / feature graphic selon gabarits Google.
|
||
- Formulaire **sécurité des données** : refléter la réalité (ex. analytics dans `apps/web/src/infra/analytics.ts`, stockage local).
|
||
- URL **politique de confidentialité** si la déclaration l’exige.
|
||
- Incrémenter `versionCode` / `versionName` dans `apps/mobile/android/app/build.gradle` pour chaque dépôt Play.
|
||
|
||
## 6. CI — artefact Android
|
||
|
||
Le workflow `.github/workflows/mobile-release.yml` construit un **AAB debug** (sans keystore Play) pour valider la chaîne Gradle ; la publication production reste signée localement ou via secrets CI ultérieurs.
|
||
|
||
## Hors périmètre V1 assumé
|
||
|
||
- Pas de compte cloud ni synchro serveur utilisateur : catalogue embarqué, mises à jour par nouvelles versions.
|
||
- iOS : traiter dans une release dédiée (compte Apple Developer, Xcode).
|
||
|