Vous êtes sur la page 1sur 54

Document d’Architecture

Logicielle
Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Révisions

Versio Date Modifications apportées


n
0.1 01/11/2023 Version initiale du document.

0.2 08/11/2023 Ajout du diagramme d’architecture

0.3 15/11/2023 Spécification technique des composants

OllcAvis - Master II GIL 2023/2024 1


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Table des matières

Table des matières......................................................................................................


I – Introduction..............................................................................................................
1 – Objet du document...............................................................................................
2 – Documents applicables et référence........................................................................
3 – Terminologie et sigles utilisés.................................................................................
II – Architecture de l’application.......................................................................................
1 – Principes fondamentaux des micro-services..............................................................
2 – Schéma de l’architecture générale...........................................................................
3 – Spécification technique des composants...................................................................
3.1 – MS Opinion...................................................................................................
3.2 – MS Invite.....................................................................................................
3.3 – MS Mailing....................................................................................................
3.5 – Communication entre les Micro-Services...........................................................
4 - Cas d’utilisation......................................................................................................................................
4.1 - Diagramme des cas d’utilisation....................................................................................................
4.2 - Résumé:........................................................................................................................................
4.3. UC_01 : S'authentifier.....................................................................................................................
4.4. UC_02 : Lister les rôles...................................................................................................................
4.5 - UC_03 : Gérer un rôle...................................................................................................................
4.6. UC_03_01 : Créer un rôle...............................................................................................................
4.7. UC_03_02 : Supprimer un rôle.......................................................................................................
4.8. UC_03_03 : Modifier un rôle...........................................................................................................
4.9. UC_04 : Gérer un élément de détails..............................................................................................
4.10. UC_04_01 : Ajouter un élément....................................................................................................
4.11. UC_04_02 : Supprimer un élément...............................................................................................
4.12. UC_04_03 : Modifier un élément..................................................................................................
4.13. UC_05 : Configurer l'algorithme de modération............................................................................
4.14. UC_06 : Lister les avis à modérer.................................................................................................
4.15. UC_07 : Modérer un avis..............................................................................................................
4.16. UC_07_01 : Consulter un avis à modérer.....................................................................................
4.17. UC_07_02 : Accepter un avis.......................................................................................................
4.18. UC_07_03 : Refuser un avis.........................................................................................................
4.19. UC_08 : Recevoir des notifications...............................................................................................
4.20. UC_09 : Lister les avis sur ses produits/magasin.........................................................................
4.21. UC_10 : Répondre à un avis.........................................................................................................
4.22. UC_11 : Signaler un avis..............................................................................................................
4.23. UC_12 : Gérer une réponse..........................................................................................................
4.24. UC_12_01 : Supprimer une réponse............................................................................................

OllcAvis - Master II GIL 2023/2024 2


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4.25. UC_12_02 : Modifier une réponse................................................................................................


4.26. UC_13 : Lister ses avis.................................................................................................................
4.27. UC_14 : Gérer un avis..................................................................................................................
4.28. UC_14_01 : Modifier un avis.........................................................................................................
4.29. UC_14_02 : Supprimer un avis.....................................................................................................
4.30. UC_15 : Rédiger un avis...............................................................................................................
4.31. UC_16 : Recevoir un email d'invitation.........................................................................................
4.32. UC_17 : Consulter les avis sur les magasins................................................................................
4.33. UC_18 : Consulter les avis sur les produits..................................................................................
4.34. UC_19 : Signaler un avis..............................................................................................................

OllcAvis - Master II GIL 2023/2024 3


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

I – Introduction

1 – Objet du document

Ce document a pour objectif de décrire l’architecture logicielle du système OllcAvis. Il


présente les différentes couches du système, ainsi que les micro-services et l’interface
utilisateur (IHM) qui le composent. Il explique également les ressources techniques et les
protocoles nécessaires à la mise en place du système, ainsi que les considérations de
performance, de stabilité et de sécurité qui ont été prises en compte. Le document vise à
fournir une vue d’ensemble claire et détaillée de l’architecture logicielle du système
OllcAvis afin de faciliter sa mise en œuvre et son maintien à long terme.

2 – Documents applicables et référence

La réalisation du présent document s’appuie sur la liste des documents et applications


suivantes :

⮚ Cahier des Clauses Techniques Particulières (CCTP) : ce document décrit le


contexte et le périmètre de l’application. C’est sur ce document que se base notre
modélisation et conception de notre application aussi bien sur le plan fonctionnel
que technique.

⮚ Figma : outil de maquettage et prototypage utilisé pour dessiner la maquette de


l’application.

⮚ Lucidchart : éditeur de diagramme d’architecture collaboratif.

⮚ DrawSQL : éditeur de diagramme permettant de concevoir des schémas de base


