|
|
@ -1,316 +1,6 @@
|
|
|
|
# Diagramme de Classes
|
|
|
|
# Diagramme de Classes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*à faire : implémenter fabrique*
|
|
|
|
|
|
|
|
* factoriser les gw et déclarer les méthodes*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```plantuml
|
|
|
|
|
|
|
|
@startuml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'hide circle
|
|
|
|
|
|
|
|
'allowmixing
|
|
|
|
|
|
|
|
'skinparam classAttributeIconSize 0
|
|
|
|
|
|
|
|
'skinparam classBackgroundColor #ffffb9
|
|
|
|
|
|
|
|
'skinparam classBorderColor #800000
|
|
|
|
|
|
|
|
'skinparam classArrowColor #800000
|
|
|
|
|
|
|
|
'skinparam classFontColor #black
|
|
|
|
|
|
|
|
'skinparam classFontName Tahoma
|
|
|
|
|
|
|
|
'skinparam linetype ortho
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package Model
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
enum Role
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
UTILISATEUR
|
|
|
|
|
|
|
|
ADMINISTRATEUR
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Alumni
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- email : string
|
|
|
|
|
|
|
|
- motDePasse : string
|
|
|
|
|
|
|
|
'- role : Role
|
|
|
|
|
|
|
|
+ getEmail() : string
|
|
|
|
|
|
|
|
+ getMotDePasse() : string
|
|
|
|
|
|
|
|
+ getProfil() : Profil
|
|
|
|
|
|
|
|
+ getRole() : Role
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alumni *-- Profil : - profil
|
|
|
|
|
|
|
|
Alumni --> Role : - role
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Profil
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- nom : string
|
|
|
|
|
|
|
|
- prenom : string
|
|
|
|
|
|
|
|
- email : string
|
|
|
|
|
|
|
|
- linkedinURL : string
|
|
|
|
|
|
|
|
- portfolioURL : string
|
|
|
|
|
|
|
|
- githubURL : string
|
|
|
|
|
|
|
|
- photoProfil : string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getId() : int
|
|
|
|
|
|
|
|
+ getPhoto : string
|
|
|
|
|
|
|
|
+ getCV : CV
|
|
|
|
|
|
|
|
+ getNom() : string
|
|
|
|
|
|
|
|
+ getPrenon() : profil
|
|
|
|
|
|
|
|
+ getLinkedinURL (): string
|
|
|
|
|
|
|
|
+ getPortfolioURL() : string
|
|
|
|
|
|
|
|
+ getGithubURL() : string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Profil *-- CV : - cv
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CV
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ getExperience() : * Experience
|
|
|
|
|
|
|
|
+ addExperience(Exp e)
|
|
|
|
|
|
|
|
+ suppExp(e : Experience)
|
|
|
|
|
|
|
|
+ updateExp(e : Experience)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CV *-- Experience : - * experience
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Cursus
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
getFormation() : * Formation
|
|
|
|
|
|
|
|
addFormation(f : Formation) : Formation
|
|
|
|
|
|
|
|
supFormation(f : Formation)
|
|
|
|
|
|
|
|
updateFormation(f : Formation)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Formation
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cursus --> Formation : *formations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Article
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Experience
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Formation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum TypeContrat
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
INDIFFERENT
|
|
|
|
|
|
|
|
CDI
|
|
|
|
|
|
|
|
CDD
|
|
|
|
|
|
|
|
ALTERNANCE
|
|
|
|
|
|
|
|
STAGE
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum NiveauEtudes
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
INDIFFERENT
|
|
|
|
|
|
|
|
BAC+2
|
|
|
|
|
|
|
|
BAC+3
|
|
|
|
|
|
|
|
BAC+5
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum Exp
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
JUNIOR
|
|
|
|
|
|
|
|
SENIOR
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Offre
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- nom : string
|
|
|
|
|
|
|
|
- amorce : string
|
|
|
|
|
|
|
|
- description : string
|
|
|
|
|
|
|
|
- profilRecherche : string
|
|
|
|
|
|
|
|
- entreprise : string
|
|
|
|
|
|
|
|
'- typeContrat : TypeContrat
|
|
|
|
|
|
|
|
- numero : int
|
|
|
|
|
|
|
|
- siteWeb : string
|
|
|
|
|
|
|
|
- mailContact : string
|
|
|
|
|
|
|
|
- img : string
|
|
|
|
|
|
|
|
- logo : string
|
|
|
|
|
|
|
|
- date : Date
|
|
|
|
|
|
|
|
'- offreur : Alumni
|
|
|
|
|
|
|
|
- remote : bool
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getId() : int
|
|
|
|
|
|
|
|
+ getOffreurId() : int
|
|
|
|
|
|
|
|
+ getImg() : string
|
|
|
|
|
|
|
|
+ getLogo() : string
|
|
|
|
|
|
|
|
+ getNom() : string
|
|
|
|
|
|
|
|
+ getPrenom() : string
|
|
|
|
|
|
|
|
+ getDescription() : string
|
|
|
|
|
|
|
|
+ getTypeContrat() : TypeContrat
|
|
|
|
|
|
|
|
+ getProfilRecherche() : string
|
|
|
|
|
|
|
|
+ getExperience() : Experience
|
|
|
|
|
|
|
|
+ getNiveauEtudes() : NiveauEtudes
|
|
|
|
|
|
|
|
+ getNumero() : int
|
|
|
|
|
|
|
|
+ isRemote() : bool
|
|
|
|
|
|
|
|
+ getWebUrl() : string
|
|
|
|
|
|
|
|
+ getDate() : Date
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Offre --> Exp : - experience
|
|
|
|
|
|
|
|
Offre --> NiveauEtudes : - niveauEtudes
|
|
|
|
|
|
|
|
Offre --> TypeContrat : - typeContrat
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class OffreThèque
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
'- offres : *Offre
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getOffre(id : int) : Offre
|
|
|
|
|
|
|
|
+ getAllOffres() : *Offre
|
|
|
|
|
|
|
|
+ suppOffre(id : int) : bool
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OffreThèque --> Offre : - offres
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Offre --> Alumni : - Offreur
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alumni -> Cursus : - cursus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Evenement
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- nom : string
|
|
|
|
|
|
|
|
- description : string
|
|
|
|
|
|
|
|
- nbParticipantsMax : int
|
|
|
|
|
|
|
|
- organisateur : Alumni
|
|
|
|
|
|
|
|
- date : Date
|
|
|
|
|
|
|
|
- img : string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getId() : int
|
|
|
|
|
|
|
|
+ getNom() : string
|
|
|
|
|
|
|
|
+ getDescription : string
|
|
|
|
|
|
|
|
+ getNbParticipantsMax() : int
|
|
|
|
|
|
|
|
+ getImg() : string
|
|
|
|
|
|
|
|
+ getDate : Date
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EvenementThêque
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ getEvenements() : Evenement
|
|
|
|
|
|
|
|
+ addEvenement()
|
|
|
|
|
|
|
|
+ suppEvenement()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EvenementThêque --> Evenement : - evenements
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MembresSite
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+getAlumni()
|
|
|
|
|
|
|
|
+addAlumni()
|
|
|
|
|
|
|
|
+suppAlumni(a : Alumni)
|
|
|
|
|
|
|
|
+updateAlumni(a : Alumni)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserManager
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ getAlumni()
|
|
|
|
|
|
|
|
+ connexion()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UserManager --> MembresSite
|
|
|
|
|
|
|
|
MembresSite --> Alumni : - *alumnis
|
|
|
|
|
|
|
|
Alumni --> EvenementThêque
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Experience
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- intitulé : string
|
|
|
|
|
|
|
|
- dateDebut : Date
|
|
|
|
|
|
|
|
- dateFin : Date
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getId() : int
|
|
|
|
|
|
|
|
+ getIntitule() : string
|
|
|
|
|
|
|
|
+ dateDebut() : Date
|
|
|
|
|
|
|
|
+ dateFin() : Date
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class APropos
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ getArticle()
|
|
|
|
|
|
|
|
+ addArticle(a : Article)
|
|
|
|
|
|
|
|
+ updateArticle(a : Article)
|
|
|
|
|
|
|
|
+ supArticle(a : Article)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Article
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- id : int
|
|
|
|
|
|
|
|
- nom : string
|
|
|
|
|
|
|
|
- texte : string
|
|
|
|
|
|
|
|
- image : string
|
|
|
|
|
|
|
|
- date : Date
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ getId() : int
|
|
|
|
|
|
|
|
+ getNom() : string
|
|
|
|
|
|
|
|
+ getTexte() : string
|
|
|
|
|
|
|
|
+ getImage() : string
|
|
|
|
|
|
|
|
+ getDate() : Date
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package DAL
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AlumniGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ProfilGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class OffreGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class EvenementGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ArticleGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ArticleGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ExperienceGateway
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Formation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AlumniGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
ProfilGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
OffreGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
EvenementGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
ArticleGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
ExperienceGateway *-- Connection : - conn
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Connection
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
- dsn : string
|
|
|
|
|
|
|
|
- username : string
|
|
|
|
|
|
|
|
- password : string
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+executeQuery(query : string,* params : string)
|
|
|
|
|
|
|
|
+ getResults() : * string
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PDO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Connection --|> PDO
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```plantuml
|
|
|
|
```plantuml
|
|
|
|
@startuml
|
|
|
|
@startuml
|
|
|
|
' Définition des styles
|
|
|
|
' Définition des styles
|
|
|
|