@startuml dss_cu03a
skinparam style strictuml
skinparam defaultfontname Verdana
skinparam sequence {
    MessageAlign center
}
title DSS - CU03a : ajouter un devoir
actor ":Enseignant" as e
participant ":Système" as s
e -> s : recupererListeCours(courriel: string)
e <<-- s : liste de cours
e -> s : recupererListeDevoirs(sigle : string)
e <<-- s : liste de devoirs
e -> s : debutAjouterDevoir
loop ajout de devoir
    e -> s : ajouterDevoir(descriptionDevoir: JSON)
   note right of e : descriptionDevoir = { nom: string,\n description : string, noteMax : int,\n  dateDebut : Date, dateFin : Date,\n actif: boolean  }
    e <<-- s : confirmation\nretour à liste de devoirs
end
e ->> s : finAjouterDevoir
@enduml

@startuml dss_cu03b
skinparam style strictuml
skinparam defaultfontname Verdana
skinparam sequence {
    MessageAlign center
}
title DSS - CU03b : récupérer un devoir
actor ":Enseignant" as e
participant ":Système" as s
e -> s : recupererListeCours(courriel : String)
e <<-- s : liste de cours et nombre de devoirs par cours
e -> s : debutRecupererListeDevoirs
loop récupération d'autres devoirs d'un cours
    e -> s : recupererListeDevoirs(sigle : string)
    e <<-- s : liste de devoirs
    e -> s : debutRecupererDevoir
    loop récupération d'autre devoir
        e -> s : recupererDevoir(nom : String)
        e <<-- s : detail devoir\nliste des étudiants qui ont été notés
    end
    e ->> s : finRecupererDevoir
end
    e ->> s : finRecupererListeDevoirs
@enduml

@startuml dss_cu03c
skinparam style strictuml
skinparam defaultfontname Verdana
skinparam sequence {
    MessageAlign center
}
title DSS - CU03c : modifier un devoir
actor ":Enseignant" as e
participant ":Système" as s
e -> s : recupererDevoir(nom : String)
e <<--s : détail devoir
e -> s : modifierDevoir(devoirDescription: JSON)
note right of e : descriptionDevoir = {sigle: string, nom: string,\n description : string, noteMax : int,\n  dateDebut : Date, dateFin : Date,\n actif: boolean  }
e <<-- s : detail devoir modifiée
@enduml

@startuml dss_cu03d
skinparam style strictuml
skinparam defaultfontname Verdana
skinparam sequence {
    MessageAlign center
}
title DSS - CU03d : retirer un devoir
actor ":Enseignant" as e
participant ":Système" as s
e -> s : recupererDevoir(nom : String)
e <<--s : détail devoir
e -> s : retirerDevoir(nom : String)

@enduml