de données.
⮚ PlantUML : éditeur de diagramme UML en ligne.

OllcAvis - Master II GIL 2023/2024 4


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3 – Terminologie et sigles utilisés

API (Application Programming Interface) : est une interface logicielle qui permet de
connecter un logiciel (ou service) à un autre logiciel (ou service) afin d’échanger des
données et des fonctionnalités.

REST (Representational State Transfer) ou RESTful : style d’architecture permettant de


construire des applications (Web, Intranet, Web service). Il s’agit d’un ensemble de
conventions et de bonnes pratiques à respecter et non d’une technologie à part entière.

Front-end : ensemble des éléments visibles par les visiteurs/utilisateurs et accessibles


directement sur un site web (voire sur une application web ou une application mobile) qui
représente l’interface graphique d’une application.

Back-end : domaine de développement web qui se concentre sur tous les processus
d’arrière-plan nécessaires qui se produisent du côté serveur d’un site web (voire une
application web ou une application mobile). C’est la partie invisible d’une application.

MS (Micro-service) : une façon de construire des applications en découpant leur


fonctionnalité en petits services indépendants qui communiquent entre eux. Cela permet
un développement plus flexible et agile, ainsi qu’une meilleure évolutivité et maintenance
de l’application à long terme. Chaque service est responsable d’une fonction spécifique et
peut être développé et déployé indépendamment des autres.

HTTP (Hypertext Transfer Protocol) : protocole de communication client-serveur de la


couche application qui peut fonctionner sur n’importe quelle connexion fiable utilisant le
protocole TCP sur le port 80 (443 pour HTTPS).

IHM (Interface Homme Machine) : composant logiciel permettant aux utilisateurs


d’interagir avec le système.

Composant : dans le cadre de ce document, un composant est défini comme une partie
de l’application web définissant une page ou un menu coté front-end.

Sous-Composant : morceau d’un composant permettant de réaliser une action précise


lorsque l’on interagit avec cet élément. On les retrouve à l’intérieur des composants.

JSON (Javascript Object Notation) : format des données permettant aux applications
d’échanger des informations de façon structurée.

Framework : ensemble cohérent d’outils et de composants logiciels structurels


organisés conformément à un plan d’architecture permettant de créer la base d’un
projet.

Spring Boot : framework open source qui facilite le développement d’applications


fondées sur Spring en offrant des outils permettant d’obtenir une application totalement
autonome en Java.

Angular : framework pour applications clients, open source basée sur TypeScript qui
permet la création d’applications Web (particulièrement monopages).

OllcAvis - Master II GIL 2023/2024 5


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

II – Architecture de l’application

1 – Principes fondamentaux des micro-services

Principe 1 : Autonomie

Une caractéristique clé des micro-services est leur autonomie et leur capacité à
fonctionner indépendamment les uns des autres. L’autonomie est une mesure de contrôle
que l’implémentation du service a sur son environnement d’exécution et son schéma de
base de données. Cela améliore les performances et la fiabilité du service et donne aux
clients davantage de garanties quant à la qualité du service qu’ils peuvent en attendre.

L’autonomie contribue également à la disponibilité et à l’évolutivité globales du


service. Avec une autonomie accrue, l’architecture micro-services est moins susceptible
de connaître des défaillances ou des problèmes de performances à cause d’un autre
micro-service.

Principe 2 : Couplage lâche

Les micro-services sont indépendants et faiblement couplés. Le couplage fait


référence à une mesure de dépendance entre deux composants d’un système. Lors de la
conception des micro-services, les architectes mettent constamment l’accent sur la
réduction des dépendances entre le contrat de service et sa mise en œuvre d’une part, et
entre le service et ses potentiels consommateurs d’autre part.

Cela permet une plus grande évolutivité et de nouvelles solutions en permettant


aux propriétaires de services de modifier la mise en œuvre et de changer ou modifier les
systèmes d'enregistrement ou même les compositions de services qui peuvent se trouver
derrière l'interface et les remplacer sans aucun impact en aval.

Principe 3 : Réutilisabilité

La réutilisation reste un principe de la conception de micro-services. Toutefois, la


portée de la réutilisation a été réduite à des domaines spécifiques au sein de l'entreprise.

Les équipes peuvent se mettre d'accord sur des modèles de communication pour
décider de la manière dont les micro-services doivent être adaptés pour être utilisés en
dehors des contextes dans lesquels ils ont été conçus.

Principe 4 : Tolérance aux pannes

Si un composant tombe en panne, la tolérance aux pannes est la capacité qui


