diagramclass
parent
b437966a71
commit
322230e364
@ -1,143 +1,211 @@
|
||||
# Diagramme de classe
|
||||
|
||||
## Le M est sérializable
|
||||
|
||||
```plantuml
|
||||
@startuml
|
||||
object index.php
|
||||
|
||||
class FrontControleur{
|
||||
|
||||
}
|
||||
|
||||
class ControleurAdmin{
|
||||
|
||||
}
|
||||
|
||||
class ControleurRedac{
|
||||
|
||||
}
|
||||
|
||||
class ControleurModerateur{
|
||||
|
||||
}
|
||||
|
||||
class ControleurUtilisateur{
|
||||
class ArticleTheque{
|
||||
|
||||
+ getArticles() : List<Article>
|
||||
+ addArticle(newArticle : Article)
|
||||
+ delArticle(article : Article)
|
||||
+ rechercheArticle(id : String) : Article
|
||||
+ getArticlesSignales() : List<Article>
|
||||
}
|
||||
|
||||
|
||||
|
||||
class Main{
|
||||
|
||||
interface IArticleTheque{
|
||||
+ getArticles() : List<Article>
|
||||
+ addArticle(newArticle : Article)
|
||||
+ delArticle(article : Article)
|
||||
+ rechercheArticle(id : String) : Article
|
||||
+ getArticlesSignales() : List<Article>
|
||||
}
|
||||
|
||||
class Article{
|
||||
# titre : String
|
||||
# image : String
|
||||
# datePlublication : Date
|
||||
# description : String
|
||||
# motsCles : List<String>
|
||||
# tempsConsultation : int
|
||||
|
||||
# note : int
|
||||
|
||||
- id : String
|
||||
- titre : String
|
||||
- datePublication : Date
|
||||
- description : String
|
||||
- motsCles : List<String>
|
||||
- tempsConsultation : int
|
||||
- etat : int
|
||||
- cptSignalement : int
|
||||
- commentaires : map <User, List<Message> >
|
||||
|
||||
+ getId() : String
|
||||
+ getTitre() : String
|
||||
+ getImage() : String
|
||||
+ getDatePublication() : Date
|
||||
+ getDescription() : String
|
||||
+ getTempsConsultation() : int
|
||||
|
||||
+ getNote() : int
|
||||
+ setNote(int newNote)
|
||||
|
||||
+ getEtat() : int
|
||||
+ getCptSignalement() : int
|
||||
|
||||
+ setTitre(newTitre : String)
|
||||
+ setDescription(newDescription : String)
|
||||
+ setMotsCles(newMotCles : List<String>)
|
||||
+ setTempsConsultation (newTemps : int)
|
||||
+ setNote(newNote : int)
|
||||
+ setEtat(newEtat : int)
|
||||
+ setCptSignalement()
|
||||
}
|
||||
interface IArticle{
|
||||
+ getId() : String
|
||||
+ getTitre() : String
|
||||
+ getDatePublication() : Date
|
||||
+ getDescription() : String
|
||||
+ getTempsConsultation() : int
|
||||
+ getNote() : int
|
||||
+ getEtat() : int
|
||||
+ getCptSignalement() : int
|
||||
|
||||
+ setTitre(newTitre : String)
|
||||
+ setDescription(newDescription : String)
|
||||
+ setMotsCles(newMotCles : List<String>)
|
||||
+ setTempsConsultation (newTemps : int)
|
||||
+ setNote(newNote : int)
|
||||
+ setEtat(newEtat : int)
|
||||
+ setCptSignalement()
|
||||
}
|
||||
abstract Contenu{
|
||||
- titre : String
|
||||
- ordre : int
|
||||
|
||||
+ getTitre() : String
|
||||
+ getOrdre() : int
|
||||
+ setTitre(newTitre : String)
|
||||
+ setOrdre(newOrdre : int)
|
||||
|
||||
}
|
||||
class Media{
|
||||
- chemin : String
|
||||
|
||||
abstract class Contenu{
|
||||
ordre : int
|
||||
}
|
||||
class Image{
|
||||
titre : String
|
||||
chemin : String
|
||||
+ getChemin() : String
|
||||
+ setChemin(newChemin : String)
|
||||
}
|
||||
class Paragraphe{
|
||||
titre : String
|
||||
texte : String
|
||||
}
|
||||
class Video{
|
||||
lien : String
|
||||
}
|
||||
|
||||
class ArticleTheque{
|
||||
- texte : String
|
||||
|
||||
+ ajouterArticle(Article newArticle)
|
||||
+ supprimerArticle(Article a)
|
||||
+ rechercherArticle(String titre) : Article
|
||||
+ rechercheParCategorie(String categorie, ArticleTheque aTheque) : List<Article>
|
||||
+ getTexte() : String
|
||||
+ setTexte(newTexte : String)
|
||||
}
|
||||
|
||||
class Utilisateur{
|
||||
# email : String
|
||||
# pseudo : String
|
||||
# motDePasse : String
|
||||
class Message{
|
||||
- dateMessage : date
|
||||
- message : String
|
||||
|
||||
+ setEMail (String newEMail)
|
||||
+ setPseudo (String pseudo)
|
||||
+ setMotDePasse (String motDePasse)
|
||||
+ getDateMessage() : date
|
||||
+ getMessage() : String
|
||||
}
|
||||
interface IMessage{
|
||||
+ getDateMessage() : date
|
||||
+ getMessage() : String
|
||||
}
|
||||
|
||||
+ ajouterNote(String titreArticle, int note)
|
||||
+ contribuer(String contribution)
|
||||
+ demanderAide(String demande)
|
||||
class UserTheque{
|
||||
|
||||
+ getUsers() : List<User>
|
||||
+ addUser(newUser : User)
|
||||
+ delUser(user : User)
|
||||
+ rechercheUser(pseudo : String)
|
||||
}
|
||||
class UtilisateurTheque{
|
||||
interface IUserTheque{
|
||||
+ getUsers() : List<User>
|
||||
+ addUser(newUser : User)
|
||||
+ delUser(user : User)
|
||||
+ rechercheUser(pseudo : String)
|
||||
}
|
||||
class User{
|
||||
- pseudo : String
|
||||
- mail : String
|
||||
- motDePasse : String
|
||||
|
||||
+ getPseudo() : String
|
||||
+ getMail() : String
|
||||
+ getMotDePasse() : String
|
||||
|
||||
+ ajouterUtilisateur(String email, String pseudo, String motDePasse)
|
||||
+ supprimerUtilisateur(String pseudo)
|
||||
+ rechercherUtilisateur(String pseudo, String motDePasse) : Utilisateur
|
||||
+ setPseudo(newPseudo : String)
|
||||
+ setMail(newMail : String)
|
||||
+ setMotDePasse(newMotDePasse : String)
|
||||
}
|
||||
interface IUser{
|
||||
+ getPseudo() : String
|
||||
+ getMail() : String
|
||||
+ getMotDePasse() : String
|
||||
|
||||
class Redacteur{
|
||||
+ setPseudo(newPseudo : String)
|
||||
+ setMail(newMail : String)
|
||||
+ setMotDePasse(newMotDePasse : String)
|
||||
}
|
||||
enum Role{
|
||||
Visiteur
|
||||
Utilisateur
|
||||
Redacteur
|
||||
Moderateur
|
||||
Administrateur
|
||||
}
|
||||
|
||||
+ redigerArticle(Contenu c)
|
||||
+ commenterArticle(Article a, String commentaire)
|
||||
class FormTheque{
|
||||
+ addForm(newFormulaire : Formulaire)
|
||||
+ delForm(formulaire : Formulaire)
|
||||
+ getForms() : List<Formulaire>
|
||||
}
|
||||
interface IFormTheque{
|
||||
+ addForm(newFormulaire : Formulaire)
|
||||
+ delForm(formulaire : Formulaire)
|
||||
+ getForms() : List<Formulaire>
|
||||
}
|
||||
abstract Formulaire{
|
||||
- id : String
|
||||
- pseudoUser : String
|
||||
- mailUser : String
|
||||
|
||||
class Moderateur{
|
||||
+ getId() : String
|
||||
+ getPseudoUser() : String
|
||||
+ getMailUser() : String
|
||||
}
|
||||
class FormAide{
|
||||
- sujet : String
|
||||
- message : String
|
||||
|
||||
+ validerUnArticle(Article a)
|
||||
+ refuterUnArticle(Article a)
|
||||
+ supprimerUnUtilisateur(Utilisateur u)
|
||||
+ supprimerUnArticle(Article a)
|
||||
+ getSujet() : String
|
||||
+ getMessage() : String
|
||||
}
|
||||
class FormContribution{
|
||||
- theme : String
|
||||
- dateEnvoie : date
|
||||
- liens : List<String>
|
||||
|
||||
+ getTheme() : String
|
||||
+ getDateEnvoie() : date
|
||||
+ getLiens() : List<String>
|
||||
}
|
||||
|
||||
ArticleTheque --> "*" Article
|
||||
Article --> "*" Contenu : "listeContenus"
|
||||
Main ..> ArticleTheque
|
||||
class DataManager{}
|
||||
|
||||
ArticleTheque --> "*" IArticle
|
||||
Article --|> IArticle
|
||||
Article --> "*" Contenu
|
||||
Paragraphe --|> Contenu
|
||||
Image --|> Contenu
|
||||
Video --|> Contenu
|
||||
Media --|> Contenu
|
||||
Article ..> IMessage
|
||||
Message --|> IMessage
|
||||
Article ..> IUser
|
||||
|
||||
UtilisateurTheque --> "*" Utilisateur
|
||||
UtilisateurTheque ..> UserGateway
|
||||
Main ..> UtilisateurTheque
|
||||
UserTheque --> "*" IUser
|
||||
User --|> IUser
|
||||
User --> Role
|
||||
|
||||
Utilisateur ..> FormGateway
|
||||
FormTheque --> "*" Formulaire
|
||||
FormAide --|> Formulaire
|
||||
FormContribution --|> Formulaire
|
||||
|
||||
Article ..> ArticleGateway
|
||||
|
||||
Redacteur ..> Article
|
||||
Redacteur ..> Contenu
|
||||
ArticleTheque ..|> IArticleTheque
|
||||
UserTheque ..|> IUserTheque
|
||||
FormTheque ..|> IFormTheque
|
||||
DataManager --> IArticleTheque
|
||||
DataManager --> IUserTheque
|
||||
DataManager --> IFormTheque
|
||||
|
||||
Moderateur ..> Article
|
||||
Moderateur ..> ArticleTheque
|
||||
Moderateur ..> UtilisateurTheque
|
||||
|
||||
Redacteur --|> Utilisateur
|
||||
Moderateur --|> Redacteur
|
||||
@enduml
|
||||
|
||||
```
|
||||
|
||||
@enduml
|
||||
```
|
Loading…
Reference in new issue