Sommaire readme
continuous-integration/drone/push Build is passing Details

devGuillaume
Yoan 2 years ago
parent bc4b758ed0
commit f96e858b90

@ -1,4 +1,29 @@
# Diagramme de classe
# Ohara
Ohara est le nom d'une île dans le manga One Piece, écrit par Eiichiro Oda. Cette île abritait de nombreux archéologues qui cherchaient à déceler les mystères du monde. Nous avons choisi le nom Ohara pour notre projet lié à la SAE 2.01, car notre application représente une véritable encyclopédie rassemblant des informations sur One Piece. Avec des centaines de personnages, des dizaines d'îles et de nombreux arcs d'histoire, il peut être difficile de se souvenir de tous les détails. Notre application a été conçue pour aider les fans à accéder facilement à toutes les informations sur One Piece, en offrant une expérience utilisateur fluide et intuitive.
# Sommaire :
[Diagramme de classe](#classe)
[Diagramme de classe en mettant en avant la partie persistance ](#classePer)
[Diagramme de classe sur nos parties ajoutées](#ajoute)
[Diagramme de paquetage](#paquetage)
[Diagramme de paquetage avec persistance](#paquetagePer)
[Diagramme de séquence : "Serialization"](#serialization)
[Diagramme de séquence : "Mettre un objet en favoris"](#fav)
[Diagramme de séquence : "Créer un objet"](#objet)
[Diagramme d'architecture](#archi)
# Diagramme de classe <a id="classe"></a>
```plantuml
@startuml
@ -305,7 +330,7 @@ Il regroupe aussi :
Ce diagramme de classe représente la structure de notre application.
# Diagramme de classe en mettant en avant la partie persistance
# Diagramme de classe en mettant en avant la partie persistance <a id="classePer"></a>
```plantuml
@startuml
@ -422,7 +447,7 @@ Manager --> "+ DataManager" IDataManager
Concernant la persistance de l'application, elle est gérée par la classe XML_Serializer, cette dernière est instanciée en paramètre du constructeur de Manager au lancement de l'application. Elle comporte deux constructeurs un qui ne prend aucun paramètre sauvegardant les informations dans le dossier courrant de l'application et l'autre prenant en paramètre un chemin permettant de choisir où stocker les informations (Dans le cas de notre application les fichier son stocker dans le 'AppDataDirectory'). Au lancement de l'application le constructeur de la classe XML_Serializer est donc lancé et il va, si un fichiers .xml n'est pas présent ( il y a un fichier .xml par classe sauf la classe ObjetOhara), le créer à l'aide du StubManager et les méthodes SetPersonnage, SetBateau, etc... Sinon il ne fait rien car les fichiers sont déjà tous présent. Le manager va donc pouvoir ensuite utliser les différentes méthodes get du XML_Serializer pour récupérer les objets et les mettres dans ses collections (Fruits,Personnages,...). Enfin concernant la sauvegarde des informations, dès qu'un objet est modifié, créé ou supprimé à l'aide des méthodes du Manager, il va simplement rappeler la méthode Set de l'objet concerné ce qui est assez lourd mais fonctionnel.
# Diagramme de classes sur nos parties ajoutées
# Diagramme de classes sur nos parties ajoutées <a id="ajoute"></a>
```plantuml
@startuml
hide circle
@ -487,7 +512,7 @@ class ObjetOhara {
Notre application possède la fonctionnalité d'ajouter un objet à nos favoris, cette fonctionnalité permet à l'utilisateur de retrouver plus facilement des information qui l'interesse grâce à une page de l'application qui affiche directement tout les objets ajoutés en favori. Cette fonctionnalité est gérée par le manager à travers les méthodes: GetFavoris, qui permet de récupérer tout les objets ajoutés en favoris et de les renvoyer sous forme de liste et ModifierFav(Type de l'objet) qui permet d'ajouter ou d'enlever un favoris. Ces méthodes s'appuient sur la propriété EstFavori de type booléen de la classe mère de toute de nos classe ObjetOhara, si cette propriété est égale à true alors l'objet fait partie des favoris.
# Diagramme de paquetage
# Diagramme de paquetage <a id="paquetage"></a>
![logo](img/diagramme_paquetage.png)
@ -509,7 +534,7 @@ Dans le dossier Image on retrouve toutes les images concernant l'application (im
Dans le dossier Styles on retrouve les Styles de notre application.
# Diagramme de paquetage avec persistance
# Diagramme de paquetage avec persistance <a id="paquetagePer"></a>
![logo](img/diagramme_paquetage_persistance.png)
@ -521,7 +546,7 @@ dans notre application dans la partie "Description du diagramme de classe en met
# Diagramme de séquence
## Serialization
## Serialization <a id="serialization"></a>
```plantuml
@ -552,7 +577,7 @@ Tout d'abord, l'utilisateur démarre l'application MAUI, ensuite le Front s'occu
## Mettre un objet en favoris
## Mettre un objet en favoris <a id="fav"></a>
```plantuml
@startuml
@ -581,7 +606,7 @@ Serializer -> Files: Sauvegarde de l'information dans le fichier .xml
Pour approfondir, ce diagramme de séquence, lorsque un utilisatuer ajoute un objet en favoris, la méthode ModifierFav correspondant à l'objet modifie son attribut EstFavori pour le passer en true, ensuite lorsque un utilisateur souhaite afficher ses favoris, la vue fait un appel à la méthode GetFavoris du Manager qui renvoie une liste contenant tout les objets de chaque collection ayant EstFavori en true.
## Créer un objet
## Créer un objet <a id="objet"></a>
```plantuml
@startuml
@ -611,13 +636,13 @@ Serializer -> Files: Sauvegarde du nouvel objet dans le fichier .xml
Pour approfondir ce diagrammme, lorsqu'un utilisateur clique sur le bouton pour ajouter un objet, une page modal s'ouvre avec un formulaire permettant de définir les propriétés de l'objet ainsi que un bouton pour annuler et un autre pour confirmer qui fait appel à la méthode Add(Type de l'objet) du manager qui va ajouter l'objet à la collection qui lui correspond et faire un appel à la méthode Set(Type de l'objet) du serializer pour sauvergarder le nouvel objet.
# Diagramme d'architecture
# Diagramme d'architecture <a id="archi"></a>
![logo](img/diagramme_archi.png)
# Description du diagramme d'architecture
# Description du diagramme d'architecture
Nous avons donc notre application principale Ohara sous la solution ".sln" sous .NET 7 avec MAUI. A cela est relié la documentation réalisée grâce à Doxygen. Nous avons ensuite la serialization faites avec XML_serializer, nos crééons des fichiers ".xml" pour chaque classe de notre application (par exemple personnages.xml). Si jamais ce fichier existe déjà, il est écrasé par la méthode "set". Nous avons ensuite Drone et Sonar qui sont reliés à la CI et la CD de notre application et qui permettent de réaliser correctement la déploiement de notre application de part la détection d'erreurs, de duplication de code, etc...

Loading…
Cancel
Save