112 lines
3.0 KiB
Markdown
112 lines
3.0 KiB
Markdown
# Abstractions principales
|
|
|
|
Un forum est divisé par catégories générales (par exemple: un forum ayant
|
|
comme intêret les aliments pourrait être divisé en 4 catégories qui seraient
|
|
analogues aux 4 catégories alimentaires); ces sujets vont ensuite être divisés
|
|
par fils - ou conversations (comme un fil dans la catégorie "Fruits et légumes"
|
|
avec comme sujet "Comment aimez-vous manger des carottes?"). L'atôme du forum
|
|
est la publication; un texte écrit par un utilisateur, soit pour démarrer une
|
|
conversation, soit en réponse à la publication de départ, ou bien en réponse à
|
|
une réponse en particulier.
|
|
|
|
Les forums sont modérés par des utilisateurs particuliers (des modérateurs) et
|
|
des administrateurs responsables du contenu de ceux-ci, ils peuvent ainsi
|
|
censurer du contenu inapproprié et bannir un utilisateur qui ne suit pas les
|
|
conditions d'utilisation des forums.
|
|
|
|
## Modèle du domaine (Diagramme de classes simplifié)
|
|
|
|
```plantuml
|
|
hide circles
|
|
hide methods
|
|
hide attributes
|
|
|
|
package Rôles {
|
|
class "Administrateur" as Admin
|
|
class "Modérateur" as Mod
|
|
class "Utilisateur" as User
|
|
class "Invité" as Guest
|
|
}
|
|
|
|
Guest <|-- User
|
|
User <|-- Mod
|
|
Mod <|-- Admin
|
|
|
|
package Forum {
|
|
class "Catégorie" as Category
|
|
class "Fil" as Thread
|
|
class "Publication" as Post
|
|
class "Compte" as Account
|
|
}
|
|
|
|
Category "1" --o "*" Thread
|
|
Thread "1" --o "1" Post : Publication Originale
|
|
Thread "1" ---* "*" Post
|
|
|
|
Post "1" --* "*" Post : Références
|
|
Post "*" o-- "1" Account
|
|
|
|
User "1" --o "1" Account
|
|
|
|
```
|
|
|
|
## Glossaire
|
|
|
|
### Langage Commun
|
|
|
|
#### Invité (Guest)
|
|
|
|
Acteur qui utilise le système sans authentification.
|
|
|
|
#### Utilisateur (User)
|
|
|
|
Acteur authentifié dans un système.
|
|
|
|
#### Modérateur (Moderator)
|
|
|
|
Super-utilisateur avec certains droits sur le système et la responsabilité de
|
|
garder le système sain d'utilisation.
|
|
|
|
#### Administrateur (Administrator)
|
|
|
|
Super-utilisateur qui gère le système et qui a ainsi tous les droits sur ce
|
|
dernier.
|
|
|
|
### Jargon du domaine
|
|
|
|
#### Forum (Forum)
|
|
|
|
Souvent vu au pluriel pour désigner son ensemble, c'est l'environnement où des
|
|
utilisateurs vont discuter sur des sujets désignés selon le contexte de
|
|
l'endroit.
|
|
|
|
#### Catégorie (Category)
|
|
|
|
Division des forums par sujets généraux permettant une recherche plus facile des
|
|
discussions passées.
|
|
|
|
#### Publication (Post)
|
|
|
|
Message écrit par un utilisateur, qui peut être en réponse à une autre
|
|
publication ou pour démarrer une discussion.
|
|
|
|
#### Fil de discussion (Thread)
|
|
|
|
Ensemble de publications entre des utilisateurs qui composent une discussion.
|
|
|
|
#### Compte (Account)
|
|
|
|
Ensemble des informations reliés à un utilisateur (Nom d'utilisateur, adresse
|
|
courriel, emplacement, etc.) qui peuvent où ne pas être vues par les autres
|
|
utilisateurs.
|
|
|
|
#### Archivage (Archiving)
|
|
|
|
Mettre un fil de discussion dans un état où il est impossible d'ajouter à la
|
|
conversation; effectivement rendre le fil uniquement lisible.
|
|
|
|
### Langage spécifique
|
|
|
|
Vu l'aspect général du projet, il n'y a pas vraiment de langage spécifique à
|
|
utiliser.
|