permet à un système de continuer à fonctionner correctement. Chaque service est
nécessairement tolérant aux pannes afin que les défaillances des autres micro-services
aient un impact minimal sur son propre système. Dans le cas de notre application, la
tolérance vient du fait que les différents micro-services sont indépendants. Aucun micro-
service ne communique directement avec les autres, ils ont chacun leur base de données
et communiquent via un bus Kafka. Cela permet quand un micro-service tombe en panne
de ne pas impacter les autres micro-services.

OllcAvis - Master II GIL 2023/2024 6


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Principe 5 : la composabilité

Tous les principes de conception mentionnés contribuent au principe de


composabilité, qui permet au service d'apporter de la valeur à l'entreprise dans différents
contextes. On peut ainsi former de nouveaux agrégats au besoin du client.

OllcAvis - Master II GIL 2023/2024 7


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

2 – Schéma de l’architecture générale

lien du lucidchart

3 – Spécification technique des composants

3.1 – MS Opinion

Ce micro-service permet la gestion des avis. En particulier, il va gérer la rédaction d’avis,


leur visualisation, leur signalement, leurs réponses, ainsi que la modération manuelle.

3.1.1 – Schéma de base de données relationnelle

Lien SQLDraw

OllcAvis - Master II GIL 2023/2024 8


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.1.2 – Explication

La table opinion est la table principale de ce micro service, celle-ci contient les données
principales sur les avis :
- L’ID
- La note
- Le commentaire
- Le pseudonyme de l’auteur si celui-ci souhaite être anonyme (ou ses initiales).
- Le statut de modération prenant les valeurs :
- PENDING : est en cours de modération automatique
- AUTOMATIC : a été automatiquement modéré
- FINISHED : a été manuellement modéré
- L’état d’acceptation de l’avis
- Le statut de visibilité de l’avis.
- La date de création
- La date de la dernière modification
- Plusieurs références vers les ID de l’utilisateur, du commerçant, de la commande
et d’un article.
- La raison si l’avis a été refusé.

OllcAvis - Master II GIL 2023/2024 9


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Les tables event_historic (historique d’événement) et answer (réponse) sont liées à


la table opinion par une relation one-to-many, signifiant qu’un avis est lié à plusieurs
événements et a plusieurs réponses.
Ainsi, la table event_historic correspondant à l’historique d’événement d’un avis ou
d’une réponse contient différentes informations :
- l’ID
- L’évènement qui peut prendre les valeurs suivantes :
- MODIFIED : l’avis a été modifié
- DELETED : l’avis a été supprimé
- La date de cet évènement
- La référence vers un avis si référence un avis
- La référence vers une réponse si référence une réponse.

La table answer correspondant aux réponses et qui contient la réponse, l’auteur


(commerçant) de la réponse, le statut de modération, l’état d’acceptation de la réponse,
la date de la réponse, une référence vers l’ID de l’opinion et une référence vers l’ID du
commerçant.

Les tables detail_element et detail_element_answer permettent de stocker les


questionnaires personnalisés et les réponses. Tout d’abord dans la table
detail_element, nous stockons différentes informations qui sont ;
- Le label de la question
- L’ordre de la question
- Le type de la question qui peut prendre les valeurs suivantes :
- MERCHANT : question concernant un commerçant
- PRODUCT : question concernant un produit.
- Le type de produit concerné
- Le type de commerçant concerné
Et enfin dans la table concernant les réponses aux questionnaires, nous allons stocker
différentes informations qui sont :
- L’identifiant de la question
- La note attribué à la question
- L’identifiant de l’avis associé au moment de la réponse.

Les tables product et merchant sont des tables contenant des données venant d’Ollca,
celles-ci. Nous prenons ici uniquement les informations que nous avons besoin, c’est-à-
dire :
- Le nom du produit ou du commerçant
- La description
- la catégorie
De plus, dans product, nous avons une référence vers le commerçant associé.

La table order contient les commandes, une commande ne contenant juste une liste de
produits.

3.1.3 - API publique

Routes de l’API proposées par le micro-service

Méthode Chemin Entrée Réponse

OllcAvis - Master II GIL 2023/2024 10


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Code Sortie

GET /opinions N/A 200 List<OpinionDto>

201 OpinionDto
POST /opinions CreateOpinionDto
400

200 List<OpinionDto>
GET /opinions-by-merchant N/A
404 > Avis inexistant

GET /opinions-by-product N/A List<OpinionDto>

200 OpinionDto

PUT /opinions/{id} UpdateOpinionDto 400 > Entrée invalide

404 > Avis inexistant

POST /opinions/{id}/moderate ModOpinionDto 200 N/A

OllcAvis - Master II GIL 2023/2024 11


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.2 – MS Invite

Ce micro-service a pour responsabilité de prendre en charge les commandes reçues


