Commit 106c2d6d authored by Kourser's avatar Kourser
Browse files

Application mobile : iOS, jalon M0 côté téléphone

Le volet mobile disait « aucune ligne de code mobile n'est écrite à ce jour ».
Elle l'est maintenant, pour iOS d'abord — Android suit sur la même base.

Ce que l'application fait, et rien d'autre
  Choisir son instance, l'enrôler, et dire si ce téléphone est réellement
  joignable. C'est tout M0 : « le tuyau, avant l'application, éprouvé par une
  application qui n'affiche qu'un écran ». Les six gestes du chemin critique
  viennent à M1 et M2, pas avant, et pas par dérive.

React Native outillé par Expo, comme tranché au §9
  Le paquet partagé apporte les schémas, les types et la validation ; jamais un
  composant d'interface (EM-39). Aucune logique de domaine n'est réécrite sur
  l'appareil : le téléphone transporte une intention, le serveur inscrit
  l'événement (EM-30, EM-40).

Deux défauts trouvés en le faisant tourner, pas en le relisant
  Le heurtoir n'arrivait jamais. La lecture cherchait la charge dans
  « content.data », ce qui marche pour une notification locale — mais vaut null
  pour une poussée APNs réelle, le seul cas qui compte. La bannière
  s'affichait, l'application n'en savait rien. Rien d'autre ne clochait : c'est
  exactement le genre de défaut qu'une relecture ne voit pas.

  Au deuxième lancement, l'écran annonçait « ce téléphone ne sonnera pas » à
  quelqu'un dont le téléphone sonnait. L'autorisation n'était pas relue auprès
  du système, et l'inconnu était affiché comme un refus. Sur un outil de crise,
  une fausse inquiétude fait chercher un problème qui n'existe pas, la nuit, à
  la place du vrai.

  Le premier est désormais une garantie exécutée : la lecture du heurtoir vit
  dans un module sans dépendance au système, et la suite l'éprouve sur une
  charge APNs capturée sur un simulateur. Le second a produit un troisième état
  — « vérification… » — parce que « pas encore su » n'est pas « refusé ».

Ce que la suite vérifie maintenant, sans simulateur ni appareil
  647 garanties, dont 45 nouvelles : aucune adresse d'instance compilée, aucune
  empreinte calculée sur l'appareil, les secrets exclus des sauvegardes du
  système, l'étanchéité des compartiments d'instance, les cibles tactiles, les
  contrastes AA des deux thèmes mesurés paire par paire, et les 79 chaînes
  toutes traduites.

Éprouvé sur un iPhone simulé, contre l'instance de développement : sonde
d'état, enrôlement par code délivré par le serveur, autorisation accordée,
jeton déclaré, heurtoir reçu et affiché — référence opaque et degré d'urgence,
rien d'autre.

Ce qui manque à M0 ne s'écrit pas ici : le relais qui détient la clé APNs, un
compte éditeur Apple, et la demande d'alerte critique — dont l'instruction
commande le calendrier.

Signed-off-by: default avatarKourser <contact@kourser.bzh>
Co-Authored-By: default avatarClaude Opus 5 <noreply@anthropic.com>
parent e38ce436
Loading
Loading
Loading
Loading