Copie du code de la maquette #2

This commit is contained in:
2025-07-31 10:55:12 +02:00
parent 3d8510c58b
commit 2a9883a149
120 changed files with 11343 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
import '../models/user.dart';
class AuthService {
static const String _usersKey = 'users';
static const String _parentsKey = 'parents';
static const String _childrenKey = 'children';
// Méthode pour se connecter (mode démonstration)
static Future<AppUser> login(String email, String password) async {
await Future.delayed(const Duration(seconds: 1)); // Simule un délai de traitement
throw Exception('Mode démonstration - Connexion désactivée');
}
// Méthode pour s'inscrire (mode démonstration)
static Future<AppUser> register({
required String email,
required String password,
required String firstName,
required String lastName,
required String role,
}) async {
await Future.delayed(const Duration(seconds: 1)); // Simule un délai de traitement
throw Exception('Mode démonstration - Inscription désactivée');
}
// Méthode pour se déconnecter (mode démonstration)
static Future<void> logout() async {
// Ne fait rien en mode démonstration
}
// Méthode pour vérifier si l'utilisateur est connecté (mode démonstration)
static Future<bool> isLoggedIn() async {
return false; // Toujours non connecté en mode démonstration
}
// Méthode pour récupérer l'utilisateur connecté (mode démonstration)
static Future<AppUser?> getCurrentUser() async {
return null; // Aucun utilisateur en mode démonstration
}
}
@@ -0,0 +1,28 @@
import 'package:http/http.dart' as http;
import 'dart:convert';
class BugReportService {
static const String _apiUrl = 'https://api.supernounou.local/bug-reports';
static Future<void> sendReport(String description) async {
try {
final response = await http.post(
Uri.parse(_apiUrl),
headers: {
'Content-Type': 'application/json',
},
body: jsonEncode({
'description': description,
'timestamp': DateTime.now().toIso8601String(),
'platform': 'web', // TODO: Ajouter la détection de la plateforme
}),
);
if (response.statusCode != 200) {
throw Exception('Erreur lors de l\'envoi du rapport');
}
} catch (e) {
rethrow;
}
}
}