| 123456789101112131415161718192021222324252627282930313233343536373839 |
- @startuml deploiement
- skinparam defaultFontSize 13
- skinparam nodeFontSize 13
- skinparam artifactFontSize 12
- skinparam componentFontSize 12
- title Diagramme de déploiement — WatchOsm v1 (miroir de navigation OsmAnd)
- node "Téléphone — Android 16\n(enregistrement du trajet,\ncalcul et guidage)" as phone #f5f5f5 {
- artifact "OsmAnd+ 5.4.9\n(APK installé)" as osmand
- artifact "Notification de navigation\nongoing\n(catégorie « navigation »)" as notif
- }
- node "Montre — Wear OS 5\n(sur le poignet)" as watch #ffffff {
- artifact "WatchOsm v0.1.0\n(watch-debug.apk)" as apk {
- component "MainActivity\n+ AppNavHost\n(Compose for Wear OS)" as ui
- component "OsmAndNotificationListener\n(service lié au système)" as listener
- component "NavigationStateRepository\n(flux en mémoire)" as repo
- }
- artifact "Système Android Wear OS\nNotificationManager" as nm
- }
- cloud "Relais Bluetooth\nWear OS (bridging)" as bt #e8f5e9
- osmand --> notif : publie / retire
- notif --> bt : relayée par le téléphone\n(standard Wear OS)
- bt --> nm : notification locale\nsur la montre
- nm --> listener : onNotificationPosted /\nonNotificationRemoved
- listener --> repo : état parsé
- repo --> ui : StateFlow<NavigationState>
- note right of apk
- Aucune donnée réseau, aucun compte,
- aucun accès GPS : la montre n'interprète
- que la notification déjà produite par
- OsmAnd sur le téléphone.
- end note
- @enduml
|