depuis le système Ollca. Il crée un e-mail d’invitation destiné au client afin qu’il puisse
accéder au système OllcAvis pour rédiger un ou plusieurs avis sur les produits et
commerçants de sa commande.

La première invitation est envoyée dans un délai de 48 heures après la date de retrait ou
de livraison de la commande. Si aucun avis n’a été rédigé dans un délai de 168 heures
après la date de retrait ou de livraison de la commande, une seconde invitation est
envoyée au client.

3.2.1 - Schéma de base de données

La table order stocke les informations sur les commandes reçues depuis Ollca :
a. l’identifiant de la commande auprès du système Ollca (id) ;
b. l’identifiant du client auprès du système Ollca (client_id) ;
c. si un avis a été déposé pour la commande (has_answered) - par défaut false ;
d. la date à laquelle la commande a été passée (created_at).

La table client stocke les informations liées à un client du système Ollca :


a. son identifiant auprès du système Ollca (id) ;
b. l’état civil du client composé du prénom et du nom (first_name et last_name) ;
c. l’adresse e-mail du client à laquelle envoyer les e-mails (email_address).

La table product stocke les informations liées à un produit du système Ollca :


a. son identifiant auprès du système Ollca (id) ;
b. le nom du produit tel que présenté au client (name) ;
c. le marchand proposant ce produit dans sa boutique (merchant_id).

La table merchant stocke les informations liées à un marchand du système Ollca :


a. son identifiant auprès du système Ollca (id) ;
b. le nom du marchand tel que présenté au client (name).

OllcAvis - Master II GIL 2023/2024 12


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

La table order_product stocke les produits achetés pour chaque commande :


a. l’identifiant de la commande (order_id) ;
b. l’identifiant du produit acheté (product_id) ;
c. la quantité du produit acheté (quantity).

3.2.2 - Échanges entre micro-services

3.2.3.a - Envoi des liens d’invitation

Nature Production de données

Topic Kafka mail

Données fournies - Adresse e-mail du client invité à répondre (recipient) ;


- Sujet de l’e-mail d’invitation (subject) ;
- Corps de l’e-mail contenant le lien d’invitation (body).

Objectif Informer le client qu’il est éligible au dépôt d’avis sur le


système “OllcAvis” pour la commande qu’il a passé, et lui
fournir un lien direct d’accès à l’interface de rédaction d’avis. Ce
mail contiendra également le détail de la commande passée.

Dans la mesure où le micro-service Mailing serait indisponible, la demande d’envoi de l’e-


mail est mise en attente. Le client sera invité à rédiger ses avis dès lors que le micro-
service sera de nouveau opérationnel.

3.2.2.b - Écoute sur les avis nouvellement créés

Nature Consommation de données

Topic Kafka opinion

Données extraites - Identifiant de la commande à laquelle l’avis se rattache.

Objectif Empêcher l’envoi du second courrier d’invitation, si un avis a


été rédigé dans les 168 heures passé la date de retrait ou de
livraison de la commande.

Dans la mesure où le micro-service Opinion serait indisponible et que l’information de


création d’avis ne soit pas arrivée jusqu’au micro-service Invite, alors la seconde
invitation pourrait tout de même être envoyée à l’utilisateur même s’il a déjà rédigé au
moins un (1) avis dans le temps imparti.

OllcAvis - Master II GIL 2023/2024 13


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.3 – MS Mailing

Ce micro-service prend en charge l’envoi d’e-mails auprès des utilisateurs du système


OllcAvis. Son fonctionnement est simple : il reçoit des demandes d’envoi d’e-mails depuis
le topic Kafka mail puis s’occupe de les envoyer.

Afin de rester résilient en cas d’indisponibilité du serveur SMTP, les e-mails à envoyer
sont conservés en base de données afin de pouvoir les prendre en charge ultérieurement.
Les e-mails envoyés depuis plus d’un (1) mois sont automatiquement purgés de la base
de données à rythme quotidien.

3.3.1 - Schéma de base de données

La table email est peuplée avec l’e-mail à envoyer dès lors que le micro-service reçoit un
message dans le topic Kafka mail. Le champ sent_at d’une entrée est mis à jour dès
lors que le micro-service a envoyé l’e-mail en question avec succès.

Le champ status contient une énumération composée des valeurs suivantes :


- SENDING : l’e-mail vient d’arriver et sa première tentative d’envoi est imminente ;
- SENT : l’e-mail a été envoyé avec succès (sent_at peuplé avec la date d’envoi) ;
- TO_SEND : l’envoi initial a échoué, une nouvelle tentative sera faite ultérieurement.

OllcAvis - Master II GIL 2023/2024 14


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.3.2 - Cycle de vie d’un e-mail

Le micro-service appelant est chargé de construire les éléments suivants de l’e-mail à


