@startuml actor User participant UserAgent participant Os participant DatabaseManager participant TCPNetworkManager group MinimiserFenetre User -> UserAgent --++ #lightgrey : MinimiserFentre() UserAgent -> Os --++ #lightgrey : MinimiserFenetre() Os -> Os --++ #lightgrey : MinimiserFenetre() opt Os -> Os --: createSysTrayIcon() end end group CliquerSysTrayIcon User -> Os --++ #lightgrey : CliquerIcon() Os -> Os -- : RouvrirFenetre() end group EnvoyerMessage /' pas d'acquitement de messages car UDP '/ User -> UserAgent --++ #lightgrey : sendMessage(message, ip, port, id) UserAgent -> TCPNetworkManager -- : commute(message, ip, port, id) UserAgent -> DatabaseManager -- : storeHistorique(message, id) end group EnvoyerFichier /' pas d'acquitement de messages car UDP '/ User -> UserAgent --++ #lightgrey : sendFichier(fichier) UserAgent -> TCPNetworkManager -- : commute(fichier) UserAgent -> DatabaseManager -- : storeHistorique(fichier) end group recevoirMessage TCPNetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message) UserAgent -> User -- : afficheMessage(message) UserAgent -> DatabaseManager -- : storeHistorique(message) end group recevoirFichier TCPNetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier) UserAgent -> User -- : afficheFichier(fichier) UserAgent -> DatabaseManager -- : storeHistorique(fichier) end @enduml