|
|
@ -325,6 +325,7 @@ skinparam linetype ortho
|
|
|
|
package Model {
|
|
|
|
package Model {
|
|
|
|
enum Role {
|
|
|
|
enum Role {
|
|
|
|
UTILISATEUR
|
|
|
|
UTILISATEUR
|
|
|
|
|
|
|
|
MODERATEUR
|
|
|
|
ADMINISTRATEUR
|
|
|
|
ADMINISTRATEUR
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -343,6 +344,7 @@ package Model {
|
|
|
|
- profil : Profil
|
|
|
|
- profil : Profil
|
|
|
|
+ getUtilisateur() : Utilisateur
|
|
|
|
+ getUtilisateur() : Utilisateur
|
|
|
|
+ getProfil() : Profil
|
|
|
|
+ getProfil() : Profil
|
|
|
|
|
|
|
|
+ getCollections() : InterfaceCollection
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class Profil {
|
|
|
|
class Profil {
|
|
|
@ -378,11 +380,16 @@ package Model {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class Formation {
|
|
|
|
class Formation {
|
|
|
|
' Attributs et méthodes de Formation
|
|
|
|
+ nom : string
|
|
|
|
|
|
|
|
+ ville : string
|
|
|
|
|
|
|
|
+ formationActuel : bool
|
|
|
|
|
|
|
|
+ dateFin : date
|
|
|
|
|
|
|
|
+ dateDebut : date
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class Article {
|
|
|
|
class Article {
|
|
|
|
' Attributs et méthodes de Article
|
|
|
|
+ titre : string
|
|
|
|
|
|
|
|
+ description : string
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class Experience {
|
|
|
|
class Experience {
|
|
|
@ -435,7 +442,11 @@ package Model {
|
|
|
|
' Méthodes de Offre
|
|
|
|
' Méthodes de Offre
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class OffreTheque {
|
|
|
|
interface InterfaceCollection {
|
|
|
|
|
|
|
|
+ getItems() : List<Object>
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class OffreTheque implements InterfaceCollection {
|
|
|
|
+ getOffre(id: int) : Offre
|
|
|
|
+ getOffre(id: int) : Offre
|
|
|
|
+ getAllOffres() : List<Offre>
|
|
|
|
+ getAllOffres() : List<Offre>
|
|
|
|
+ suppOffre(id: int) : bool
|
|
|
|
+ suppOffre(id: int) : bool
|
|
|
@ -452,7 +463,7 @@ package Model {
|
|
|
|
' Méthodes de Evenement
|
|
|
|
' Méthodes de Evenement
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class EvenementTheque {
|
|
|
|
class EvenementTheque implements InterfaceCollection {
|
|
|
|
+ getEvenements() : List<Evenement>
|
|
|
|
+ getEvenements() : List<Evenement>
|
|
|
|
+ addEvenement(e: Evenement)
|
|
|
|
+ addEvenement(e: Evenement)
|
|
|
|
+ suppEvenement(e: Evenement)
|
|
|
|
+ suppEvenement(e: Evenement)
|
|
|
@ -470,29 +481,30 @@ package Model {
|
|
|
|
+ connexion(email: string, motDePasse: string) : Alumni
|
|
|
|
+ connexion(email: string, motDePasse: string) : Alumni
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
class APropos {
|
|
|
|
class APropos implements InterfaceCollection{
|
|
|
|
+ getArticle() : List<Article>
|
|
|
|
+ getArticle() : List<Article>
|
|
|
|
+ addArticle(a: Article)
|
|
|
|
+ addArticle(a: Article)
|
|
|
|
+ updateArticle(a: Article)
|
|
|
|
+ updateArticle(a: Article)
|
|
|
|
+ supArticle(a: Article)
|
|
|
|
+ supArticle(a: Article)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Relations
|
|
|
|
Utilisateur *-- Role : - role
|
|
|
|
Utilisateur *-- Role : - role
|
|
|
|
Alumni *-- Utilisateur : - utilisateur
|
|
|
|
Alumni *-- Utilisateur : - utilisateur
|
|
|
|
Alumni *-- Profil : - profil
|
|
|
|
Alumni *-- Profil : - profil
|
|
|
|
Profil *-- CV : - cv
|
|
|
|
Profil *-- CV : - cv
|
|
|
|
CV *-- Experience : - experiences
|
|
|
|
CV *-- Experience : - experiences
|
|
|
|
Cursus *-- Formation : - formations
|
|
|
|
Cursus *-- Formation : - formations
|
|
|
|
|
|
|
|
Profil --> Cursus : - cursus
|
|
|
|
Offre --> Exp : - experience
|
|
|
|
Offre --> Exp : - experience
|
|
|
|
Offre --> NiveauEtudes : - niveauEtudes
|
|
|
|
Offre --> NiveauEtudes : - niveauEtudes
|
|
|
|
Offre --> TypeContrat : - typeContrat
|
|
|
|
Offre --> TypeContrat : - typeContrat
|
|
|
|
OffreTheque --> Offre : - offres
|
|
|
|
OffreTheque --> Offre : - offres
|
|
|
|
Offre --> Alumni : - offreur
|
|
|
|
APropos --> Article : - articles
|
|
|
|
Alumni --> Cursus : - cursus
|
|
|
|
|
|
|
|
EvenementTheque --> Evenement : - evenements
|
|
|
|
EvenementTheque --> Evenement : - evenements
|
|
|
|
MembresSite --> Alumni : - alumnis
|
|
|
|
MembresSite --> Alumni : - alumnis
|
|
|
|
UserManager --> MembresSite
|
|
|
|
UserManager --> MembresSite
|
|
|
|
Alumni --> EvenementTheque
|
|
|
|
Alumni --> InterfaceCollection : - collections
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
package DAL {
|
|
|
|
package DAL {
|
|
|
@ -542,7 +554,7 @@ package DAL {
|
|
|
|
class PDO
|
|
|
|
class PDO
|
|
|
|
Connection --|> PDO
|
|
|
|
Connection --|> PDO
|
|
|
|
|
|
|
|
|
|
|
|
' Disposition des gateways autour de IGateway
|
|
|
|
|
|
|
|
Gateway -up-|> AlumniGateway
|
|
|
|
Gateway -up-|> AlumniGateway
|
|
|
|
Gateway -up-|> ProfilGateway
|
|
|
|
Gateway -up-|> ProfilGateway
|
|
|
|
Gateway -down-|> OffreGateway
|
|
|
|
Gateway -down-|> OffreGateway
|
|
|
@ -554,21 +566,17 @@ package DAL {
|
|
|
|
Gateway *-- Connection : - conn
|
|
|
|
Gateway *-- Connection : - conn
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
package Factory
|
|
|
|
package Controlleur {
|
|
|
|
{
|
|
|
|
' Le package Controlleur utilise les packages Gateway et Model
|
|
|
|
class Factory
|
|
|
|
' Nous n'avons pas spécifié les détails des classes à l'intérieur du package pour un gain de place
|
|
|
|
{
|
|
|
|
|
|
|
|
+ createOffer()
|
|
|
|
' Relations entre le package Controlleur et les autres packages
|
|
|
|
+ createAlumni()
|
|
|
|
Controlleur ..> DAL : utilise
|
|
|
|
+ createEvenement()
|
|
|
|
Controlleur ..> Model : utilise
|
|
|
|
+ createFormation()
|
|
|
|
|
|
|
|
+ createProfil()
|
|
|
|
|
|
|
|
+ createAlumni()
|
|
|
|
|
|
|
|
+ createArticle()
|
|
|
|
|
|
|
|
+ createFormation()
|
|
|
|
|
|
|
|
+ createExperience()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
@enduml
|
|
|
|
```
|
|
|
|
```
|
|
|
|