deploiement.puml 1.4 KB

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