diff --git a/.gitignore b/.gitignore
index a1d490a..b5fad81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,6 @@ obj/
riderModule.iml
/_ReSharper.Caches/
[Ll]ogs/
-.idea/
\ No newline at end of file
+.idea/
+/vs/
+/.vs/
\ No newline at end of file
diff --git a/Webzine.Entity.Tests/Webzine.Entity.Tests.csproj b/Webzine.Entity.Tests/Webzine.Entity.Tests.csproj
index 2e335bf..d7e20a3 100644
--- a/Webzine.Entity.Tests/Webzine.Entity.Tests.csproj
+++ b/Webzine.Entity.Tests/Webzine.Entity.Tests.csproj
@@ -8,7 +8,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -16,7 +16,7 @@
-
+
@@ -25,4 +25,8 @@
+
+
+
+
diff --git a/Webzine.Entity/Artiste.cs b/Webzine.Entity/Artiste.cs
new file mode 100644
index 0000000..257fe56
--- /dev/null
+++ b/Webzine.Entity/Artiste.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Text;
+using System.Timers;
+
+namespace Webzine.Entity
+{
+ ///
+ /// Classe représentant un artiste.
+ /// Lien avec l'entité : un artiste peut avoir plusieurs titres, mais un titre n'a qu'un seul artiste.
+ ///
+ public class Artiste
+ {
+ public int IdArtiste { get; set; }
+
+ [Required]
+ [MinLength(2)]
+ [MaxLength(50)]
+ [Display(Name = "Nom de l'artiste")]
+ public string Nom { get; set; }
+
+ public string Biographie { get; set; }
+
+ public List Titres { get; set; }
+ }
+}
diff --git a/Webzine.Entity/Commentaire.cs b/Webzine.Entity/Commentaire.cs
new file mode 100644
index 0000000..36530b6
--- /dev/null
+++ b/Webzine.Entity/Commentaire.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Text;
+
+namespace Webzine.Entity
+{
+ ///
+ /// Classe représentant un commentaire laissé par un utilisateur sur un titre.
+ /// Lien avec l'entité : un titre peut avoir plusieurs commentaires, mais un commentaire n'a qu'un seul titre.
+ ///
+ public class Commentaire
+ {
+ public int IdCommentaire { get; set; }
+
+ [Required]
+ [MinLength(10)]
+ [MaxLength(1000)]
+ [Display(Name = "Commentaire")]
+ public string Contenu { get; set; }
+
+ [Required]
+ [MinLength(2)]
+ [MaxLength(30)]
+ [Display(Name = "Nom")]
+ public string Auteur { get; set; }
+
+ [Required]
+ [Display(Name = "Date de création")]
+ public DateTime DateCreation { get; set; }
+
+ public int IdTitre { get; set; }
+
+ public Titre Titre { get; set; }
+ }
+}
diff --git a/Webzine.Entity/Style.cs b/Webzine.Entity/Style.cs
new file mode 100644
index 0000000..11c6f32
--- /dev/null
+++ b/Webzine.Entity/Style.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Text;
+
+namespace Webzine.Entity
+{
+ ///
+ /// Classe représentant un style de musique.
+ ///
+ public class Style
+ {
+ public int IdStyle { get; set; }
+
+ [Required]
+ [MinLength(2)]
+ [MaxLength(50)]
+ [Display(Name = "Libellé")]
+ public string Libelle { get; set; }
+
+ }
+}
diff --git a/Webzine.Entity/Titre.cs b/Webzine.Entity/Titre.cs
new file mode 100644
index 0000000..2fd9671
--- /dev/null
+++ b/Webzine.Entity/Titre.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Text;
+
+namespace Webzine.Entity
+{
+ ///
+ /// Classe représentant un titre de musique.
+ /// Lien avec l'entité : un artiste peut avoir plusieurs titres, mais un titre n'a qu'un seul artiste.
+ /// Lien avec l'entité : un titre peut avoir plusieurs commentaires, mais un commentaire n'a qu'un seul titre.
+ ///
+ public class Titre
+ {
+ public int IdTitre { get; set; }
+
+ public int IdArtiste { get; set; }
+
+ public Artiste Artiste { get; set; }
+
+ [Required]
+ [MinLength(1)]
+ [MaxLength(200)]
+ [Display(Name = "Titre")]
+ public string Libelle { get; set; }
+
+ [Required]
+ [MinLength(10)]
+ [MaxLength(4000)]
+ public string Chronique { get; set; }
+
+ [Required]
+ [Display(Name = "Date de création")]
+ public DateTime DateCreation { get; set; }
+
+ [Display(Name = "Durée en secondes")]
+ public int Duree { get; set; }
+
+ [Required]
+ [Display(Name = "Date de sortie")]
+ public DateTime DateSortie { get; set; }
+
+ [Required]
+ [MaxLength(250)]
+ [Display(Name = "Jaquette de l'album")]
+ public string UrlJaquette { get; set; }
+
+ [MinLength(13)]
+ [MaxLength(250)]
+ [Display(Name = "URL d'écoute")]
+ public string UrlEcoute { get; set; }
+
+ [Required]
+ [Display(Name = "Nombre de lectures")]
+ public int NbLectures { get; set; }
+
+ [Required]
+ [Display(Name = "Nombre de likes")]
+ public int NbLikes { get; set; }
+
+ [Required]
+ public string Album { get; set; }
+
+ public List Commentaires { get; set; }
+
+ }
+ }
diff --git a/Webzine.WebApplication/Webzine.WebApplication.csproj.user b/Webzine.WebApplication/Webzine.WebApplication.csproj.user
new file mode 100644
index 0000000..9ff5820
--- /dev/null
+++ b/Webzine.WebApplication/Webzine.WebApplication.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ https
+
+
\ No newline at end of file