Merge branch 'master' of codefirst.iut.uca.fr:vianney.jourdy/MapManga

dictionnaire
Vianney JOURDY 2 years ago
commit c8a6d869ba

@ -91,6 +91,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Component\" />
<Folder Include="NewFolder\" /> <Folder Include="NewFolder\" />
</ItemGroup> </ItemGroup>

@ -1,4 +1,5 @@
using System; using MangaMap.Views;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@ -6,11 +7,18 @@ using System.Threading.Tasks;
namespace MangaMap.Model namespace MangaMap.Model
{ {
class Admin public class Admin : Personne
{ {
public Admin(string mdp, string email, string pseudo) : base(mdp, email, pseudo)
{
}
public int Id { get; private set; } public int Id { get; private set; }
public Admin(int id)
{ this.Id = id; }
public void ajouterAnime() { }
public void supprimerAnime() { }
} }
} }

@ -9,13 +9,13 @@ namespace MangaMap.Model
class Oeuvre class Oeuvre
{ {
public string Nom { get; private set; } public string Nom { get; private set; }
public string[] Genre { get; private set; } public List <string> Genre { get; private set; }
public string Type { get; private set; } public string Type { get; private set; }
public string Description { get; private set; } public string Description { get; private set; }
public int Note { get; private set; } public int Note { get; private set; }
public int NbEpisodes { get; private set; } public int NbEpisodes { get; private set; }
public Oeuvre(string nom, string[] genre, string type, string description, int note, int nbEpisode) public Oeuvre(string nom, List<string> genre, string type, string description, int note, int nbEpisode)
{ {
Nom = nom; Nom = nom;
Genre = genre; Genre = genre;

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace MangaMap.Model namespace MangaMap.Model
{ {
class Personne public class Personne
{ {
public string MotDePasse { get; private set; } public string MotDePasse { get; private set; }
public string Email { get; private set; } public string Email { get; private set; }
@ -62,5 +62,9 @@ namespace MangaMap.Model
return false; return false;
} }
} }
} }

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace MangaMap.Model namespace MangaMap.Model
{ {
class Utilisateur public class Utilisateur
{ {
public string nom { get; private set; } public string nom { get; private set; }
public string prenom { get; private set; } public string prenom { get; private set; }

@ -3,89 +3,169 @@
x:Class="MangaMap.Views.listPage" x:Class="MangaMap.Views.listPage"
BackgroundColor="Black"> BackgroundColor="Black">
<Grid> <ScrollView>
<Grid.RowDefinitions> <Grid>
<RowDefinition Height="Auto" /> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<Label Text="Watching" TextColor="White" FontSize="Title" Margin="50,10,0,0" Grid.Row="0"/> <RowDefinition Height="*" />
</Grid.RowDefinitions>
<Frame Grid.Row="1" BackgroundColor="Black" Margin="20" BorderColor="Black">
<Grid BackgroundColor="#333333" > <Label Text="Watching" TextColor="White" FontSize="Title" Margin="50,10,0,0" Grid.Row="0"/>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <Frame Grid.Row="1" BackgroundColor="Black" Margin="20" BorderColor="Black">
<RowDefinition Height="*" /> <Grid BackgroundColor="#333333" >
</Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<Grid Margin="20" Grid.Row="0" ColumnDefinitions="*,300,300"> <RowDefinition Height="*" />
<Label Grid.Column="0" </Grid.RowDefinitions>
<Grid Margin="20" Grid.Row="0" ColumnDefinitions="*,300,300">
<Label Grid.Column="0"
Text="Titre" FontSize="Large" TextColor="White" Text="Titre" FontSize="Large" TextColor="White"
HorizontalOptions="Start" VerticalOptions="Center"/> HorizontalOptions="Start" VerticalOptions="Center"/>
<Label Grid.Column="1" <Label Grid.Column="1"
Text="Score" FontSize="Large" TextColor="White" Text="Score" FontSize="Large" TextColor="White"
HorizontalOptions="Center" VerticalOptions="Center"/> HorizontalOptions="Center" VerticalOptions="Center"/>
<Label Grid.Column="2" <Label Grid.Column="2"
Text="Progression" FontSize="Large" TextColor="White" Text="Progression" FontSize="Large" TextColor="White"
HorizontalOptions="End" VerticalOptions="Center"/> HorizontalOptions="End" VerticalOptions="Center"/>
</Grid>
<ScrollView Grid.Row="1" VerticalScrollBarVisibility="Always">
<VerticalStackLayout Spacing="10">
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
</VerticalStackLayout>
</ScrollView>
</Grid> </Grid>
</Frame>
<ScrollView Grid.Row="1" VerticalScrollBarVisibility="Always"> <Label Text="Completed" TextColor="White" FontSize="Title" Margin="50,10,0,0" Grid.Row="2"/>
<VerticalStackLayout Spacing="10">
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Frame Grid.Row="3" BackgroundColor="Black" Margin="20" BorderColor="Black">
<Grid BackgroundColor="#333333" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Grid Margin="20" Grid.Row="0" ColumnDefinitions="*,300,300">
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Label Grid.Column="0"
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> Text="Titre" FontSize="Large" TextColor="White"
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> HorizontalOptions="Start" VerticalOptions="Center"/>
</Grid> <Label Grid.Column="1"
Text="Score" FontSize="Large" TextColor="White"
HorizontalOptions="Center" VerticalOptions="Center"/>
<Label Grid.Column="2"
Text="Progression" FontSize="Large" TextColor="White"
HorizontalOptions="End" VerticalOptions="Center"/>
</Grid>
<ScrollView Grid.Row="3" VerticalScrollBarVisibility="Always">
<VerticalStackLayout Spacing="10">
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> <Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> <Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
</Grid> <Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> <Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> <Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid> </Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Rectangle Grid.Column="0" Fill="#FFFFFF" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> <Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> <Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid> </Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Rectangle Grid.Column="0" Fill="Blue" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> <Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> <Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid> </Grid>
<Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300"> <Grid Margin="20,0,20,0" ColumnDefinitions="*,*,300,300">
<Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/> <Rectangle Grid.Column="0" Fill="Red" WidthRequest="100" HeightRequest="100" HorizontalOptions="Start"/>
<Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/> <Label Grid.Column="1" Text="Test Titre" FontSize="Medium" VerticalOptions="Center" Margin="15"/>
<Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/> <Label Grid.Column="2" Text="4/5" VerticalOptions="Center" HorizontalOptions="Center"/>
<Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/> <Label Grid.Column="3" Text="10/85" VerticalOptions="Center" HorizontalOptions="End"/>
</Grid> </Grid>
</VerticalStackLayout>
</ScrollView>
</Grid>
</Frame>
</VerticalStackLayout> </Grid>
</ScrollView>
</Grid>
</Frame> </ScrollView>
</Grid>
</ContentPage> </ContentPage>

@ -9,9 +9,9 @@
<Label Text="Se connecter à MapManga" FontSize="Large" Margin="0,0,0,20" TextColor="#FFFFFF"/> <Label Text="Se connecter à MapManga" FontSize="Large" Margin="0,0,0,20" TextColor="#FFFFFF"/>
<Entry Placeholder="Email" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="emailEntry" Placeholder="Email" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Entry Placeholder="Mot de passe" IsPassword="True" Margin="0,0,0,20" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="passwordEntry" Placeholder="Mot de passe" IsPassword="True" Margin="0,0,0,20" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Button Text="Se connecter" Clicked="OnLoginClicked" BackgroundColor="{StaticResource Primary }" TextColor="#FFFFFF"/> <Button Text="Se connecter" Clicked="OnLoginClicked" BackgroundColor="{StaticResource Primary }" TextColor="#FFFFFF"/>

@ -1,4 +1,6 @@
namespace MangaMap.Views; namespace MangaMap.Views;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
public partial class loginPage : ContentPage public partial class loginPage : ContentPage
{ {
@ -7,8 +9,34 @@ public partial class loginPage : ContentPage
InitializeComponent(); InitializeComponent();
} }
private void OnLoginClicked(object sender, EventArgs e) async void OnLoginClicked(object sender, EventArgs e)
{ {
// // Récupération de l'email et du mot de passe entrés
string email = emailEntry.Text;
string password = passwordEntry.Text;
if (string.IsNullOrWhiteSpace(email) ||
string.IsNullOrWhiteSpace(password))
{
await DisplayAlert("Erreur", "Veuillez remplir tous les champs.", "OK");
return;
}
// Vérifier que l'e-mail a la bonne forme
if (!Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"))
{
await DisplayAlert("Erreur", "L'e-mail n'est pas valide.", "OK");
return;
}
// Vérification du mot de passe
if (password != "monmotdepasse")
{
DisplayAlert("Erreur", "Le mot de passe entré est incorrect.", "OK");
return;
}
// Redirection vers la page suivante si le mot de passe est correct
Navigation.PushAsync(new homePage());
} }
} }

@ -10,15 +10,15 @@
<Label Text="S'inscrire a MapManga" FontSize="Large" Margin="0,0,0,20" TextColor="#ffffff"/> <Label Text="S'inscrire a MapManga" FontSize="Large" Margin="0,0,0,20" TextColor="#ffffff"/>
<Entry Placeholder="Email" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="emailEntry" Placeholder="Email" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Entry Placeholder="Nom d'utilisateur" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="usernameEntry" Placeholder="Nom d'utilisateur" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Entry Placeholder="Mot de passe" IsPassword="True" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="passwordEntry" Placeholder="Mot de passe" IsPassword="True" Margin="0,0,0,10" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Entry Placeholder="Confirmer le mot de passe" IsPassword="True" Margin="0,0,0,20" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/> <Entry x:Name="confirmPasswordEntry" Placeholder="Confirmer le mot de passe" IsPassword="True" Margin="0,0,0,20" BackgroundColor="#EFF0F2" TextColor="{StaticResource Black}"/>
<Button Text="S'inscire" Clicked="OnLoginClicked" BackgroundColor="{StaticResource Primary}" TextColor="#FFFFFF"/> <Button Text="S'inscire" Clicked="OnSignUpClicked" BackgroundColor="{StaticResource Primary}" TextColor="#FFFFFF"/>
<StackLayout Orientation="Horizontal" HorizontalOptions="Center"> <StackLayout Orientation="Horizontal" HorizontalOptions="Center">
<Label Text="Pas de compte ? " TextColor="#FFFFFF"/> <Label Text="Pas de compte ? " TextColor="#FFFFFF"/>

@ -1,4 +1,5 @@
namespace MangaMap.Views; namespace MangaMap.Views;
using System.Text.RegularExpressions;
public partial class signUpPage : ContentPage public partial class signUpPage : ContentPage
{ {
@ -7,8 +8,76 @@ public partial class signUpPage : ContentPage
InitializeComponent(); InitializeComponent();
} }
private void OnLoginClicked(object sender, EventArgs e) async void OnSignUpClicked(object sender, System.EventArgs e)
{ {
// // Récupérer les valeurs des entrées
string email = emailEntry.Text;
string password = passwordEntry.Text;
string confirmPassword = confirmPasswordEntry.Text;
if (string.IsNullOrWhiteSpace(email) ||
string.IsNullOrWhiteSpace(password) || string.IsNullOrWhiteSpace(confirmPassword))
{
await DisplayAlert("Erreur", "Veuillez remplir tous les champs.", "OK");
return;
}
// Vérifier que l'e-mail a la bonne forme
if (!Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"))
{
await DisplayAlert("Erreur", "L'e-mail n'est pas valide.", "OK");
return;
}
if (IsPasswordStrong(password) == false)
{
await DisplayAlert("Erreur", "Le mot de passe n'est pas assez fort", "OK");
return;
}
// Vérifier si les mots de passe correspondent
if (password != confirmPassword)
{
await DisplayAlert("Erreur", "Les mots de passe ne correspondent pas", "OK");
return;
}
if (password == confirmPassword)
{
await Navigation.PushAsync(new homePage());
}
}
bool IsPasswordStrong(string password)
{
// Vérifier si le mot de passe est assez long
if (password.Length < 8)
{
return false;
}
// Vérifier si le mot de passe contient au moins une majuscule, une minuscule et un chiffre
bool hasUppercase = false;
bool hasLowercase = false;
bool hasDigit = false;
foreach (char c in password)
{
if (char.IsUpper(c))
{
hasUppercase = true;
}
else if (char.IsLower(c))
{
hasLowercase = true;
}
else if (char.IsDigit(c))
{
hasDigit = true;
}
}
return hasUppercase && hasLowercase && hasDigit;
} }
} }
Loading…
Cancel
Save