From 22c7a15d427716d93f6d3aa9e9721218764c888a Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:33:00 +0200 Subject: [PATCH 01/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index fb4fbe7..2220fb5 100644 --- a/README.md +++ b/README.md @@ -34,31 +34,28 @@ Class Carte { } Class Commentaire { - - String contenu - - int signale - - int nblike - - int nbdislike + + String contenu + + int signale + + int nblike + + int nbdislike + int getLike() + int setLike() } Class Pack { - - String nom - - String description - - int note - - String lienImage - - Vector cartes - + int getNbCommentaire(Commentaire) - + int getCommentaire(Commentaire) - + Vector<&Carte> getCartes() + + String nom + + String description + + int note + + String lienImage + + List cartes + + int getNbCommentaire() } Class Camp { - - String nom - - String description - - String lienImage - - Vector cartes - + Vector<&Carte> getCartes() + + String nom + + String description + + String lienImage + + List cartes } User --> Pack From b21150c664c3b40638cbc03d7137b0322e5e9978 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:33:45 +0200 Subject: [PATCH 02/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.md b/README.md index 2220fb5..f38519a 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,6 @@ Diagramme de classe de l'application Class User { - String pseudo - String mot_de_passe - + int getNote(Carte) - + int setNote(Carte) - + int getNote(Pack) - + int setNote(Pack) - + string getCommentaire(Commentaire) - + string setCommentaire(Commentaire) - + int getLike(Commentaire) - + int setLike(Commentaire) - + int getSignale(Commentaire) - + int setSignale(Commentaire) } Class Carte { From 02db2d5e57aa30a4bee640ca9ab573cde1a078b5 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:38:37 +0200 Subject: [PATCH 03/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f38519a..d0549c0 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,10 @@ Class Carte { - String strategies - int note - String lienImage - + int getNbCommentaire(Commentaire) - + int getCommentaire(Commentaire) - + int getNote() - + int setNote() + + List likes + + bool hasLiked(User) + + void addLike(User) + + void removeLike(User) } Class Commentaire { @@ -37,7 +37,7 @@ Class Pack { + String description + int note + String lienImage - + List cartes + + Set cartes + int getNbCommentaire() } @@ -45,7 +45,7 @@ Class Camp { + String nom + String description + String lienImage - + List cartes + + Set cartes } User --> Pack From bed17cc8f8e8e3f5a7d690d6a46e0b087f031b27 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:42:24 +0200 Subject: [PATCH 04/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d0549c0..6b4931e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,10 @@ Class Carte { - String strategies - int note - String lienImage - + List likes + - List commentaires + - Set likes + + void addCommenaire(User) + + void removeCommentaire(User) + bool hasLiked(User) + void addLike(User) + void removeLike(User) @@ -38,7 +41,13 @@ Class Pack { + int note + String lienImage + Set cartes - + int getNbCommentaire() + + List commentaires + + Set likes + + void addCommenaire(User) + + void removeCommentaire(User) + + bool hasLiked(User) + + void addLike(User) + + void removeLike(User) } Class Camp { From 2425c2568d5be44af2e915eb654316e6a46663e3 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:46:23 +0200 Subject: [PATCH 05/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6b4931e..807d992 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,10 @@ Class Commentaire { + int signale + int nblike + int nbdislike - + int getLike() - + int setLike() + + Set likes + + bool hasLiked(User) + + void addLike(User) + + void removeLike(User) } Class Pack { From 70d4bc542b2b988ee3341bba49b49d65602258a2 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:53:38 +0200 Subject: [PATCH 06/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 807d992..0d59360 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,9 @@ Commentaire *--> Carte Pack --|> Carte Camp --|> Carte +skinparam class Commentaire { + BackgroundColor #FF0000 +} hide circle allowmixing skinparam classAttributeIconSize 0 From d3a402435713a58b4caaf972591086155c681ba5 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:54:36 +0200 Subject: [PATCH 07/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0d59360..474eb14 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ Diagramme de classe de l'application ```plantuml @startuml + +skinparam class Commentaire { + BackgroundColor #FF0000 +} + Class User { - String pseudo - String mot_de_passe @@ -67,9 +72,6 @@ Commentaire *--> Carte Pack --|> Carte Camp --|> Carte -skinparam class Commentaire { - BackgroundColor #FF0000 -} hide circle allowmixing skinparam classAttributeIconSize 0 From 3bd38e30badc87feab41d140731a18595160f55a Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:55:23 +0200 Subject: [PATCH 08/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 474eb14..865da60 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,6 @@ Diagramme de classe de l'application ```plantuml @startuml -skinparam class Commentaire { - BackgroundColor #FF0000 -} Class User { - String pseudo From 11c198750f605d76342d261d9f06d86cc9335662 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:55:37 +0200 Subject: [PATCH 09/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 865da60..5ea4f88 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,15 @@ Diagramme de classe de l'application ```plantuml @startuml +skinparam class { + BackgroundColor White + BorderColor Black + FontColor Black +} + +skinparam classAttributeBackgroundColor<> #FF0000 +skinparam classAttributeBorderColor<> #FF0000 +skinparam classAttributeFontColor<> Black Class User { - String pseudo From 0d8179e31134c9e91d0fd177eabb63df1abc30e9 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:56:09 +0200 Subject: [PATCH 10/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5ea4f88..6e60473 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,6 @@ skinparam class { FontColor Black } -skinparam classAttributeBackgroundColor<> #FF0000 -skinparam classAttributeBorderColor<> #FF0000 -skinparam classAttributeFontColor<> Black Class User { - String pseudo @@ -86,6 +83,9 @@ skinparam classBorderColor #800000 skinparam classArrowColor #800000 skinparam classFontColor #black skinparam classFontName Tahoma +skinparam classAttributeBackgroundColor<> #FF0000 +skinparam classAttributeBorderColor<> #FF0000 +skinparam classAttributeFontColor<> Black @enduml ``` From 12dab0819a46d385d561851f6b856d3d5f6d1e9e Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:58:14 +0200 Subject: [PATCH 11/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 6e60473..d570262 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,5 @@ -# SAE-S2.01_MAUI - - -Diagramme de classe de l'application - -```plantuml @startuml -skinparam class { - BackgroundColor White - BorderColor Black - FontColor Black -} - - Class User { - String pseudo - String mot_de_passe @@ -27,13 +14,23 @@ Class Carte { - String lienImage - List commentaires - Set likes - + void addCommenaire(User) + + void addCommentaire(User) + void removeCommentaire(User) + bool hasLiked(User) + void addLike(User) + void removeLike(User) } +skinparam class { + BackgroundColor White + BorderColor Black + FontColor Black +} + +skinparam class Commentaire { + BackgroundColor LightBlue +} + Class Commentaire { + String contenu + int signale @@ -46,14 +43,14 @@ Class Commentaire { } Class Pack { - + String nom + + String nom + String description + int note + String lienImage + Set cartes + List commentaires + Set likes - + void addCommenaire(User) + + void addCommentaire(User) + void removeCommentaire(User) + bool hasLiked(User) + void addLike(User) @@ -77,15 +74,4 @@ Camp --|> Carte hide circle allowmixing -skinparam classAttributeIconSize 0 -skinparam classBackgroundColor #ffffb9 -skinparam classBorderColor #800000 -skinparam classArrowColor #800000 -skinparam classFontColor #black -skinparam classFontName Tahoma -skinparam classAttributeBackgroundColor<> #FF0000 -skinparam classAttributeBorderColor<> #FF0000 -skinparam classAttributeFontColor<> Black @enduml -``` - From af54e89324a0b0032e02430c163e209eff503eb9 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 15:58:49 +0200 Subject: [PATCH 12/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d570262..ffc0678 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +```plantuml @startuml Class User { @@ -75,3 +76,4 @@ Camp --|> Carte hide circle allowmixing @enduml +``` \ No newline at end of file From 91db7ada4eb11c607374809a343da00364d2cb4a Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 16:00:00 +0200 Subject: [PATCH 13/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ffc0678..e19c72f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -```plantuml @startuml Class User { @@ -22,17 +21,7 @@ Class Carte { + void removeLike(User) } -skinparam class { - BackgroundColor White - BorderColor Black - FontColor Black -} - -skinparam class Commentaire { - BackgroundColor LightBlue -} - -Class Commentaire { +Class Commentaire <> { + String contenu + int signale + int nblike @@ -75,5 +64,11 @@ Camp --|> Carte hide circle allowmixing +skinparam classAttributeIconSize 0 +skinparam classBackgroundColor #ffffb9 +skinparam classBorderColor #800000 +skinparam classArrowColor #800000 +skinparam classFontColor #black +skinparam classFontName Tahoma + @enduml -``` \ No newline at end of file From f19279506e138f26cbf802d153d94624a7f81b19 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 16:00:40 +0200 Subject: [PATCH 14/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e19c72f..0d56ffb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +```plantuml @startuml Class User { @@ -72,3 +73,4 @@ skinparam classFontColor #black skinparam classFontName Tahoma @enduml +``` From c1b45f2813de06d12531b600a8347bb5b4742c98 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 16:52:54 +0200 Subject: [PATCH 15/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d56ffb..ea6e5e9 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Class Carte { + void removeLike(User) } -Class Commentaire <> { +Class Commentaire { + String contenu + int signale + int nblike From 017f45c83db7bc067f10edb2816561a0d49fddf6 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:00:24 +0200 Subject: [PATCH 16/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.md b/README.md index ea6e5e9..1407665 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# Diagramme de classe + ```plantuml @startuml @@ -74,3 +76,51 @@ skinparam classFontName Tahoma @enduml ``` +Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. + +#Diagramme de classe pour la persistance + +```plantuml +@startuml + +Class User { +} + +Class Carte { + - List commentaires + - Set likes +} + +Class Commentaire { + + Set likes +} + +Class Pack { + + List commentaires + + Set likes +} + +Class Camp { +} + +User --> Pack +User --> Carte +User --> Commentaire +Commentaire *--> Pack +Commentaire *--> Carte +Pack --|> Carte +Camp --|> Carte + +hide circle +allowmixing +skinparam classAttributeIconSize 0 +skinparam classBackgroundColor #ffffb9 +skinparam classBorderColor #800000 +skinparam classArrowColor #800000 +skinparam classFontColor #black +skinparam classFontName Tahoma + +@enduml +``` + +Les seuls données pouvant être modifié dans le master detail sont les commentaires et les likes des pack et cartes. Ainsi ce sont les seuls que l'on enregistre a chaque modification/ajout/suppression. \ No newline at end of file From f6d772137372170b0d82073aacc7731e15f51733 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:07:20 +0200 Subject: [PATCH 17/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1407665..bdbf147 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ skinparam classFontName Tahoma ``` Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. -#Diagramme de classe pour la persistance +# Diagramme de classe pour la persistance ```plantuml @startuml @@ -123,4 +123,10 @@ skinparam classFontName Tahoma @enduml ``` -Les seuls données pouvant être modifié dans le master detail sont les commentaires et les likes des pack et cartes. Ainsi ce sont les seuls que l'on enregistre a chaque modification/ajout/suppression. \ No newline at end of file +es seules données pouvant être modifiées dans le modèle Master-Detail sont les _commentaires_ et les _likes_ des __packs__ et des __cartes__. Ainsi, ce sont les seules données qui sont enregistrées à chaque modification, ajout ou suppression. + +### Likes +Chaque utilisateur ne peut 'liker' qu'une fois une carte/pack, on utilise donc un set pour avoir des clés uniques, évitant les doublant. Le set nous permet également d'effectuer des opération de recherche plus rapidement pour verifier si un utilisateur à déjà 'liker' ou non. + +### Commentaires +Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il peut également supprimer les commentaires qu'il à écrit. \ No newline at end of file From d7f0bd0e5afeca9249e99895d66d2a336bd55b48 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:13:36 +0200 Subject: [PATCH 18/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bdbf147..1bf73cc 100644 --- a/README.md +++ b/README.md @@ -129,4 +129,35 @@ es seules données pouvant être modifiées dans le modèle Master-Detail sont l Chaque utilisateur ne peut 'liker' qu'une fois une carte/pack, on utilise donc un set pour avoir des clés uniques, évitant les doublant. Le set nous permet également d'effectuer des opération de recherche plus rapidement pour verifier si un utilisateur à déjà 'liker' ou non. ### Commentaires -Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il peut également supprimer les commentaires qu'il à écrit. \ No newline at end of file +Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il peut également supprimer les commentaires qu'il à écrit. + + + +# Diagramme de séquence +plantuml``` +@startuml +actor User +participant "User Interface" as UI +participant Application +participant Pack +participant Carte + +User -> UI: Sélectionne une carte/pack à liker +UI -> Application: Demande de like pour la carte/pack sélectionné(e) +Application -> Pack: Vérifie si l'utilisateur a déjà liké le pack +alt Pack déjà liké par l'utilisateur + Application --> UI: Affiche un message indiquant que le pack a déjà été liké +else + Application -> Carte: Vérifie si l'utilisateur a déjà liké la carte + alt Carte déjà likée par l'utilisateur + Application --> UI: Affiche un message indiquant que la carte a déjà été likée + else + Application -> Pack: Ajoute le like de l'utilisateur au pack + Pack --> Application: Confirme l'ajout du like au pack + Application -> Carte: Ajoute le like de l'utilisateur à la carte + Carte --> Application: Confirme l'ajout du like à la carte + Application --> UI: Affiche un message de succès pour le like effectué + end +end +@enduml +``` \ No newline at end of file From 719cdf90e7bb84303901b5839c10598c28531b1e Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:14:11 +0200 Subject: [PATCH 19/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bf73cc..e4c8965 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il p # Diagramme de séquence -plantuml``` +```plantuml @startuml actor User participant "User Interface" as UI From e1ba6c2596c6fb2b23e5e6d445dbbd259bce61fb Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:17:17 +0200 Subject: [PATCH 20/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e4c8965..14a999f 100644 --- a/README.md +++ b/README.md @@ -144,19 +144,23 @@ participant Carte User -> UI: Sélectionne une carte/pack à liker UI -> Application: Demande de like pour la carte/pack sélectionné(e) -Application -> Pack: Vérifie si l'utilisateur a déjà liké le pack -alt Pack déjà liké par l'utilisateur - Application --> UI: Affiche un message indiquant que le pack a déjà été liké -else +alt Sélection d'un pack + Application -> Pack: Vérifie si l'utilisateur a déjà liké le pack + alt Pack déjà liké par l'utilisateur + Application --> UI: Affiche un message indiquant que le pack a déjà été liké + else + Application -> Pack: Ajoute le like de l'utilisateur au pack + Pack --> Application: Confirme l'ajout du like au pack + Application --> UI: Affiche un message de succès pour le like du pack + end +else Sélection d'une carte Application -> Carte: Vérifie si l'utilisateur a déjà liké la carte alt Carte déjà likée par l'utilisateur Application --> UI: Affiche un message indiquant que la carte a déjà été likée else - Application -> Pack: Ajoute le like de l'utilisateur au pack - Pack --> Application: Confirme l'ajout du like au pack Application -> Carte: Ajoute le like de l'utilisateur à la carte Carte --> Application: Confirme l'ajout du like à la carte - Application --> UI: Affiche un message de succès pour le like effectué + Application --> UI: Affiche un message de succès pour le like de la carte end end @enduml From 75de8194cec9e82fac8248f61584977aad491823 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:20:53 +0200 Subject: [PATCH 21/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 14a999f..d4e0088 100644 --- a/README.md +++ b/README.md @@ -138,29 +138,29 @@ Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il p @startuml actor User participant "User Interface" as UI -participant Application +participant Model participant Pack participant Carte User -> UI: Sélectionne une carte/pack à liker -UI -> Application: Demande de like pour la carte/pack sélectionné(e) +UI -> Model: Demande de like pour la carte/pack sélectionné(e) alt Sélection d'un pack - Application -> Pack: Vérifie si l'utilisateur a déjà liké le pack + Model -> Pack: Vérifie si l'utilisateur a déjà liké le pack alt Pack déjà liké par l'utilisateur - Application --> UI: Affiche un message indiquant que le pack a déjà été liké + Model --> UI: Affiche un message indiquant que le pack a déjà été liké else - Application -> Pack: Ajoute le like de l'utilisateur au pack - Pack --> Application: Confirme l'ajout du like au pack - Application --> UI: Affiche un message de succès pour le like du pack + Model -> Pack: Ajoute le like de l'utilisateur au pack + Pack --> Model: Confirme l'ajout du like au pack + Model --> UI: Affiche un message de succès pour le like du pack end else Sélection d'une carte - Application -> Carte: Vérifie si l'utilisateur a déjà liké la carte + Model -> Carte: Vérifie si l'utilisateur a déjà liké la carte alt Carte déjà likée par l'utilisateur - Application --> UI: Affiche un message indiquant que la carte a déjà été likée + Model --> UI: Affiche un message indiquant que la carte a déjà été likée else - Application -> Carte: Ajoute le like de l'utilisateur à la carte - Carte --> Application: Confirme l'ajout du like à la carte - Application --> UI: Affiche un message de succès pour le like de la carte + Model -> Carte: Ajoute le like de l'utilisateur à la carte + Carte --> Model: Confirme l'ajout du like à la carte + Model --> UI: Affiche un message de succès pour le like de la carte end end @enduml From 5ac25796834f7c1cb98019389533ee5192d8b083 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:22:42 +0200 Subject: [PATCH 22/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4e0088..575102a 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ else Sélection d'une carte Carte --> Model: Confirme l'ajout du like à la carte Model --> UI: Affiche un message de succès pour le like de la carte end + UI -> User : Affichage d'un coeur indiquant que la carte a déjà été likée end @enduml ``` \ No newline at end of file From 8d22dbf5a3568e9535bf875ed420b2622d93ac68 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:23:02 +0200 Subject: [PATCH 23/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 575102a..b226b3b 100644 --- a/README.md +++ b/README.md @@ -162,7 +162,7 @@ else Sélection d'une carte Carte --> Model: Confirme l'ajout du like à la carte Model --> UI: Affiche un message de succès pour le like de la carte end - UI -> User : Affichage d'un coeur indiquant que la carte a déjà été likée end +UI -> User : Affichage d'un coeur indiquant que la carte a déjà été likée @enduml ``` \ No newline at end of file From c19ef346badca75dc2b6b4371def43c6219ca0b4 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:40:15 +0200 Subject: [PATCH 24/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index b226b3b..5b93272 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,31 @@ +# Diagramme de paquetage - Jeu de cartes Loup garou + +![Jeu de carte Loup garou](https://media.discordapp.net/attachments/447796473938182155/1114895744202182666/Packtage_diagram.drawio_2.png?width=843&height=676) + +Le diagramme de paquetage comprend trois projets dans la solution : + +## Projet "Tests" + +Ce projet contient les tests unitaires qui se concentrent sur le code de la partie modèle. Les tests dépendent du projet "Model" pour vérifier le comportement attendu des fonctionnalités du modèle. + +## Projet "Model" + +Ce projet contient les classes, les stubs, la sérialisation et la logique de l'application. Les données utilisées pour afficher les détails d'une carte sont initialisées dans les stubs du modèle. Les autres parties de l'application, y compris le projet "Views", dépendent du modèle pour accéder et afficher les données. + +À l'intérieur du projet "Model", les stubs utilisent l'injection de données de l'`IDataManager` contenu dans le dossier Manager. L'`IDataManager` fournit une interface pour accéder et gérer les données nécessaires pour le fonctionnement du modèle, il permet d'instancier un manager en utilisant soit un stub, soit l'xml. + +Le serializer permet l persistance des données qui sont sauvegardé dans des fichiers xml. + +Le projet "Model" comprend également la sérialisation, permettant de convertir les objets en une représentation sérialisée, telle que JSON ou XML, et inversement. Cela facilite le stockage et l'échange de données dans l'application. + +## Projet "MauiApp1" (ou "Views") + +Ce projet contient les vues de l'application. Les vues utilisent les données du modèle pour afficher les différentes pages, notamment la page de détails de la carte. Les vues dépendent du projet "Model" pour accéder aux données nécessaires à l'affichage. + +Les vues sont responsables de la présentation des données au sein de l'interface utilisateur de l'application. Elles utilisent les fonctionnalités fournies par le projet "Model" pour récupérer et afficher les informations pertinentes. Ainsi, les utilisateurs peuvent interagir avec l'application et visualiser les différentes pages et fonctionnalités proposées par le jeu de cartes Loup garou. + + + # Diagramme de classe ```plantuml From 746fa1a5e78e590784e726c7905830e478a54e4c Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:45:17 +0200 Subject: [PATCH 25/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b93272..f90da51 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ skinparam classBorderColor #800000 skinparam classArrowColor #800000 skinparam classFontColor #black skinparam classFontName Tahoma +class Commentaire #line:green;back:lightblue @enduml ``` From a5274c25fabaf542200de642997987e56f6ddd8a Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:48:20 +0200 Subject: [PATCH 26/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f90da51..ae69055 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Class Carte { - String strategies - int note - String lienImage - - List commentaires + -~ List commentaires - Set likes + void addCommentaire(User) + void removeCommentaire(User) From 84b11b5291996d41130757b842c8c9ce911bb277 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:50:03 +0200 Subject: [PATCH 27/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ae69055..f90da51 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Class Carte { - String strategies - int note - String lienImage - -~ List commentaires + - List commentaires - Set likes + void addCommentaire(User) + void removeCommentaire(User) From 38c2512c8f221ebbaa90e30919a25e878901ca04 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:53:01 +0200 Subject: [PATCH 28/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f90da51..864efd7 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ Class Commentaire { } Class Pack { + note "Les likes sont persistants" as N1 + String nom + String description + int note From ce225053a7e9082f20909742d3741b573630a0b2 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:54:58 +0200 Subject: [PATCH 29/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 864efd7..d681cf6 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,7 @@ Class Commentaire { + void removeLike(User) } -Class Pack { - note "Les likes sont persistants" as N1 +Class Pack note left of : "Les likes sont persistants" as N1 { + String nom + String description + int note From 40895f9734d303e0cb01dc9b2518e70389e0365d Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:55:19 +0200 Subject: [PATCH 30/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d681cf6..f90da51 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Class Commentaire { + void removeLike(User) } -Class Pack note left of : "Les likes sont persistants" as N1 { +Class Pack { + String nom + String description + int note From 37c6aac8a71a0fd50e25212aaea7c8089cf8676e Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 17:59:08 +0200 Subject: [PATCH 31/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index f90da51..fc1e583 100644 --- a/README.md +++ b/README.md @@ -53,24 +53,24 @@ Class Carte { } Class Commentaire { - + String contenu - + int signale - + int nblike - + int nbdislike - + Set likes + - String contenu + - int signale + - int nblike + - int nbdislike + - Set likes + bool hasLiked(User) + void addLike(User) + void removeLike(User) } Class Pack { - + String nom - + String description - + int note - + String lienImage - + Set cartes - + List commentaires - + Set likes + - String nom + - String description + - int note + - String lienImage + - Set cartes + - List commentaires + - Set likes + void addCommentaire(User) + void removeCommentaire(User) + bool hasLiked(User) @@ -79,10 +79,10 @@ Class Pack { } Class Camp { - + String nom - + String description - + String lienImage - + Set cartes + - String nom + - String description + - String lienImage + - Set cartes } User --> Pack From 284fda023e8940ec42207e98865dbba8a9beb474 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:01:11 +0200 Subject: [PATCH 32/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc1e583..7d85828 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ participant Model participant Pack participant Carte +autonumber User -> UI: Sélectionne une carte/pack à liker UI -> Model: Demande de like pour la carte/pack sélectionné(e) alt Sélection d'un pack From aae8fdb925a342dcd6468adafcc4ccde4badecc8 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:01:43 +0200 Subject: [PATCH 33/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d85828..defd28d 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,7 @@ alt Sélection d'un pack Model --> UI: Affiche un message de succès pour le like du pack end else Sélection d'une carte + autonumber 3 Model -> Carte: Vérifie si l'utilisateur a déjà liké la carte alt Carte déjà likée par l'utilisateur Model --> UI: Affiche un message indiquant que la carte a déjà été likée From d2715add1303baa45d4baa16acba567980bebbd6 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:02:36 +0200 Subject: [PATCH 34/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index defd28d..efe2ae0 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,7 @@ alt Sélection d'un pack alt Pack déjà liké par l'utilisateur Model --> UI: Affiche un message indiquant que le pack a déjà été liké else + autonumber 4 Model -> Pack: Ajoute le like de l'utilisateur au pack Pack --> Model: Confirme l'ajout du like au pack Model --> UI: Affiche un message de succès pour le like du pack @@ -189,6 +190,7 @@ else Sélection d'une carte alt Carte déjà likée par l'utilisateur Model --> UI: Affiche un message indiquant que la carte a déjà été likée else + autonumber 4 Model -> Carte: Ajoute le like de l'utilisateur à la carte Carte --> Model: Confirme l'ajout du like à la carte Model --> UI: Affiche un message de succès pour le like de la carte From 2fa960a251f53aa9771987ae07752b89e8c0ee60 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:17:44 +0200 Subject: [PATCH 35/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index efe2ae0..69caf45 100644 --- a/README.md +++ b/README.md @@ -198,4 +198,12 @@ else Sélection d'une carte end UI -> User : Affichage d'un coeur indiquant que la carte a déjà été likée @enduml -``` \ No newline at end of file +``` + +Lorsque l'utilisateur interagit est sur la page d'une carte ou d'un pack, il a la possibilité d'exprimer son appréciation en likant. + +Si l'utilisateur choisit un pack, le modèle commence par vérifier si l'utilisateur l'a déjà liké. Si c'est le cas, le modèle informe l'interface utilisateur que le pack a déjà été liké. Dans le cas contraire, le modèle enregistre le like de l'utilisateur pour le pack sélectionné. Une confirmation est échangée entre le pack et le modèle afin de valider l'ajout du like, suivi de l'envoi d'un message de succès à l'interface utilisateur pour lui indiquer que le like du pack a été enregistré avec succès. + +Dans le cas où l'utilisateur sélectionne une carte, le processus est similaire. + +Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur affiche un symbole de cœur pour indiquer que la carte ou le pack a été liké. From 6c5906109040543b471e3787083de116ff319379 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:40:42 +0200 Subject: [PATCH 36/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 69caf45..e744a82 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,6 @@ Les vues sont responsables de la présentation des données au sein de l'interfa ```plantuml @startuml - Class User { - String pseudo - String mot_de_passe @@ -85,6 +84,14 @@ Class Camp { - Set cartes } +Class Manager { + + Carte addCarte(Carte c) + + Carte removeCarte(Carte c) + + List getCartes(Carte c) + + LoadData() + + SaveData() +} + User --> Pack User --> Carte User --> Commentaire @@ -93,6 +100,9 @@ Commentaire *--> Carte Pack --|> Carte Camp --|> Carte +Manager --> Carte +Manager --> Pack +Manager --> User hide circle allowmixing skinparam classAttributeIconSize 0 @@ -102,7 +112,6 @@ skinparam classArrowColor #800000 skinparam classFontColor #black skinparam classFontName Tahoma class Commentaire #line:green;back:lightblue - @enduml ``` Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. From 9a063c84d45d49ed62419551bf49b16fbf6f258e Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:46:31 +0200 Subject: [PATCH 37/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e744a82..8eec4de 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Les vues sont responsables de la présentation des données au sein de l'interfa # Diagramme de classe ```plantuml -@startuml +@@startuml Class User { - String pseudo - String mot_de_passe @@ -85,9 +85,15 @@ Class Camp { } Class Manager { + .. Methodes Cartes .. + Carte addCarte(Carte c) + Carte removeCarte(Carte c) + List getCartes(Carte c) + .. Methodes Cartes .. + + Pack addPack(Pack p) + + Pack removePack(Pack p) + + List getPack(Pack p) + .. Gestion Persistance .. + LoadData() + SaveData() } From 31e229a72ab14e5fe95f22a73af9675bc5fb50b4 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 18:47:00 +0200 Subject: [PATCH 38/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8eec4de..4edcf1e 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Les vues sont responsables de la présentation des données au sein de l'interfa # Diagramme de classe ```plantuml -@@startuml +@startuml Class User { - String pseudo - String mot_de_passe From 6e89733411466f7569edef9fee0a84a1c6ae11a6 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 19:17:57 +0200 Subject: [PATCH 39/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 4edcf1e..457ce50 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,41 @@ Les vues sont responsables de la présentation des données au sein de l'interfa ```plantuml @startuml +@startuml +Class IdataManager { + .. Gestion Persistance .. + + IEnumerable loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List Cartes + - ReadOnlyObservableCollection Packs + - ReadOnlyObservableCollection User + .. Methodes Cartes .. + + Carte addCarte(Carte c) + + Carte removeCarte(Carte c) + + List getCartes(Carte c) + .. Methodes Pack .. + + Pack addPack(Pack p) + + Pack removePack(Pack p) + + List getPack(Pack p) + .. Methodes User .. + + User addUser(User u) + + User removePack(Pack p) + + List getUser(User u) + .. Gestion Persistance .. + + IEnumerable loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List cartes } -Class Manager { - .. Methodes Cartes .. - + Carte addCarte(Carte c) - + Carte removeCarte(Carte c) - + List getCartes(Carte c) - .. Methodes Cartes .. - + Pack addPack(Pack p) - + Pack removePack(Pack p) - + List getPack(Pack p) - .. Gestion Persistance .. - + LoadData() - + SaveData() +User --> Pack +User --> Carte +User --> Commentaire +Commentaire *--> Pack +Commentaire *--> Carte +Pack --|> Carte +Camp --|> Carte + +Manager --> Carte +Manager --> Pack +Manager --> User +Manager ..> IdataManager +hide circle +allowmixing +skinparam classAttributeIconSize 0 +skinparam classBackgroundColor #ffffb9 +skinparam classBorderColor #800000 +skinparam classArrowColor #800000 +skinparam classFontColor #black +skinparam classFontName Tahoma +class Commentaire #line:green;back:lightblue +@enduml } User --> Pack From ba50a7637516707d69e33d475c5ffe621828a7d1 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 19:18:12 +0200 Subject: [PATCH 40/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 457ce50..9665ac5 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,6 @@ Les vues sont responsables de la présentation des données au sein de l'interfa ```plantuml @startuml -@startuml Class IdataManager { .. Gestion Persistance .. + IEnumerable loadCarte() From 195282e2d6120c29a46c114aac0156f21e3e5e14 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 19:18:52 +0200 Subject: [PATCH 41/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/README.md b/README.md index 9665ac5..f688378 100644 --- a/README.md +++ b/README.md @@ -140,29 +140,6 @@ skinparam classFontColor #black skinparam classFontName Tahoma class Commentaire #line:green;back:lightblue @enduml -} - -User --> Pack -User --> Carte -User --> Commentaire -Commentaire *--> Pack -Commentaire *--> Carte -Pack --|> Carte -Camp --|> Carte - -Manager --> Carte -Manager --> Pack -Manager --> User -hide circle -allowmixing -skinparam classAttributeIconSize 0 -skinparam classBackgroundColor #ffffb9 -skinparam classBorderColor #800000 -skinparam classArrowColor #800000 -skinparam classFontColor #black -skinparam classFontName Tahoma -class Commentaire #line:green;back:lightblue -@enduml ``` Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. From ada63dbfe6a7188df5e0401767cde2eb01773010 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 19:24:17 +0200 Subject: [PATCH 42/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f688378..240111c 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ Camp --|> Carte Manager --> Carte Manager --> Pack Manager --> User -Manager ..> IdataManager +Manager ..|> IdataManager hide circle allowmixing skinparam classAttributeIconSize 0 From 5025293e328d2c72d670903b267a7c1f3d9e1ead Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:17:10 +0200 Subject: [PATCH 43/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 112 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 90 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 240111c..d3efebd 100644 --- a/README.md +++ b/README.md @@ -147,35 +147,104 @@ Voici le diagramme de classe général représentant les classes et leurs attrib ```plantuml @startuml - -Class User { +Class stubCarte { + -List lCarte + - IEnumerable CreateCartes() + + List getCartes() } - -Class Carte { - - List commentaires - - Set likes +Class stubPack{ + -List lPack + - IEnumerable CreatePack()} + + List getPack() } - -Class Commentaire { - + Set likes +Class stubCommentaire{ + -List lCommentaire + - IEnumerable CreateCommentaire() + + List getCommentaires() } - -Class Pack { - + List commentaires - + Set likes +Class stubCamp{ + -List lCamp + - IEnumerable CreateCartes() + + List getCartes() +} +Class stubUser{ + -List lUser + - IEnumerable CreateUsers() + + List getUsers() +} +Class stubManager { + .. Gestion Persistance .. + + IEnumerable loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List getCartes() + + IEnumerable getCommentaires() + + IEnumerable getCamps() + + IEnumerable getUsers() + + IEnumerable getPack() +} +Class xmlSerializer{ + .. Gestion Persistance .. + + IEnumerable loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List Pack -User --> Carte -User --> Commentaire -Commentaire *--> Pack -Commentaire *--> Carte -Pack --|> Carte -Camp --|> Carte +Class Manager { + - ReadOnlyObservableCollection Cartes + - ReadOnlyObservableCollection Packs + - ReadOnlyObservableCollection User + .. Methodes Cartes .. + + Carte addCarte(Carte c) + + Carte removeCarte(Carte c) + + List getCartes(Carte c) + .. Methodes Pack .. + + Pack addPack(Pack p) + + Pack removePack(Pack p) + + List getPack(Pack p) + .. Methodes User .. + + User addUser(User u) + + User removePack(Pack p) + + List getUser(User u) + .. Gestion Persistance .. + + IEnumerable loadCarte() + + void saveCarte(List) + + IEnumerable loadPack() + + void savePack(List) + + IEnumerable loadUser() + + void saveUser(List Carte +Manager --> Pack +Manager --> User +Manager o-- IdataManager : iDatamanager (Injection de données) +xmlSerializer ..|> IdataManager +stubManager ..|> IdataManager hide circle allowmixing skinparam classAttributeIconSize 0 @@ -184,7 +253,6 @@ skinparam classBorderColor #800000 skinparam classArrowColor #800000 skinparam classFontColor #black skinparam classFontName Tahoma - @enduml ``` From e7472de22212c44ffb22211ef72823b143089fd0 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:29:27 +0200 Subject: [PATCH 44/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d3efebd..7157673 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ Class Carte { } Class Commentaire { + - User auteur - String contenu - int signale - int nblike @@ -129,7 +130,7 @@ Camp --|> Carte Manager --> Carte Manager --> Pack Manager --> User -Manager ..|> IdataManager +Manager o-- IdataManager : IDataManager (Injection de dépendances) hide circle allowmixing skinparam classAttributeIconSize 0 @@ -142,6 +143,19 @@ class Commentaire #line:green;back:lightblue @enduml ``` Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. +__IDataManager__ est une interface qui définit les méthodes pour la gestion de la persistance des données. Elle propose des méthodes pour charger et enregistrer des listes de cartes, de packs et d'utilisateurs. + +__Manager__ est une classe concrète qui implémente l'interface IDataManager. Elle est responsable de la gestion des collections de cartes, de packs et d'utilisateurs. Elle contient également des méthodes spécifiques pour chaque type d'objet, telles que l'ajout, la suppression et l'obtention de cartes, de packs et d'utilisateurs. + +__User__ représente un utilisateur de notre application. Il est capable d'ecrire des commentaires sur les cartes et les packs de jeu. + +__Carte__ représente une carte du jeu. Elle contient des attributs tels que le nom, la description, le pouvoir, les stratégies, la note, le lien vers l'image, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé cette carte. Elle possède également des méthodes pour gérer les commentaires et les likes. + +__Commentaire__ représente un commentaire sur une carte ou un pack. Il contient des attributs tels que l'auteur, le contenu, le nombre de signalements, le nombre de likes et de dislikes, ainsi qu'un ensemble d'utilisateurs qui ont aimé ce commentaire. Il possède des méthodes pour gérer les likes. + +__Pack__ représente un pack de cartes dans le système. Il contient des attributs tels que le nom, la description, la note, le lien vers l'image, un ensemble de cartes, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé ce pack. Il possède également des méthodes pour gérer les commentaires et les likes. + +__Camp__ représente un camp de cartes tel que Loup-Garou, Villageois ou encore Solo. Il contient des attributs tels que le nom, la description, le lien vers l'image et un ensemble de cartes. Un camp est une relation d'association entre des cartes. # Diagramme de classe pour la persistance From 90d4781e29ad16884b301630d144772427410e8f Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:31:15 +0200 Subject: [PATCH 45/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7157673..9c55dae 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,6 @@ Class Carte { } Class Commentaire { - - User auteur - String contenu - int signale - int nblike @@ -121,7 +120,7 @@ Class Camp { User --> Pack User --> Carte -User --> Commentaire +User --o Commentaire : auteur Commentaire *--> Pack Commentaire *--> Carte Pack --|> Carte From 369e282f54dc34bfe278221ad890bc70774b646a Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:31:38 +0200 Subject: [PATCH 46/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c55dae..ecd10fb 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ Camp --|> Carte Manager --> Carte Manager --> Pack Manager --> User -Manager o-- IdataManager : IDataManager (Injection de dépendances) +Manager <|-- IdataManager : IDataManager (Injection de dépendances) hide circle allowmixing skinparam classAttributeIconSize 0 From fa252c7eda224e666da60f10f62f8c07a26e07b6 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:32:29 +0200 Subject: [PATCH 47/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ecd10fb..28a4286 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ Class Camp { User --> Pack User --> Carte -User --o Commentaire : auteur +User --|> Commentaire : auteur Commentaire *--> Pack Commentaire *--> Carte Pack --|> Carte From 0562fa502bf746941642c974cdd2c286633921dc Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:32:58 +0200 Subject: [PATCH 48/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 28a4286..fb6924a 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ Class Camp { User --> Pack User --> Carte -User --|> Commentaire : auteur +User --* Commentaire : auteur Commentaire *--> Pack Commentaire *--> Carte Pack --|> Carte From 7acec3d696e8904914f83017927cf0c35e9e5114 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:41:46 +0200 Subject: [PATCH 49/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fb6924a..77f8f61 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,6 @@ Class Carte { - String strategies - int note - String lienImage - - List commentaires - Set likes + void addCommentaire(User) + void removeCommentaire(User) @@ -102,7 +101,6 @@ Class Pack { - int note - String lienImage - Set cartes - - List commentaires - Set likes + void addCommentaire(User) + void removeCommentaire(User) @@ -121,8 +119,8 @@ Class Camp { User --> Pack User --> Carte User --* Commentaire : auteur -Commentaire *--> Pack -Commentaire *--> Carte +Commentaire <-- Pack : List lCommentaire +Commentaire <-- Carte : List lCommentaire Pack --|> Carte Camp --|> Carte From 21ce350cbd8eb8ca4a9f2a344de7faf4037e2b04 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:43:52 +0200 Subject: [PATCH 50/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77f8f61..9091570 100644 --- a/README.md +++ b/README.md @@ -119,8 +119,8 @@ Class Camp { User --> Pack User --> Carte User --* Commentaire : auteur -Commentaire <-- Pack : List lCommentaire -Commentaire <-- Carte : List lCommentaire +Commentaire <-- Pack : List lCommentaires +Commentaire <-- Carte : List lCommentaires Pack --|> Carte Camp --|> Carte From ab470a0a5685723bbdaba24b9143f629c1cbd769 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:47:07 +0200 Subject: [PATCH 51/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9091570..9f77bc8 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ Camp --|> Carte Manager --> Carte Manager --> Pack Manager --> User -Manager <|-- IdataManager : IDataManager (Injection de dépendances) +Manager o-- IdataManager : IDataManager (Injection de dépendances) hide circle allowmixing skinparam classAttributeIconSize 0 @@ -253,7 +253,7 @@ stubManager o-- stubCommentaire : -stubCommentaire Manager --> Carte Manager --> Pack Manager --> User -Manager o-- IdataManager : iDatamanager (Injection de données) +Manager o-- IdataManager : iDatamanager (Injection de dépendance) xmlSerializer ..|> IdataManager stubManager ..|> IdataManager hide circle From 7856c0bf0f10bcccfe7fa8b9c211d36ae6170728 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 20:53:17 +0200 Subject: [PATCH 52/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9f77bc8..82db1ad 100644 --- a/README.md +++ b/README.md @@ -139,21 +139,34 @@ skinparam classFontName Tahoma class Commentaire #line:green;back:lightblue @enduml ``` + Voici le diagramme de classe général représentant les classes et leurs attributs. Il faut noter que nous avons utiliser les propriété a la place des attributs afin de définir des règles de lecture et d'écriture directement. __IDataManager__ est une interface qui définit les méthodes pour la gestion de la persistance des données. Elle propose des méthodes pour charger et enregistrer des listes de cartes, de packs et d'utilisateurs. +### Manager __Manager__ est une classe concrète qui implémente l'interface IDataManager. Elle est responsable de la gestion des collections de cartes, de packs et d'utilisateurs. Elle contient également des méthodes spécifiques pour chaque type d'objet, telles que l'ajout, la suppression et l'obtention de cartes, de packs et d'utilisateurs. +### User __User__ représente un utilisateur de notre application. Il est capable d'ecrire des commentaires sur les cartes et les packs de jeu. +### Carte __Carte__ représente une carte du jeu. Elle contient des attributs tels que le nom, la description, le pouvoir, les stratégies, la note, le lien vers l'image, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé cette carte. Elle possède également des méthodes pour gérer les commentaires et les likes. +### Commentaire __Commentaire__ représente un commentaire sur une carte ou un pack. Il contient des attributs tels que l'auteur, le contenu, le nombre de signalements, le nombre de likes et de dislikes, ainsi qu'un ensemble d'utilisateurs qui ont aimé ce commentaire. Il possède des méthodes pour gérer les likes. +### Pack __Pack__ représente un pack de cartes dans le système. Il contient des attributs tels que le nom, la description, la note, le lien vers l'image, un ensemble de cartes, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé ce pack. Il possède également des méthodes pour gérer les commentaires et les likes. +### Camp __Camp__ représente un camp de cartes tel que Loup-Garou, Villageois ou encore Solo. Il contient des attributs tels que le nom, la description, le lien vers l'image et un ensemble de cartes. Un camp est une relation d'association entre des cartes. +### Likes +Chaque utilisateur ne peut 'liker' qu'une fois une carte/pack, on utilise donc un set pour avoir des clés uniques, évitant les doublant. Le set nous permet également d'effectuer des opération de recherche plus rapidement pour verifier si un utilisateur à déjà 'liker' ou non. + +### Commentaires +Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il peut également supprimer les commentaires qu'il à écrit. + # Diagramme de classe pour la persistance ```plantuml @@ -267,14 +280,8 @@ skinparam classFontName Tahoma @enduml ``` -es seules données pouvant être modifiées dans le modèle Master-Detail sont les _commentaires_ et les _likes_ des __packs__ et des __cartes__. Ainsi, ce sont les seules données qui sont enregistrées à chaque modification, ajout ou suppression. - -### Likes -Chaque utilisateur ne peut 'liker' qu'une fois une carte/pack, on utilise donc un set pour avoir des clés uniques, évitant les doublant. Le set nous permet également d'effectuer des opération de recherche plus rapidement pour verifier si un utilisateur à déjà 'liker' ou non. - -### Commentaires -Chaque utilisateur peut commenter autant de fois qu'il veut une carte/pack, il peut également supprimer les commentaires qu'il à écrit. - +Les seules données pouvant être modifiées dans le modèle Master-Detail sont les _commentaires_ et les _likes_ des __packs__ et des __cartes__. Ainsi, ce sont les seules données qui sont enregistrées à chaque modification, ajout ou suppression. +Cependant, nous devons charger une premiere fois toutes les données au moins une fois pour avoir notre Mastre-Details. # Diagramme de séquence From 6fe4328808fa696a57287524da9b44e2078f6753 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 21:01:37 +0200 Subject: [PATCH 53/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 82db1ad..f72a08f 100644 --- a/README.md +++ b/README.md @@ -329,3 +329,6 @@ Si l'utilisateur choisit un pack, le modèle commence par vérifier si l'utilisa Dans le cas où l'utilisateur sélectionne une carte, le processus est similaire. Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur affiche un symbole de cœur pour indiquer que la carte ou le pack a été liké. + + +![architecture](https://media.discordapp.net/attachments/1033984888946315296/1114991997896380548/Diagramme_sans_nom.drawio.png) \ No newline at end of file From a1baad0746782cec59bd5cda9c7860e78fde20a4 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 21:06:59 +0200 Subject: [PATCH 54/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f72a08f..938d7fa 100644 --- a/README.md +++ b/README.md @@ -330,5 +330,5 @@ Dans le cas où l'utilisateur sélectionne une carte, le processus est similaire Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur affiche un symbole de cœur pour indiquer que la carte ou le pack a été liké. - +# Voici un diagramme représentant l'architecture d'un projet .NET MAUI ![architecture](https://media.discordapp.net/attachments/1033984888946315296/1114991997896380548/Diagramme_sans_nom.drawio.png) \ No newline at end of file From 6ed26481a27748c8c647eefc0d2852135b7063cf Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 21:17:05 +0200 Subject: [PATCH 55/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 938d7fa..2ead23d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Diagramme de paquetage - Jeu de cartes Loup garou -![Jeu de carte Loup garou](https://media.discordapp.net/attachments/447796473938182155/1114895744202182666/Packtage_diagram.drawio_2.png?width=843&height=676) +![Jeu de carte Loup garou](https://media.discordapp.net/attachments/447796473938182155/1114996189654429706/Packtage_diagram.drawio_3.png?width=842&height=676) Le diagramme de paquetage comprend trois projets dans la solution : From 49612901ff8085fe3e1aa0e8a2d93176863bc515 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 21:18:07 +0200 Subject: [PATCH 56/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ead23d..8453725 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Diagramme de paquetage - Jeu de cartes Loup garou -![Jeu de carte Loup garou](https://media.discordapp.net/attachments/447796473938182155/1114996189654429706/Packtage_diagram.drawio_3.png?width=842&height=676) +![Jeu de carte Loup garou](https://media.discordapp.net/attachments/447796473938182155/1114996448262623334/Packtage_diagram.drawio_4.png?width=842&height=676) Le diagramme de paquetage comprend trois projets dans la solution : From 55de58e9d872c4296f8d0590180cc15de02a378e Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 21:32:41 +0200 Subject: [PATCH 57/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8453725..4a6e2e2 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,9 @@ Ce projet contient les tests unitaires qui se concentrent sur le code de la part Ce projet contient les classes, les stubs, la sérialisation et la logique de l'application. Les données utilisées pour afficher les détails d'une carte sont initialisées dans les stubs du modèle. Les autres parties de l'application, y compris le projet "Views", dépendent du modèle pour accéder et afficher les données. -À l'intérieur du projet "Model", les stubs utilisent l'injection de données de l'`IDataManager` contenu dans le dossier Manager. L'`IDataManager` fournit une interface pour accéder et gérer les données nécessaires pour le fonctionnement du modèle, il permet d'instancier un manager en utilisant soit un stub, soit l'xml. +Dans Classes L'`IDataManager` fournit une interface pour accéder et gérer les données nécessaires pour le fonctionnement du modèle, il permet d'instancier un manager en utilisant soit un stub, soit l'xml, c'est l'injection de dépendance. -Le serializer permet l persistance des données qui sont sauvegardé dans des fichiers xml. - -Le projet "Model" comprend également la sérialisation, permettant de convertir les objets en une représentation sérialisée, telle que JSON ou XML, et inversement. Cela facilite le stockage et l'échange de données dans l'application. +Le projet "Model" comprend également la sérialisation, permettant de convertir les objets en une représentation sérialisée, en XML, et inversement. Cela facilite le stockage et l'échange de données dans l'application. ## Projet "MauiApp1" (ou "Views") @@ -70,6 +68,7 @@ Class User { } Class Carte { + + event INotiFyPropertyChanged PropertyChanged - String nom - String description - String pouvoir @@ -85,6 +84,7 @@ Class Carte { } Class Commentaire { + + event INotiFyPropertyChanged PropertyChanged - String contenu - int signale - int nblike @@ -96,6 +96,7 @@ Class Commentaire { } Class Pack { + + event INotiFyPropertyChanged PropertyChanged - String nom - String description - int note @@ -151,12 +152,15 @@ __User__ représente un utilisateur de notre application. Il est capable d'ecrir ### Carte __Carte__ représente une carte du jeu. Elle contient des attributs tels que le nom, la description, le pouvoir, les stratégies, la note, le lien vers l'image, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé cette carte. Elle possède également des méthodes pour gérer les commentaires et les likes. +On utilise INotiFyPropertyChanged pour que la liste des commentaires affichés soit mit a jour apres modification. ### Commentaire __Commentaire__ représente un commentaire sur une carte ou un pack. Il contient des attributs tels que l'auteur, le contenu, le nombre de signalements, le nombre de likes et de dislikes, ainsi qu'un ensemble d'utilisateurs qui ont aimé ce commentaire. Il possède des méthodes pour gérer les likes. +On utilise INotiFyPropertyChanged pour modifier les commentaires sur la vue si ils sont modifiés. ### Pack __Pack__ représente un pack de cartes dans le système. Il contient des attributs tels que le nom, la description, la note, le lien vers l'image, un ensemble de cartes, une liste de commentaires et un ensemble d'utilisateurs qui ont aimé ce pack. Il possède également des méthodes pour gérer les commentaires et les likes. +On utilise INotiFyPropertyChanged pour que la liste des commentaires affichés soit mit a jour apres modification. ### Camp __Camp__ représente un camp de cartes tel que Loup-Garou, Villageois ou encore Solo. Il contient des attributs tels que le nom, la description, le lien vers l'image et un ensemble de cartes. Un camp est une relation d'association entre des cartes. From ea1b9d6d27ea8a4f3833d93abffe08665b4effcd Mon Sep 17 00:00:00 2001 From: Leon ENAULT Date: Sun, 4 Jun 2023 22:52:53 +0200 Subject: [PATCH 58/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a6e2e2..d9dbf63 100644 --- a/README.md +++ b/README.md @@ -335,4 +335,6 @@ Dans le cas où l'utilisateur sélectionne une carte, le processus est similaire Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur affiche un symbole de cœur pour indiquer que la carte ou le pack a été liké. # Voici un diagramme représentant l'architecture d'un projet .NET MAUI -![architecture](https://media.discordapp.net/attachments/1033984888946315296/1114991997896380548/Diagramme_sans_nom.drawio.png) \ No newline at end of file +![architecture](https://media.discordapp.net/attachments/1033984888946315296/1114991997896380548/Diagramme_sans_nom.drawio.png) +Le code sera déployé et fonctionnel sur IOS et Android. La documentation du code, quand à elle, se fait en utilisant doxygen. +Le code en lui-même est dévelopé en utilisant l'outil Drone. Enfin, La sérialisation est réalisée en utilisant XML et enregistrée dans un fichier json. From 99a18f0449db30e4f3a8bdee12c4c4b9a248057d Mon Sep 17 00:00:00 2001 From: Leon ENAULT Date: Sun, 4 Jun 2023 22:56:12 +0200 Subject: [PATCH 59/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9dbf63..9dc76a1 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,6 @@ Dans le cas où l'utilisateur sélectionne une carte, le processus est similaire Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur affiche un symbole de cœur pour indiquer que la carte ou le pack a été liké. # Voici un diagramme représentant l'architecture d'un projet .NET MAUI -![architecture](https://media.discordapp.net/attachments/1033984888946315296/1114991997896380548/Diagramme_sans_nom.drawio.png) +![architecture](https://cdn.discordapp.com/attachments/1092005835112198224/1115021122514198588/Diagramme_sans_nom.drawio_1.png) Le code sera déployé et fonctionnel sur IOS et Android. La documentation du code, quand à elle, se fait en utilisant doxygen. Le code en lui-même est dévelopé en utilisant l'outil Drone. Enfin, La sérialisation est réalisée en utilisant XML et enregistrée dans un fichier json. From b54c62c239d7718267385b8f255686f95971ad11 Mon Sep 17 00:00:00 2001 From: Leon ENAULT Date: Sun, 4 Jun 2023 22:56:32 +0200 Subject: [PATCH 60/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9dc76a1..3ed36f0 100644 --- a/README.md +++ b/README.md @@ -336,5 +336,6 @@ Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur # Voici un diagramme représentant l'architecture d'un projet .NET MAUI ![architecture](https://cdn.discordapp.com/attachments/1092005835112198224/1115021122514198588/Diagramme_sans_nom.drawio_1.png) + Le code sera déployé et fonctionnel sur IOS et Android. La documentation du code, quand à elle, se fait en utilisant doxygen. Le code en lui-même est dévelopé en utilisant l'outil Drone. Enfin, La sérialisation est réalisée en utilisant XML et enregistrée dans un fichier json. From d2a4482d2ed89a0934e3e69b0e44a2b80dd34490 Mon Sep 17 00:00:00 2001 From: Loris OBRY Date: Sun, 4 Jun 2023 23:26:42 +0200 Subject: [PATCH 61/61] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ed36f0..cb2c25a 100644 --- a/README.md +++ b/README.md @@ -338,4 +338,4 @@ Enfin, pour offrir une visualisation de l'état du like, l'interface utilisateur ![architecture](https://cdn.discordapp.com/attachments/1092005835112198224/1115021122514198588/Diagramme_sans_nom.drawio_1.png) Le code sera déployé et fonctionnel sur IOS et Android. La documentation du code, quand à elle, se fait en utilisant doxygen. -Le code en lui-même est dévelopé en utilisant l'outil Drone. Enfin, La sérialisation est réalisée en utilisant XML et enregistrée dans un fichier json. +Le projet en lui-même est dévelopé en utilisant l'outil Drone pour build, tester et publier le projet. Enfin, La sérialisation est réalisée en utilisant XML et enregistrée dans un fichier.xml.