fix merge conflict dev-model in dev
continuous-integration/drone/push Build is failing Details

pull/28/head
Alexandre AGOSTINHO 2 years ago
commit ae62b8d82a

@ -4,6 +4,7 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Configurations>Debug;Release;CI</Configurations>
</PropertyGroup>
</Project>

@ -0,0 +1,60 @@
using System.Text;
namespace Model
{
public class Recipe
{
public uint Id { get; set; }
public string Title { get; set; }
public List<string> Ingredients { get; set; }
public string Preparation { get; set; }
/// <summary>
/// Constructor of a Recipe.
/// </summary>
/// <param name="id">Identificator</param>
/// <param name="title">The name of the recipe</param>
/// <param name="ingredients">A list of ingredient needed by the preparation</param>
/// <param name="preparation">The text that explain the preparation of the recipe</param>
public Recipe(uint id, string title, List<string> ingredients, string preparation)
{
Id = id;
Title = title;
Ingredients = ingredients;
Preparation = preparation;
}
/// <summary>
/// Concatenate the list of ingredients in a single string
/// </summary>
/// <returns>The list of ingredients in string format</returns>
private string ConcatIngredients()
{
StringBuilder sb = new StringBuilder();
foreach (string str in Ingredients) sb.Append("\t- " + str + "\n");
return sb.ToString();
}
/// <summary>
/// Build a string with all elements (title, ingredients, preparation, ...)
/// </summary>
/// <returns>A string that represent the recipe</returns>
public override string ToString()
{
return $"{Title} -- id:{Id}\n\n"
+ "List of ingredient:\n"
+ ConcatIngredients() + "\n\n"
+ "Preparation:\n"
+ $"{Preparation}\n";
}
/// <summary>
/// Display the recipe in the console
/// </summary>
public void Display()
{
Console.WriteLine(this.ToString());
}
}
}

@ -134,7 +134,6 @@ namespace Model
public virtual bool Equals(RecipeCollection? other)
{
if (other == null) return false;
if (other == this) return true;
return _description.Equals(other.Description) && _recipes.Equals(other._recipes);

@ -1,14 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<Configurations>Debug;Release;CI</Configurations>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
@ -21,9 +19,7 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Model\Model.csproj" />
</ItemGroup>
</Project>
</Project>

@ -0,0 +1,58 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net7.0-android</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-windows10.0.19041.0</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('ios'))">$(TargetFrameworks);net7.0-ios</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('maccatalyst'))">$(TargetFrameworks);net7.0-maccatalyst</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net7.0-tizen</TargetFrameworks> -->
<OutputType>Exe</OutputType>
<RootNamespace>Views</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Display name -->
<ApplicationTitle>Views</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.companyname.views</ApplicationId>
<ApplicationIdGuid>79cbc22d-7cee-47b2-af9f-b25e09cea0af</ApplicationIdGuid>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">11.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">13.1</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
<Configurations>Debug;Release;CI</Configurations>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<MauiImage Update="Resources\Images\dotnet_bot.svg" BaseSize="168,208" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
</ItemGroup>
</Project>

@ -0,0 +1,206 @@
*Rappel :*
* ne rendez que des documents pdf, contenant lintégralité des schémas, diagrammes, descriptions aussi bien pour la SAÉ que pour les 2 ressources,
* ne rendez quune seule solution faites de plusieurs projets et ressources pour vos programmes
* une évaluation blanche n'est qu'indicative : elle ne comptera pas dans la moyenne. Le soin apporté aux corrections n'est pas le même que pour l'évaluation finale et les notes blanches ne sont qu'un aperçu de votre travail à un instant t.
* Critères dévaluation pour chaque note :
(Notes : le barème nest pas définitif et très susceptible dévoluer ; il nest donné quà titre indicatif ; chaque diagramme doit être accompagné de notes et dune description écrite)
---
## SAÉ2.01 : Développement d'une application : *5,26666666666667/20*
*Le sujet est choisi par le binôme mais doit être validé par l'enseignant.*
### Documents sur la préparation de l'application et l'IHM : *15,8/20*
#### Documentation à rendre en semaine 13:
* description du contexte [3 sur 3 points]
*OK*
* persona [1,8 sur 2 points]
*Normalement, on ne choisit pas un persona avec un nom qui pourrait évoquer quelqu'un d'existant.*
* user stories [3 sur 3 points]
*OK*
* sketchs [4 sur 4 points]
*OK*
* storyboards [3 sur 3 points]
*OK*
* diagramme de cas dutilisation [1 sur 5 points]
*Un acteur est sensé être relié à un cas par un trait uniquement
Pas d'accueil n'est pas un UC
Les fautes !
Certaines flèches sont à l'envers.
Il est à reprendre, sans oublier d'ajouter les description !!*
### Persistance et ajouts personnels à l'application : *0/40*
#### Documentation à rendre à la fin de la semaine 23 :
* diagramme de paquetage mettant en avant la partie persistance [ sur 2 points]
**
* diagramme de classes mettant en avant la partie persistance [ sur 4 points]
**
* diagramme de classes sur votre (vos) partie(s) ajoutée(s) [ sur 4 points]
**
#### Programmation à rendre à la fin du projet :
* persistance (XML, JSON, BDD, WebService…) [ sur 3 points]
**
* autre ajout personnel [ sur 3 points]
**
**fonctionnement de lapplication**
* compilation [ sur 3 points]
**
* exécution [ sur 5 points]
**
* déploiement [ sur 2 points]
**
* aboutissement du projet [ sur 4 points]
**
#### Vidéo à rendre à la fin du projet :
* vidéo de 1 à 3 minute(s) du projet [ sur 10 points]
**
## R2.02 : Développement d'applications avec IHM: *1,33333333333333/20*
### Documents : *4/20*
#### Documentation à rendre en semaine 23:
* diagramme de paquetage [ sur 2 points]
**
* diagramme de classes [4 sur 8 points]
*Quelle drôle de tête !!
Les filles de Sauveur et Loader ne sont dépendantes de personne. Ce n'est pas du tout logique.
L'interface Idisplyable est très bizarre. Je ne comprend pas ce qu'elle fait là.
Cette BaseItem me perturbe beaucoup. Quelle est son intention ?
Allez, ce n'est pas si mal !*
* diagramme de séquence (sur quelques cas particuliers) [ sur 2 points]
**
* description écrite de larchitecture (dont patrons de conception, dépendances…) [ sur 8 points]
**
### Programmation : *0/40*
#### XAML [0 sur 7 points] :
* répartition dans lespace (layout des vues et usercontrols) [ sur 2 points]
**
* utilisation des controls (vues et usercontrols) [ sur 1 point]
**
* ressources, styles [ sur 2 points]
**
* DataTemplate (locaux et globaux) [ sur 2 points]
**
#### C# [ sur 20 points] :
* bases (classes, structures, instances, …) [ sur 3 points]
*Pour l'instant, je n'ai qu'une classe. J'imagine que je ne suis pas sur la bonne branche. Redemandez une éval blanche pour la partie code.*
* abstraction (héritage, interfaces, polymorphisme) [ sur 4 points]
**
* collections simples (tableaux, listes…) [ sur 3 points]
**
* collections avancées (dictionnaires, sets) [ sur 3 points]
**
* encapsulation [ sur 5 points]
**
* LINQ [ sur 1 point]
**
* évènements (cf. module IHM) [ sur 1 point]
**
#### boucle Model <-> View (dont Binding) [0 sur 13 points] :
* gestion dévènements sur la vue [ sur 2 points]
**
* gestion dévènements depuis le métier (notifications) [ sur 2 points]
**
* DataBinding (sur le Master) [ sur 2 points]
**
* DataBinding (sur le Detail) [ sur 2 points]
**
* DataBinding sur les UserControl + Dependency Property [ sur 2 points]
**
* gestion du Master-Detail** [ sur 3 points]
**
## R2.03 : Qualité de développement : *0/20*
#### Tests [0 sur 10 points] :
* tests fonctionnels [ sur 5 points]
**
* tests unitaires [ sur 5 points]
**
* gestion automatique des tests (cf. plus bas)
**
* bonus : tests unitaires d'interfaces
**
#### Documentation [0 sur 0 points] :
* qualité de la documentation du code [ sur 2 points]
**
* génération de la documentation doxygen [ sur 2 points]
**
* génération automatique de la documentation (cf. plus bas)
**
#### Gestion de projet [0 sur 10 points] :
* utilisation simple de git (git clone, commit, add, push, pull) [ sur 3 points]
**
* utilisation avancée (git merge, branch, conflits) sur 2 points]
**
* utilisation de tickets et Merge Requests à travers la plateforme git (gitlab ou Code#0) [ sur 3 points]
**
* mise en place de l'intégration continue (CI) pour la gestion automatique des tests et la génération de la documentation [ sur 2 points]
**
---
## Note finale R2.02 : *1,33333333333333/20*
## Note finale R2.03 : *0/20*
## Note finale S2.01 : *5,26666666666667/20*
Loading…
Cancel
Save