envoyer : adresse e-mail du destinataire, objet de l’e-mail et contenu de l’e-mail. Le
contenu de l’e-mail peut être au format texte ou au format HTML selon la mise en page
souhaitée.

Les demandes d’envoi déposées dans le topic mail sont consommées par le micro-service
Mailing qui persiste les données en base. Par défaut, une demande d’envoi possède le
statut SENDING : il est directement pris en charge pour un envoi vers le serveur SMTP.

Dans la mesure où le serveur SMTP est opérationnel, et que l’envoi réussit, alors le statut
de la demande d’envoi passe à SENT et le champ sent_at est peuplé avec la date
effective d’envoi. Au bout d’un mois passé la date d’envoi, l’entrée est purgée de la base
de données.

Si l’envoi échoue pour une raison quelconque, le statut passe à TO_BE_SENT et sera pris
en charge périodiquement par le micro-service jusqu’à ce que l’envoi réussisse. Cette
prise en charge se fera via un CRON qui traitera l’ensemble des demandes ayant le statut
TO_BE_SENT.

3.3.3 - Serveur SMTP externe

Ce micro-service nécessite une connexion à un serveur SMTP afin de compléter sa


mission d’envoyer des e-mails. Dans le cadre du projet OllcAvis, le serveur SMTP de
l’Université de Rouen Normandie sera utilisé pour l’envoi d’e-mails depuis le système.

Nous ne pouvons pas garantir le taux de disponibilité du serveur SMTP. Par conséquent,
le micro-service a été conçu pour être résilient face aux éventuelles pannes du serveur
afin de ne pas “perdre” des demandes d’envoi si celles-ci venaient à arriver lors d’une
indisponibilité du serveur.

OllcAvis - Master II GIL 2023/2024 15


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.4 – MS AutoMod

Ce micro-service se charge d’exécuter les algorithmes de modération automatique sur les


avis nouvellement postés. Il écoute sur son propre topic moderation dans lequel le
micro-service opinion dépose les avis et réponses fraîchement postés par les clients sur
la plateforme OllcAvi.

3.4.1 - Schéma de base de données

MS AutoMod est composé pour le moment d’une unique table contenant la liste des
algorithmes énumérant les différents algorithmes disponibles pour la configuration.

3.4.2 - Échanges entre micro-services

3.4.1.a - Auto-modération des avis

Nature Auto-modération

Topic Kafka moderation

Données fournies - Texte à modérer.

Objectif - Modération automatique des avis, renvoyant si l’avis à


modérer est accepté ou non.

3.4.3 - API publique

Le service étant destiné à une utilisation interne, il ne propose que très peu de routes.
Celles-ci correspondent à la configuration de l’auto-modération, principalement les
algorithmes utilisés.
L’auto-modération en elle-même est gérée par le topic Kafka “moderation”.

Routes de l’API proposées par le micro-service


Réponse

Méthode Chemin Entrée Code Sortie

GET /settings N/A 200 SettingsDto

OllcAvis - Master II GIL 2023/2024 16


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

204 N/A

POST /settings SettingsDto 401 > Algorithme inexistant

Description du modèle de données utilisé :

SettingsDto
Champ Type Description
Liste des algorithmes à utiliser pour appliquer la
settings List<String>
modération automatique.

3.4.4 - Algorithmes

À définir.

OllcAvis - Master II GIL 2023/2024 17


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.5 – Communication entre les Micro-Services


3.5.1 - Schéma de communication

OllcAvis - Master II GIL 2023/2024 18


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

3.5.2 - Topic mail

Le principal consumer de ce topic est le micro-service de Mailing qui va nous


permettre d’envoyer des mails aux différents utilisateurs. Les principaux producer sont
le micro-service d’Invite qui va envoyer un message dans ce topic lorsqu’une
invitation à poster un avis devra être envoyé et le micro-service de Opinion qui va
envoyer un message dans ce topic lorsqu’un avis a été refusé, lorsqu’un commerçant
reçoit un avis sur sa boutique ou sur un de ses articles et lorsqu’un avis doit être modéré
par un modérateur après un signalement. Les données qui seront échangé à travers ce
topic contiendront :
- Le sujet du mail à envoyer
- Le contenu du mail à envoyer
- Adresse mail de l’utilisateur

La structure de l’objet envoyer depuis les micro-services order et opinion


ressemblera à ca:
{
“@type”: “mail”,
“body”:{
“subject”: string,
“content”: string,
“email”: string
}
}

3.5.3 - Topic moderation

