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:
24
README.md
24
README.md
@@ -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
|
## Architecture
|
||||||
|
|
||||||
- **Backend** : FastAPI + Jinja2 hébergé sur le VPS, accessible via `https://coach.hypnotruck.ch`
|
- **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
|
- **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
|
## 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
|
### 2. Générer les icônes & splash
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# iOS uniquement
|
||||||
npx @capacitor/assets generate --ios
|
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).
|
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 |
|
| Type de modif | Action requise |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Changement web (templates, CSS, routes) | **Aucune** — l'app charge la prod en direct |
|
| 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 |
|
| Ajout plugin Capacitor | `npm install` + `npx cap sync` + nouveau build TestFlight / Play Store |
|
||||||
| Changement icône / splash | `npx @capacitor/assets generate --ios` + sync + nouveau build |
|
| Changement icône / splash | `npx @capacitor/assets generate` + sync + nouveau build |
|
||||||
| Changement bundle ID, version, capabilities | Build + soumission Apple review |
|
| Changement bundle ID, version, capabilities | Build + soumission Apple review / Play Console review |
|
||||||
|
|
||||||
## TODO Phase 0
|
## TODO Phase 0
|
||||||
|
|
||||||
|
|||||||
12
package.json
12
package.json
@@ -1,12 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "coach-ios",
|
"name": "coach-mobile",
|
||||||
"version": "0.1.0",
|
"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,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"sync": "cap sync ios",
|
"sync": "cap sync",
|
||||||
|
"sync:ios": "cap sync ios",
|
||||||
|
"sync:android": "cap sync android",
|
||||||
"open:ios": "cap open ios",
|
"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",
|
"author": "Sylvain Bettinelli",
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
|
|||||||
Reference in New Issue
Block a user