@startuml actor User participant UserAgent participant DatabaseManager database IdManager participant NetworkManager /' To do : etablissement de connexion + corriger parametre des fonctions '/ group Connexion User -> UserAgent : connexion() alt PremiereConnexion UserAgent -> IdManager --++ #lightgrey : getNextId() IdManager -> UserAgent -- #lightgrey : sendId() else DejaConnecte UserAgent -> UserAgent : getSelfId() end loop PseudoLibre UserAgent -> User --++ #lightgrey : saisirPseudo() User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo) UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo) alt NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris() UserAgent -> UserAgent -- : PseudoLibre = False else NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo) UserAgent -> UserAgent -- : PseudoLibre = True end end UserAgent -> DatabaseManager -- #lightgrey : storeInformations() UserAgent --> User -- : ok() end group DeconnexionUser User -> UserAgent --++ #lightgrey : deconnexion() UserAgent -> NetworkManager -- : deconnexion() end group ChangerPseudo User -> UserAgent --++ #lightgrey : changerPseudo() loop PseudoLibre UserAgent -> User --++ #lightgrey : saisirPseudo() User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo) UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo) alt NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris() UserAgent -> UserAgent -- : PseudoLibre = False else NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo) UserAgent -> UserAgent -- : PseudoLibre = True end end end @enduml