Ce topic a pour objectif de modérer les différents avis. Tout d’abord, lorsque le micro-
service Opinion envoie un message sur ce topic, cela signifie que nous voulons
modérer un avis. Ensuite, le micro-service AutoMod va écouter ce message et va ensuite
le modérer. Les données échangés lors de cet échange seront :
- L’identifiant de l’avis
- L’identifiant du sujet
- Le type du sujet MERCHANT ou ARTICLE
- Le contenu de l’avis

Dans un second temps, le micro-service AutoMod pourra envoyer un message à travers


ce topic, pour objectif de donner une réponse au micro-service Opinion pour accepter
ou refuser l’avis. Les données échangés lors de cette réponse contiendront :
- L’identifiant de l’avis
- L’identifiant du sujet
- Le type du sujet MERCHANT ou ARTICLE
- Le sujet
- Les raisons du refus s’il y a un refus.
- Le status ACCEPTED ou DECLINED

La structure de l’objet envoyer sur le topic modération depuis le micro-service Opinion


destiné au micro-service AutoMod ressemblera à ca :
{
“@type”: “request”,
“body”:{
“opinionId”:integer,

OllcAvis - Master II GIL 2023/2024 19


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

“sujectId”: uuid,
“sujectType”: “MERCHANT” | “ARTICLE”,
“content”: string
}
}

La structure de l’objet envoyer sur le topic modération depuis le micro-service AutoMod


destiné au micro-service Opinion ressemblera à ca :
{
“@type”: “result”,
“body”:{
“opinionId”: integer,
“sujectId”: uuid,
“sujectType”: “MERCHANT” | “ARTICLE”,
“reason”: string,
“content”: string,
“status” : “ACCEPTED” | “DECLINED”
}
}

Le type request est destiné pour demander que l’avis soit modéré. Et le type result
est destiné au résultat de la demande de modération.

3.5.4 - Topic opinion

Ce topic a pour objectif de notifier le micro-service Invite qui va traiter ce message


pour marquer qu’un avis a été déposé sur la commande. Ce message est envoyé depuis
le micro-service Opinion lorsqu’un avis est enregistré. Les données échangés
contiendront :
- L’identifiant de la commande

La structure de l’objet envoyer sur le topic opinion ressemblera à ca:


{
“@type”: “create”,
“body”:{
“id”:integer,
“orderId”: uuid
}
}

3.5.5 - Topic order

Ce topic a pour objectif de recevoir les commandes provenant du système Ollca,


ensuite notre micro-service Invite va traiter les commandes et le micro-service
Opinion va récupérer les informations qui lui sont nécessaires. Les données échangés
contiendront les informations suivantes :
- En attente du client

OllcAvis - Master II GIL 2023/2024 20


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4 - Cas d’utilisation

4.1 - Diagramme des cas d’utilisation

OllcAvis - Master II GIL 2023/2024 21


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4.2 - Résumé:
ID Cas d’utilisation

UC_01 S'authentifier

Admin

UC_02 Lister les rôles

UC_03 Gérer un rôle

UC_03_01 Créer un rôle

UC_03_02 Supprimer un rôle

UC_03_03 Modifier un rôle

UC_04 Gérer un élément de détails

UC_04_01 Ajouter un élément

UC_04_02 Supprimer un élément

UC_04_03 Modifier un élément

UC_05 Configurer l'algorithme de modération

OllcAvis - Master II GIL 2023/2024 22


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Modérateur

UC_06 Lister les avis à modérer

UC_07 Modérer un avis

UC_07_01 Consulter un avis à modérer

UC_08 Accès aux alertes

Commerçons

UC_09 Lister les avis sur ses produits/magasin

UC_10 Répondre à un avis

UC_11 Signaler un avis

UC_12 Gérer une réponse

UC_12_01 Supprimer une réponse

UC_12_02 Modifier une réponse

Client

UC_13 Lister ses avis

UC_14 Gérer un avis

UC_14_01 Modifier un avis

UC_14_02 Supprimer un avis

UC_15 Rédiger un avis

UC_16 Recevoir un email d'invitation

Visiteur

UC_17 Consulter les avis sur les magasins

UC_18 Consulter les avis sur les produits

UC_19 Signaler un avis

4.3. UC_01 : S'authentifier

Actions Description

OllcAvis - Master II GIL 2023/2024 23


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Pré-condition L’utilisateur possède un compte sur Ollca

Événements déclenchants L’utilisateur tente de se connecter

Condition d'arrêt Le serveur affiche le tableau de bord

Flots secondaires

Flots d'exceptions En cas d’échec de connection, un message d’erreur sera


renvoyé

Diagramme de séquence

Maquette

OllcAvis - Master II GIL 2023/2024 24


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4.9. UC_04 : Gérer un élément de détails


Maquette

4.10. UC_04_01 : Ajouter un élément

Actions Description

Pré-condition L’administrateur est connecté

