--- id: "aeb796ac-3f2b-4cb8-a531-f7e8b47dbadb" number: 99 title: "#91-F [DevFrontend] Client watch bridge + pending/latence/reconnexion + haptiques" status: "closed" priority: "medium" sprint: null links: [{"target":"#98","kind":"dependsOn"}] agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}] createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784991960324 updatedAt: 1784992086885 version: 2 --- Partie #91, dépend de #91-D et #91-E. Côté montre, implémenter le client du canal (derrière l'adapter D) et le comportement temps réel : - Envoi des commandes avec état `Envoi...`, recalage de l'UI **uniquement** sur l'état confirmé du téléphone (jamais d'application locale de la commande). - Interpolation locale du chrono à partir des timestamps autoritaires de la projection. - Gestion des 3 états de latence UX : latence courte, attente perceptible, connexion perdue ; reconnexion + resync complet. - Haptiques déclenchées au ack (sans prendre le focus audio, cf. #92). Pas de son obligatoire au MVP. Définition de done : commandes fonctionnelles montre -> téléphone avec ack/latence/reconnexion, interpolation chrono fluide, haptiques au ack, cohérence source-de-vérité téléphone respectée. Tests widget/intégration au vert.