From e233f9f392f88b6f68fcdff23559d113e5e89361 Mon Sep 17 00:00:00 2001 From: DahoudG Date: Tue, 27 Aug 2024 16:52:39 +0000 Subject: [PATCH] =?UTF-8?q?Interface=20de=20connexion=20avec=20connexion?= =?UTF-8?q?=20r=C3=A9ussie=20au=20serveur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/assets/images/background.webp | Bin 0 -> 133968 bytes lib/core/constants/urls.dart | 2 +- lib/core/errors/exceptions.dart | 9 + .../datasources/user_remote_data_source.dart | 24 ++ .../datasources/user_repository_impl.dart | 9 +- lib/data/models/user_model.dart | 31 +- lib/domain/entities/user.dart | 14 +- .../screens/login/login_screen.dart | 291 +++++++++--------- pubspec.yaml | 1 + 9 files changed, 216 insertions(+), 165 deletions(-) create mode 100644 lib/assets/images/background.webp diff --git a/lib/assets/images/background.webp b/lib/assets/images/background.webp new file mode 100644 index 0000000000000000000000000000000000000000..7bd2a946fcfa15e008bcf080b78c07db5cbc0217 GIT binary patch literal 133968 zcmV(vK@e$G(c!tU>p_TZJR%hWL%X=$X3C>LvcaF@AslFPx{bchmpV`(f`F^~e7Ia4+It)<0-}$NVz?-TPzkm;87B zA5(v}f3<)5{xiKIf4TJq{{R0A|A+pL)89a!+rL?_{2#j?3V+FsX%=sSuvj6%2 z1Kb1uH~;^8FW?{e{Xji6{44*j`=4K3Q2e^|7tD{rzkdHY|1EF#P}RXQ{tqfAasD_yPWn z{h$8N_-|=H(0}LuG5gQxwf9f*-}yh#esBGN|407w|9kwG`k&nYr?2O~>i?SmVgIlF zm;e9#e;WRK|A+oF{TKd^@}K|z{eFdiFaD?gkNcxcW_&tUcn8noJ*rbtMS`PgQ^?5k~E^0tw6sjVgaTDu?QM+jaZw}bSHzgnO_ zF$7xhV9b$XWfFDdRw^n>C3c7bnU7Pc`X1A!xst1lot`!(G7rMhW5V_wg;cjbr@-K7uI$U86!!J zmm>)<~-B*oTrUC({9o}&WN)Oz)n4| z1D8WM+fgL32qp8ZDvP)v-gh_qW_&{*^V%@|i{hU&6JMs_IEEbEH|Gg6dR3}w*g+bZ zHmfyX`+YOmP3+H3VH*JptJa0#d^Q8fIf=z9!SfhhpN%H{e4~- z;#S%O%~3RQumk-D0qsL&+*#%T3fZ=8r##;}f^1H~ivXqBb&&s9K(!OZncS zeG10o-?<O~uf$9|}8asLdF0aF{*=WQicoOe(ayx{vJTFrqr3=|Nv&1pyhH zgj1ABVQ1&!?_uIP4Iq~!Z_3VQjgK~YBUOoHqClR_Xy;=wtwd76$XaO2|F_hy;wy7OgSbVHjGZ2y3d6v_n&lU}98;M*c?NwKQo19ib z4Khl@VI7(sFN6*=N1oy}L>KNw2G=pxbz_6vYa!TW{dP`7t20ADLkhtiuZ-Vbwo!Nb zSw^xl#`ikvH~V?wgM|k+M}VZ86rzQ|p6Z6_u!hb(cx^loi1{7vw_1%%!OdMJSv=!} z8=E@)B1QJ&dYb=Y_^Vx`$FJ(*d#A5paL_n}_Fb&p!`0%R7zCrVCGgzSKj}M0786c} zI136D1H=T0*{e+yF9$8HO{op8Ft6I&VXbR34iW zYLc<=(0m4PyF6Dwi3jew6hvBU_jXNTqi3j` zwh(*wr z2B$T-XctGKtNS0j_pMAfa-;|*rMjNm5laE`mB~pQr=s-5GtJy(!&=+{N>Mvj1&m}8 z5|t6@b)71@steukY!Nuan%z2-&#Mdjj#`x{I5W4zWyY-qq zZj6r|^|FlVRH7X$UFsQu>}vVl=vVA1$3aenwQUbtQf3?T^cgMc7WyU<#NZ3c8!8Vi zS-m3{Zo6Qs`eJQBfhN};6A&8Mx$Cb4=I9m8B@%{P)y3rDL2FC>CxITmZ}eW|5aM|F zZnBBI5TfjEHo)7LDBw4${F_?eej9$#NiMIA%x)=vxFe%GWg!W`0)RBZ|6Alcpy#<) zJbWC^C-efH>$BdXZ?t#Z|DCCmK0$ie(uO=IL%;pyTzCK6gtG8c&xlT01v$@;tXY3M zpKuomBv#RbHI(3jEBuIfc*7~%esy1-Gjk!?dC6yAN170rcvQ;x4>AGxb-ouNi&X=n12~l VD0-_ATd$jdx3j)VrA9E&LIc~%P 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%0A7J9er%LHQ9;spEa#qcECQ~5I~xlxw^ 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 'AuthenticationException: $message'; +} diff --git a/lib/data/datasources/user_remote_data_source.dart b/lib/data/datasources/user_remote_data_source.dart index 62f3464..447b5df 100644 --- a/lib/data/datasources/user_remote_data_source.dart +++ b/lib/data/datasources/user_remote_data_source.dart @@ -10,6 +10,30 @@ class UserRemoteDataSource { UserRemoteDataSource(this.client); + Future authenticateUser(String email, String password) async { + if (email.isEmpty || password.isEmpty) { + throw Exception('Email ou mot de passe vide'); + } + + final response = await client.post( + Uri.parse('${Urls.baseUrl}/users/authenticate'), + headers: {'Content-Type': 'application/json'}, + body: jsonEncode({ + 'email': email, + 'motDePasse': password, + }), + ); + + if (response.statusCode == 200) { + final jsonResponse = json.decode(response.body); + return UserModel.fromJson(jsonResponse); + } else if (response.statusCode == 401) { + throw AuthenticationException('Email ou mot de passe incorrect'); + } else { + throw ServerException(); + } + } + Future getUser(String id) async { final response = await client.get(Uri.parse('${Urls.baseUrl}/user/$id')); diff --git a/lib/data/datasources/user_repository_impl.dart b/lib/data/datasources/user_repository_impl.dart index 164698b..020e840 100644 --- a/lib/data/datasources/user_repository_impl.dart +++ b/lib/data/datasources/user_repository_impl.dart @@ -1,6 +1,7 @@ import 'package:afterwork/domain/entities/user.dart'; import 'package:afterwork/domain/repositories/user_repository.dart'; import 'package:afterwork/data/datasources/user_remote_data_source.dart'; +import 'package:afterwork/data/models/user_model.dart'; class UserRepositoryImpl implements UserRepository { final UserRemoteDataSource remoteDataSource; @@ -9,6 +10,12 @@ class UserRepositoryImpl implements UserRepository { @override Future getUser(String id) async { - return await remoteDataSource.getUser(id); + UserModel userModel = await remoteDataSource.getUser(id); + return userModel; // Retourne un UserModel qui est un sous-type de User + } + + Future authenticateUser(String email, String password) async { + UserModel userModel = await remoteDataSource.authenticateUser(email, password); + return userModel; // Retourne un UserModel qui est un sous-type de User } } diff --git a/lib/data/models/user_model.dart b/lib/data/models/user_model.dart index 2fd509e..a987f32 100644 --- a/lib/data/models/user_model.dart +++ b/lib/data/models/user_model.dart @@ -1,26 +1,37 @@ - -import '../../domain/entities/user.dart'; +import 'package:afterwork/domain/entities/user.dart'; class UserModel extends User { const UserModel({ - required super.id, - required super.name, - required super.email, - }); + required String id, + required String nom, + required String prenoms, + required String email, + required String motDePasse, + }) : super( + id: id, + nom: nom, + prenoms: prenoms, + email: email, + motDePasse: motDePasse, + ); factory UserModel.fromJson(Map json) { return UserModel( - id: json['id'], - name: json['name'], - email: json['email'], + id: json['id'] ?? '', + nom: json['nom'] ?? '', + prenoms: json['prenoms'] ?? '', + email: json['email'] ?? '', + motDePasse: json['motDePasse'] ?? '', ); } Map toJson() { return { 'id': id, - 'name': name, + 'nom': nom, + 'prenoms': prenoms, 'email': email, + 'motDePasse': motDePasse, }; } } diff --git a/lib/domain/entities/user.dart b/lib/domain/entities/user.dart index 1eed52c..5a25f95 100644 --- a/lib/domain/entities/user.dart +++ b/lib/domain/entities/user.dart @@ -2,11 +2,19 @@ import 'package:equatable/equatable.dart'; class User extends Equatable { final String id; - final String name; + final String nom; + final String prenoms; final String email; + final String motDePasse; - const User({required this.id, required this.name, required this.email}); + const User({ + required this.id, + required this.nom, + required this.prenoms, + required this.email, + required this.motDePasse, + }); @override - List get props => [id, name, email]; + List get props => [id, nom, prenoms, email, motDePasse]; } diff --git a/lib/presentation/screens/login/login_screen.dart b/lib/presentation/screens/login/login_screen.dart index 8ee1aa1..180f116 100644 --- a/lib/presentation/screens/login/login_screen.dart +++ b/lib/presentation/screens/login/login_screen.dart @@ -1,45 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:afterwork/data/datasources/user_remote_data_source.dart'; +import 'package:afterwork/data/models/user_model.dart'; +import 'package:http/http.dart' as http; class LoginScreen extends StatefulWidget { - const LoginScreen({Key? key}) : super(key: key); + const LoginScreen({super.key}); @override _LoginScreenState createState() => _LoginScreenState(); } -class _LoginScreenState extends State with SingleTickerProviderStateMixin { +class _LoginScreenState extends State { final _formKey = GlobalKey(); - String _email = ''; - String _password = ''; + String _email = ''; // Initialisation par défaut + String _password = ''; // Initialisation par défaut bool _isPasswordVisible = false; - late AnimationController _animationController; - late Animation _slideAnimation; - - @override - void initState() { - super.initState(); - _animationController = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 500), - ); - - _slideAnimation = Tween( - begin: const Offset(0.0, 1.0), - end: Offset.zero, - ).animate(CurvedAnimation( - parent: _animationController, - curve: Curves.easeOut, - )); - - _animationController.forward(); - } - - @override - void dispose() { - _animationController.dispose(); - super.dispose(); - } + final UserRemoteDataSource _userRemoteDataSource = UserRemoteDataSource(http.Client()); void _togglePasswordVisibility() { setState(() { @@ -47,11 +24,32 @@ class _LoginScreenState extends State with SingleTickerProviderStat }); } - void _submit() { + void _submit() async { if (_formKey.currentState!.validate()) { _formKey.currentState!.save(); - print('Email: $_email, Password: $_password'); // Utilisation des valeurs - // Implémente la logique de connexion ici + + print('Email: $_email'); // Pour vérifier la valeur de l'email + print('Mot de passe: $_password'); // Pour vérifier la valeur du mot de passe + + if (_email.isEmpty || _password.isEmpty) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Veuillez remplir tous les champs')), + ); + return; + } + + try { + UserModel user = await _userRemoteDataSource.authenticateUser(_email, _password); + print('Connexion réussie : ${user.email}'); + // Naviguer vers la page d'accueil ou autre + } catch (e) { + print('Erreur lors de la connexion: $e'); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(e.toString())), + ); + } + } else { + print('Formulaire invalide'); } } @@ -61,124 +59,117 @@ class _LoginScreenState extends State with SingleTickerProviderStat return Scaffold( backgroundColor: Colors.white, - body: Center( - child: SingleChildScrollView( - padding: const EdgeInsets.all(16.0), - child: SlideTransition( - position: _slideAnimation, - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - // Logo - Image.asset( - 'lib/assets/images/logo.png', - height: size.height * 0.2, - ), - const SizedBox(height: 20), - const Text( - 'Bienvenue sur AfterWork', - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, - color: Colors.blueAccent, - ), - ), - const SizedBox(height: 40), - - // Formulaire de connexion - Form( - key: _formKey, - child: Column( - children: [ - // Champ Email - TextFormField( - decoration: const InputDecoration( - labelText: 'Email', - border: OutlineInputBorder(), - prefixIcon: Icon(Icons.email), - ), - keyboardType: TextInputType.emailAddress, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer votre email'; - } - if (!RegExp(r'^[^@]+@[^@]+\.[^@]+').hasMatch(value)) { - return 'Veuillez entrer un email valide'; - } - return null; - }, - onSaved: (value) { - _email = value!; - }, - ), - const SizedBox(height: 20), - - // Champ Mot de passe - TextFormField( - decoration: InputDecoration( - labelText: 'Mot de passe', - border: const OutlineInputBorder(), - prefixIcon: const Icon(Icons.lock), - suffixIcon: IconButton( - icon: Icon( - _isPasswordVisible - ? Icons.visibility - : Icons.visibility_off, - ), - onPressed: _togglePasswordVisibility, - ), - ), - obscureText: !_isPasswordVisible, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer votre mot de passe'; - } - if (value.length < 6) { - return 'Le mot de passe doit comporter au moins 6 caractères'; - } - return null; - }, - onSaved: (value) { - _password = value!; - }, - ), - const SizedBox(height: 20), - - // Bouton de connexion - SizedBox( - width: double.infinity, - child: ElevatedButton( - style: ElevatedButton.styleFrom( - padding: const EdgeInsets.all(16.0), - textStyle: const TextStyle(fontSize: 18), - backgroundColor: Colors.blueAccent, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8.0), - ), - ), - onPressed: _submit, - child: const Text('Connexion'), - ), - ), - const SizedBox(height: 20), - - // Lien pour s'inscrire - TextButton( - onPressed: () { - // Naviguer vers la page d'inscription - }, - child: const Text( - 'Pas encore de compte ? Inscrivez-vous', - style: TextStyle(color: Colors.blueAccent), - ), - ), - ], - ), - ), - ], + body: Stack( + children: [ + // Arrière-plan + Positioned.fill( + child: Image.asset( + 'lib/assets/images/background.webp', // Remplace par le chemin de ton image + fit: BoxFit.cover, ), ), - ), + // Contenu de la page + Center( + child: SingleChildScrollView( + padding: const EdgeInsets.all(16.0), + child: Form( + key: _formKey, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + 'lib/assets/images/logo.png', + height: size.height * 0.2, + ), + const SizedBox(height: 20), + const Text( + 'Bienvenue sur AfterWork', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.blueAccent, + ), + ), + const SizedBox(height: 40), + TextFormField( + decoration: const InputDecoration( + labelText: 'Email', + border: OutlineInputBorder(), + prefixIcon: Icon(Icons.email), + ), + keyboardType: TextInputType.emailAddress, + validator: (value) { + if (value == null || value.isEmpty) { + return 'Veuillez entrer votre email'; + } + if (!RegExp(r'^[^@]+@[^@]+\.[^@]+').hasMatch(value)) { + return 'Veuillez entrer un email valide'; + } + return null; + }, + onSaved: (value) { + _email = value ?? ''; // Utiliser une chaîne vide si value est null + }, + ), + const SizedBox(height: 20), + TextFormField( + decoration: InputDecoration( + labelText: 'Mot de passe', + border: const OutlineInputBorder(), + prefixIcon: const Icon(Icons.lock), + suffixIcon: IconButton( + icon: Icon( + _isPasswordVisible ? Icons.visibility : Icons.visibility_off, + ), + onPressed: _togglePasswordVisibility, + ), + ), + obscureText: !_isPasswordVisible, + validator: (value) { + if (value == null || value.isEmpty) { + return 'Veuillez entrer votre mot de passe'; + } + if (value.length < 6) { + return 'Le mot de passe doit comporter au moins 6 caractères'; + } + return null; + }, + onSaved: (value) { + _password = value ?? ''; // Utiliser une chaîne vide si value est null + }, + ), + const SizedBox(height: 20), + SizedBox( + width: double.infinity, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + padding: const EdgeInsets.all(16.0), + textStyle: const TextStyle(fontSize: 18), + backgroundColor: Colors.blueAccent, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8.0), + ), + ), + onPressed: _submit, + child: const Text('Connexion'), + ), + ), + const SizedBox(height: 20), + TextButton( + onPressed: () { + // Naviguer vers la page d'inscription + }, + child: const Text( + 'Pas encore de compte ? Inscrivez-vous', + style: TextStyle(color: Colors.blueAccent), + ), + ), + ], + ), + ), + ), + ), + ], ), ); } diff --git a/pubspec.yaml b/pubspec.yaml index 5720137..8376ad8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,6 +39,7 @@ flutter: assets: - lib/assets/images/logo.png + - lib/assets/images/background.webp # To add assets to your application, add an assets section, like this: # assets: