Files
haptika/mobile
2026-09-08 09:07:27 +02:00
..
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00
2026-09-08 09:07:27 +02:00

Haptika Mobile — Expo

Application mobile séparée de la cible Apple Watch SwiftUI du dépôt parent.

  • Expo SDK 54 / React Native 0.81, compatible avec Xcode 16.4 installé ici.
  • Development build avec expo-dev-client, Expo Router et Metro sur le port 8082.
  • Identifiant iOS et Android : com.haptika.mobile.dev.
  • 110 frames mobiles et 36 panneaux du Figma Haptika : onboarding, abonnement iPhone et abonnement iPhone + Watch. Les frames Watch de 198 × 242 ne sont pas intégrées à l'app mobile.

Démarrer

cd mobile
npm ci
npm run ios

Après installation du development build :

npm start

Sur le simulateur préparé dans cette session :

xcrun simctl openurl 85638E91-52BB-440F-91F9-35604A771A28 'haptika-mobile://expo-development-client/?url=http%3A%2F%2Flocalhost%3A8082'

eas.json contient les profils development (simulateur) et development-device (appareil physique). Aucune publication ni compilation cloud n'a été lancée.

Source des écrans

Figma : https://www.figma.com/design/2FOpWaxKTfJi0ogQBNizXi/haptika

Les références MCP sont conservées dans design/contexts.json et design/metadata.xml. Les textes et leurs styles sont rendus avec des Text natifs, les champs avec TextInput, les actions avec Pressable. Les illustrations et icônes sont les assets exportés de Figma, regroupés par empreinte SHA-256 et embarqués pour fonctionner hors ligne. Aucun écran n'est une capture d'écran cliquable.

src/design/scenes.json conserve les identifiants Figma et les propriétés de chaque couche. src/components/design-layer.tsx et design-screen.tsx effectuent le rendu React Native ; scripts/compile-scenes.cjs relie les parcours. Les écrans longs défilent ; les écrans courts s'ajustent à la hauteur sûre sans déformer les éléments ronds.

Le choix iPhone / iPhone + Apple Watch se fait sur l'étape « Comment allez vous utiliser Haptika ? ». Les préférences, le prénom, les réglages des curseurs et les choix sont conservés localement. Les parcours de navigation, la sélection de durée, les champs et les minuteurs de démonstration sont interactifs.

Limites fonctionnelles

Cette livraison implémente le front du Figma. Les valeurs biométriques, profils, historiques et états « Connecté » affichés sont ceux de la maquette ; ils ne constituent pas des mesures ou connexions réelles. Le front n'est connecté ni à Firebase, ni à Apple Santé, ni à la Watch. Les mesures caméra, protocoles thérapeutiques, alarmes système, authentification et achats ne sont pas implémentés dans ce nouveau projet. Le code natif existant du dépôt parent n'a pas été transféré ni modifié.

Les destinations de profil sans frame correspondante (abonnement, support, etc.) n'ouvrent pas d'écran inventé. Les panneaux explicatifs définis dans Figma sont associés aux boutons d'information disponibles.

Vérification

npm run typecheck
npm test
npx expo install --check

Pour ouvrir une frame spécifique : haptika-mobile://screen/431-2. Ajouter ?preview=1 fige le contenu de référence et masque les interactions pour la comparaison visuelle. Ce mode n'enregistre pas de données biométriques.

Les captures de contrôle de chaque frame sont dans qa/screens/. Le quota du MCP Figma a été atteint après la récupération des contextes ; le rendu utilise les références déjà obtenues et les assets téléchargés, sans dépendance réseau à Figma au lancement.