Événements déclenchants L’administrateur clique sur “Gestion des éléments” puis


sur le bouton “+” .

Condition d'arrêt Un élément de détail à été créee avec les informations


spécifiées

Flots secondaires

Flots d'exceptions En cas d'échec lors de la création, un message d'erreur est


affiché, et l'administrateur peut corriger les informations
saisies.

OllcAvis - Master II GIL 2023/2024 25


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

4.11. UC_04_02 : Supprimer un élément

Actions Description

Pré-condition L’administrateur est connecté

OllcAvis - Master II GIL 2023/2024 26


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Événements déclenchants L’administrateur clique sur “Gestion des éléments” puis


sur le bouton “supprimer” associé à chaque élément .

Condition d'arrêt L’élément de détail à été supprimé

Flots secondaires

Flots d'exceptions En cas d'échec lors de la suppression, un message


d'erreur est affiché.

Diagramme de séquence

Maquette

4.12. UC_04_03 : Modifier un élément

Actions Description

Pré-condition L’administrateur est connecté

Événements déclenchants L’administrateur clique sur “Gestion des éléments” puis


sur le bouton “modifier” associé à chaque élément .

Condition d'arrêt L’élément de détail à été modifié

Flots secondaires

Flots d'exceptions En cas d'échec lors de la modification, un message


d'erreur est affiché et l’administrateur peut corriger les
informations saisies.

OllcAvis - Master II GIL 2023/2024 27


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

4.13. UC_05 : Configurer l'algorithme de modération

Actions Description

Pré-condition L’administrateur est connecté

Événements déclenchants L'administrateur accède au panneau de configuration pour les


algorithmes de modération

Condition d'arrêt

Flots secondaires Les paramètres des algorithmes de modération sont configurés


par l'administrateur.

Flots d'exceptions En cas d'erreur lors de la configuration, un message d'erreur est


affiché, et l'administrateur peut réessayer ou prendre une autre
action.

OllcAvis - Master II GIL 2023/2024 28


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

4.14. UC_06 : Lister les avis à modérer

Actions Description

Pré-condition Le modérateur est connecté

Événements déclenchants Le modérateur clique sur Gestion des avis

Condition d'arrêt Le modérateur a accès à la liste des avis en attente de

OllcAvis - Master II GIL 2023/2024 29


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

modération. Il peut consulter le contenu de chaque avis.

Flots secondaires

Flots d'exceptions

Diagramme de séquence

Maquette

4.15. UC_07 : Modérer un avis

Actions Description

OllcAvis - Master II GIL 2023/2024 30


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Pré-condition Le modérateur à accès à la liste des avis

Événements déclenchants Le modérateur clique sur un avis puis sur un bouton “✓


“ou “x” ou bien sur “...” puis sur “accepter “ ou
“supprimer”

Condition d'arrêt Le modérateur peut accepter ou refuser chaque avis dans la


liste.

Flots secondaires

Flots d'exceptions En cas d’erreur , un message est afficher et le modérateur


peut réesayer

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 31


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.16. UC_07_01 : Consulter un avis à modérer

Actions Description

Pré-condition Le modérateur accède à la liste des avis

Événements déclenchants Le modérateur clique sur un avis

Condition d'arrêt Le modérateur consulte les détails d’un avis

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 32


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

4.19. UC_08 : accéder aux alertes

Actions Description

Pré-condition Le modérateur est connecté

Événements déclenchants Le modérateur clique sur “Notifications”

OllcAvis - Master II GIL 2023/2024 33


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Condition d'arrêt Le modérateur à accès aux alertes

Flots secondaires

Flots d'exceptions

Diagramme de séquence

Maquette

4.20. UC_09 : Lister les avis sur ses produits/magasin

OllcAvis - Master II GIL 2023/2024 34


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Actions Description

Pré-condition Le commerçant est connecté

Événements déclenchants Le commerçant choisit “Gestion d’avis” sur le menu.

Condition d'arrêt La liste des avis sur les produits et le magasin du


commerçant s’affiche.

Flots secondaires

Flots d'exceptions

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 35


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.21. UC_10 : Répondre à un avis

Actions Description

Pré-condition Le commerçant est connecté

Événements déclenchants Le commerçant clique sur le bouton “Répondre” de la liste


des actions sur la carte d’un avis.
Une fenêtre qui contient les détails de l’avis le formulaire
de réponse s’affiche.

Condition d'arrêt Le commerçant clique sur le bouton de validation.

Flots secondaires

Flots d'exceptions En cas d’échec lors de l'ajout de la réponse, un message


d’erreur doit s’afficher.

OllcAvis - Master II GIL 2023/2024 36


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 37


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.22. UC_11 : Signaler un avis

Actions Description

