@startuml

left to right direction

:Student: as s
:Teacher: as t


package "Messagerie"{

(Answer topics) as at
(Ask appointement) as aa
(Create Discution) as cd
(Create Forum) as cf
(Manage appointement) as ma

s -- at
s -- aa
s -- cd

t -- cd
t -- cf
t -- ma

(Export to calendar) as etc

aa <-- etc : << extend >>
ma <-- etc : << extend >>

(Post topics) as pt
cf <-- pt : << include >>
pt <|-- (Post poll)
cd <-- (Send messages) : << include >>

ma <-- (Propose new appointment) : << exlude>> \n [refuse]

}

@enduml