Rename projet : coach-ios → coach-mobile (cohérent avec dual-platform)

- package.json : name 'coach-mobile', description mentionne iOS+Android,
  scripts 'sync', 'sync:ios', 'sync:android', 'open:android', 'build:android'
- README.md : titre "Coach Hypnotruck — Mobile (iOS + Android)", section
  Architecture mentionne Coque Android Capacitor + Health Connect, commande
  cap-assets sans --ios pour générer les deux plateformes en une fois
- coach-ios.local.json filename CONSERVÉ pour ne pas casser les references
  dans le code Swift natif AppDelegate.swift / CoachAuth.swift

Action user pour finaliser :
1. Renommer le repo Gitea : Settings → Repository name → coach-mobile
2. Local : `mv ~/coach-ios ~/coach-mobile && cd ~/coach-mobile`
3. Update remote : `git remote set-url origin git@gitea:sylvain/coach-mobile.git`
This commit is contained in:
Sylvain Bettinelli
2026-05-07 16:31:59 +00:00
parent 04581915ac
commit fc3ca4ed64
2 changed files with 25 additions and 11 deletions

View File

@@ -1,14 +1,19 @@
# Coach Hypnotruck — iOS
# Coach Hypnotruck — Mobile (iOS + Android)
Wrapper natif iOS de [coach.hypnotruck.ch](https://coach.hypnotruck.ch) basé sur Capacitor 8.
Wrapper natif mobile de [coach.hypnotruck.ch](https://coach.hypnotruck.ch) basé sur Capacitor 8.
> Le repo s'appelle historiquement `coach-ios` ; renommé `coach-mobile` à partir
> de l'ajout de la plateforme Android (2026-05-07). Le filename `coach-ios.local.json`
> est conservé pour ne pas casser les références dans le code Swift natif.
## Architecture
- **Backend** : FastAPI + Jinja2 hébergé sur le VPS, accessible via `https://coach.hypnotruck.ch`
- **Coque iOS** : Capacitor 8 charge l'URL distante dans un WKWebView
- **Plugins natifs** : push notifications, local notifications, géolocalisation, HealthKit (Capgo), splash, status bar, haptics
- **Coque Android** : Capacitor 8 charge l'URL distante dans une WebView (Android 8.0+, API 26+ — requis par Health Connect)
- **Plugins natifs** : push notifications, local notifications, géolocalisation, HealthKit (iOS) / Health Connect (Android) via `@capgo/capacitor-health`, splash, status bar, haptics
Le code web n'est pas embarqué — l'app pointe vers la prod via `server.url` dans `capacitor.config.ts`. Avantage : déploiement web = mise à jour instantanée de l'app sans review Apple.
Le code web n'est pas embarqué — l'app pointe vers la prod via `server.url` dans `capacitor.config.ts`. Avantage : déploiement web = mise à jour instantanée de l'app sans review Apple/Google.
## Bundle ID & nom
@@ -51,7 +56,12 @@ L'app utilisera ce token pour se connecter automatiquement à `coach.hypnotruck.
### 2. Générer les icônes & splash
```bash
# iOS uniquement
npx @capacitor/assets generate --ios
# Android uniquement
npx @capacitor/assets generate --android
# Les deux
npx @capacitor/assets generate
```
Génère toutes les tailles requises depuis `resources/icon.png` (1024×1024) et `resources/splash.png` (2732×2732).
@@ -144,9 +154,9 @@ coach-ios/
| Type de modif | Action requise |
|---|---|
| Changement web (templates, CSS, routes) | **Aucune** — l'app charge la prod en direct |
| Ajout plugin Capacitor | `npm install` + `npx cap sync ios` + nouveau build TestFlight |
| Changement icône / splash | `npx @capacitor/assets generate --ios` + sync + nouveau build |
| Changement bundle ID, version, capabilities | Build + soumission Apple review |
| Ajout plugin Capacitor | `npm install` + `npx cap sync` + nouveau build TestFlight / Play Store |
| Changement icône / splash | `npx @capacitor/assets generate` + sync + nouveau build |
| Changement bundle ID, version, capabilities | Build + soumission Apple review / Play Console review |
## TODO Phase 0

View File

@@ -1,12 +1,16 @@
{
"name": "coach-ios",
"name": "coach-mobile",
"version": "0.1.0",
"description": "Coach Hypnotruck — wrapper iOS Capacitor de coach.hypnotruck.ch",
"description": "Coach Hypnotruck — wrapper Capacitor (iOS + Android) de coach.hypnotruck.ch",
"private": true,
"scripts": {
"sync": "cap sync ios",
"sync": "cap sync",
"sync:ios": "cap sync ios",
"sync:android": "cap sync android",
"open:ios": "cap open ios",
"build:ios": "cap sync ios && cap open ios"
"open:android": "cap open android",
"build:ios": "cap sync ios && cap open ios",
"build:android": "cap sync android && cap open android"
},
"author": "Sylvain Bettinelli",
"license": "UNLICENSED",