Pré-condition Le commerçant est connecté

Événements déclenchants Le commerçant clique sur le bouton “Signaler” de la liste


des actions sur la carte d’un avis.
Une fenêtre qui contient les détails de l’avis.

Condition d'arrêt Le commerçant clique sur le bouton de validation.

Flots secondaires

Flots d'exceptions En cas d’échec lors de signalement, un message d’erreur


doit s’afficher.

OllcAvis - Master II GIL 2023/2024 38


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 39


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.23. UC_12 : Gérer une réponse


Maquette

4.24. UC_12_01 : Supprimer une réponse

Actions Description

OllcAvis - Master II GIL 2023/2024 40


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Pré-condition Le commerçant est connecté

Événements déclenchants Le commerçant clique sur le bouton “Supprimer”.

Condition d'arrêt Le commerçant clique sur le bouton de validation.

Flots secondaires Une trace renseignant sur la suppression de la réponse


sera écrite dans un fichier de log.

Flots d'exceptions En cas d’échec lors de la suppression, un message


d’erreur doit s’afficher.

Diagramme de séquence

Maquette

OllcAvis - Master II GIL 2023/2024 41


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4.25. UC_12_02 : Modifier une réponse

Actions Description

Pré-condition Le commerçant est connecté

Événements déclenchants Le commerçant clique sur le bouton “modifier”.

Condition d'arrêt Le commerçant clique sur le bouton de validation.

Flots secondaires

Flots d'exceptions En cas d’échec lors de la modification, un message


d’erreur doit s’afficher.

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 42


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.26. UC_13 : Lister ses avis

Actions Description

Pré-condition Le client est connecté

Événements déclenchants Le client choisit “Gestion des avis” sur le menu.

Condition d'arrêt La liste des avis que le client a laissés s’affiche.

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 43


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

OllcAvis - Master II GIL 2023/2024 44


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

4.27. UC_14 : Gérer un avis


Maquette

4.28. UC_14_01 : Modifier un avis

Actions Description

Pré-condition Le client est connecté

Événements déclenchants Le client clique sur le bouton de modification d’avis.

Condition d'arrêt Le client clique sur le bouton de validation.

Flots secondaires

Flots d'exceptions En cas d’échec lors de la modification, un message


d’erreur doit s’afficher.

OllcAvis - Master II GIL 2023/2024 45


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

OllcAvis - Master II GIL 2023/2024 46


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.29. UC_14_02 : Supprimer un avis

Actions Description

Pré-condition Le client est connecté

Événements déclenchants Le client clique sur le bouton de suppression d’avis.

Condition d'arrêt Le client clique sur le bouton de validation.

Flots secondaires Une trace renseignant sur la suppression de l’avis sera


écrite dans un fichier de log.

Flots d'exceptions En cas d’échec lors de la suppression , un message


d’erreur doit s’afficher.

OllcAvis - Master II GIL 2023/2024 47


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

4.30. UC_15 : Rédiger un avis

Actions Description

Pré-condition Le client est connecté

Événements déclenchants Le client clique sur le lien envoyé par email, et sera dirigé
vers la page de rédaction.

Condition d'arrêt Le client clique sur le bouton de validation.

Flots secondaires

OllcAvis - Master II GIL 2023/2024 48


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Flots d'exceptions En cas d’échec lors de l’ajout de l’avis, un message


d’erreur doit s’afficher.

Diagramme de séquence

Maquette

4.31. UC_16 : Recevoir un email d'invitation

Actions Description

Pré-condition Le client a fait une commande sur Ollca.

Événements déclenchants Le client a reçu sa commande d’Ollca.

Condition d'arrêt

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 49


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

4.32. UC_17 : Consulter les avis sur les magasins

Actions Description

Pré-condition Le visiteur navigue sur Ollca.

Événements déclenchants Le visiteur rentre dans la page du magasin.

Condition d'arrêt

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 50


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.33. UC_18 : Consulter les avis sur les produits

Actions Description

Pré-condition Le visiteur navigue sur Ollca.

Événements déclenchants Le visiteur rentre dans la page du produit.

Condition d'arrêt

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 51


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Maquette

4.34. UC_19 : Signaler un avis

Actions Description

Pré-condition Le visiteur navigue sur Ollca.

Événements déclenchants Le visiteur rentre dans la page du produit et clique sur


signaler sur un avis.

Condition d'arrêt Le visiteur a signalé un avis

Flots secondaires

Flots d'exceptions

OllcAvis - Master II GIL 2023/2024 52


Master 2 Génie Informatique et Logiciel
Année 2023 – 2024

Diagramme de séquence

Maquette

OllcAvis - Master II GIL 2023/2024 53

Vous aimerez peut-être aussi