diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..16fc417 --- /dev/null +++ b/.cursorrules @@ -0,0 +1,41 @@ +{ + "project": { + "name": "P'titsPas", + "description": "Application de gestion de la garde d'enfants pour les collectivités locales" + }, + "conventions": { + "language": "fr", + "naming": { + "package": "p_tits_pas", + "classes": "PascalCase", + "variables": "camelCase", + "constants": "UPPER_CASE" + } + }, + "formatting": { + "indentation": 2, + "max_line_length": 80 + }, + "documents": { + "cahier_des_charges": "docs/SuperNounou_Cahier_Des_Charges_Complet_V1.1.md", + "evolutions": "docs/EVOLUTIONS_CDC.md", + "charte_graphique": "docs/CHARTE_GRAPHIQUE.md", + "specifications_techniques": "docs/SuperNounou_SSS-001.md" + }, + "rules": [ + "Toujours répondre en français", + "Utiliser le nom 'P'titsPas' dans l'interface utilisateur et la documentation", + "Utiliser 'p_tits_pas' pour les noms techniques (packages, fichiers, etc.)", + "Respecter les conventions de nommage Flutter/Dart", + "Maintenir une cohérence dans le style de code", + "Utiliser le camelCase pour les noms de variables, fonctions et méthodes", + "Le camelCase doit commencer par une minuscule (ex: maVariable, maFonction)", + "Toujours se référer à la documentation officielle en cas de doute", + "En cas d'incertitude, poser des questions pour clarifier les besoins", + "Si les instructions diffèrent des conventions établies, proposer une évolution à écrire dans le document d'évolution", + "Se référer au cahier des charges pour les spécifications fonctionnelles", + "Suivre la charte graphique pour tous les éléments visuels", + "Consulter les spécifications techniques pour les aspects techniques", + "Documenter les évolutions dans le fichier EVOLUTIONS_CDC.md" + ] +} \ No newline at end of file diff --git a/frontend/assets/fonts/Merienda-VariableFont_wght.ttf b/frontend/assets/fonts/Merienda-VariableFont_wght.ttf new file mode 100644 index 0000000..014e480 Binary files /dev/null and b/frontend/assets/fonts/Merienda-VariableFont_wght.ttf differ diff --git a/frontend/assets/images/btn_green.png b/frontend/assets/images/btn_green.png new file mode 100644 index 0000000..11b46bf Binary files /dev/null and b/frontend/assets/images/btn_green.png differ diff --git a/frontend/assets/images/field_email.png b/frontend/assets/images/field_email.png new file mode 100644 index 0000000..4b0f284 Binary files /dev/null and b/frontend/assets/images/field_email.png differ diff --git a/frontend/assets/images/field_password.png b/frontend/assets/images/field_password.png new file mode 100644 index 0000000..96800d8 Binary files /dev/null and b/frontend/assets/images/field_password.png differ diff --git a/frontend/assets/images/icon.png b/frontend/assets/images/icon.png new file mode 100644 index 0000000..8c9fe45 Binary files /dev/null and b/frontend/assets/images/icon.png differ diff --git a/frontend/assets/images/logo.png b/frontend/assets/images/logo.png new file mode 100644 index 0000000..512fabd Binary files /dev/null and b/frontend/assets/images/logo.png differ diff --git a/frontend/assets/images/paper.png b/frontend/assets/images/paper.png new file mode 100644 index 0000000..2cfe532 Binary files /dev/null and b/frontend/assets/images/paper.png differ diff --git a/frontend/assets/images/paper2.png b/frontend/assets/images/paper2.png new file mode 100644 index 0000000..3103d8f Binary files /dev/null and b/frontend/assets/images/paper2.png differ diff --git a/frontend/assets/images/river.png b/frontend/assets/images/river.png new file mode 100644 index 0000000..ed6e8e1 Binary files /dev/null and b/frontend/assets/images/river.png differ diff --git a/frontend/assets/images/river_logo_desktop.png b/frontend/assets/images/river_logo_desktop.png new file mode 100644 index 0000000..28362a4 Binary files /dev/null and b/frontend/assets/images/river_logo_desktop.png differ diff --git a/frontend/lib/firebase_options.dart b/frontend/lib/firebase_options.dart deleted file mode 100644 index 5b24cd6..0000000 --- a/frontend/lib/firebase_options.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - // Handle other platforms if needed - return web; - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyDXVQr3rlBPXhk-dYB6DyQF_JYrHKxXwrk', - appId: '1:654650461516:web:7a9e7c84c26c5a3a7c0e2c', - messagingSenderId: '654650461516', - projectId: 'petitspas-dev', - authDomain: 'petitspas-dev.firebaseapp.com', - storageBucket: 'petitspas-dev.appspot.com', - ); -} \ No newline at end of file diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index 1b07153..e202d52 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -1,61 +1,22 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; -import 'package:provider/provider.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'theme/app_theme.dart'; -import 'theme/theme_provider.dart'; import 'screens/auth/login_screen.dart'; -import 'screens/auth/parent_register_screen.dart'; -import 'screens/home/home_screen.dart'; -import 'navigation/app_router.dart'; -void main() { - runApp( - MultiProvider( - providers: [ - ChangeNotifierProvider(create: (_) => ThemeProvider()), - ], - child: const MyApp(), - ), - ); -} +void main() => runApp(const PtiPasApp()); -final _router = GoRouter( - initialLocation: '/login', - routes: [ - GoRoute( - path: '/login', - builder: (context, state) => const LoginScreen(), - ), - GoRoute( - path: '/parent-register', - builder: (context, state) => const ParentRegisterScreen(), - ), - GoRoute( - path: '/home', - builder: (context, state) => const HomeScreen(), - ), - ], -); +final _router = GoRouter(routes: [ + GoRoute(path: '/', builder: (_, __) => const LoginPage()), +]); -class MyApp extends StatelessWidget { - const MyApp({super.key}); +class PtiPasApp extends StatelessWidget { + const PtiPasApp({super.key}); @override Widget build(BuildContext context) { - return Consumer( - builder: (context, themeProvider, _) { - final appTheme = AppTheme(); - return MaterialApp.router( - title: 'P\'titsPas', - theme: themeProvider.currentTheme == ThemeType.darkTheme - ? appTheme.darkTheme - : (themeProvider.currentTheme == ThemeType.pastelTheme - ? appTheme.pastelTheme - : appTheme.lightTheme), - routerConfig: _router, - ); - }, + return MaterialApp.router( + title: 'P\'titsPas', + routerConfig: _router, + debugShowCheckedModeBanner: false, ); } } \ No newline at end of file diff --git a/frontend/lib/navigation/app_router.dart b/frontend/lib/navigation/app_router.dart index e2d1c77..89ac43c 100644 --- a/frontend/lib/navigation/app_router.dart +++ b/frontend/lib/navigation/app_router.dart @@ -1,12 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:go_router/go_router.dart'; import '../screens/auth/login_screen.dart'; -import '../screens/auth/register_screen.dart'; import '../screens/auth/parent_register_screen.dart'; import '../screens/home/home_screen.dart'; class AppRouter { static const String login = '/login'; - static const String register = '/register'; static const String parentRegister = '/parent-register'; static const String home = '/home'; @@ -14,8 +13,6 @@ class AppRouter { switch (settings.name) { case login: return MaterialPageRoute(builder: (_) => const LoginScreen()); - case register: - return MaterialPageRoute(builder: (_) => const RegisterScreen()); case parentRegister: return MaterialPageRoute(builder: (_) => const ParentRegisterScreen()); case home: diff --git a/frontend/lib/screens/auth/parent_register_screen.dart b/frontend/lib/screens/auth/parent_register_screen.dart index 1038593..00416e3 100644 --- a/frontend/lib/screens/auth/parent_register_screen.dart +++ b/frontend/lib/screens/auth/parent_register_screen.dart @@ -3,6 +3,7 @@ import 'package:image_picker/image_picker.dart'; import 'package:go_router/go_router.dart'; import '../../services/auth_service.dart'; import '../../theme/app_theme.dart'; +import 'dart:convert'; class ChildData { final TextEditingController firstNameController = TextEditingController(); @@ -107,17 +108,12 @@ class _ParentRegisterScreenState extends State { final List> childrenData = []; for (var child in _children) { - String? childPhotoUrl; - if (child.photo != null) { - childPhotoUrl = await _uploadImage(child.photo!, _emailController.text); - } - childrenData.add({ 'firstName': child.firstNameController.text, 'lastName': child.lastNameController.text, 'birthDate': child.isUnborn ? null : child.birthDate, 'expectedBirthDate': child.isUnborn ? child.expectedBirthDate : null, - 'photoUrl': childPhotoUrl, + 'photo': child.photo != null ? base64Encode(child.photo!.readAsBytesSync()) : null, 'hasPhotoConsent': child.hasPhotoConsent, 'isMultipleBirth': child.isMultipleBirth, }); diff --git a/frontend/lib/screens/auth/register_screen.dart b/frontend/lib/screens/auth/register_screen.dart deleted file mode 100644 index b8cc981..0000000 --- a/frontend/lib/screens/auth/register_screen.dart +++ /dev/null @@ -1,157 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import '../../services/auth_service.dart'; - -class RegisterScreen extends StatefulWidget { - const RegisterScreen({super.key}); - - @override - State createState() => _RegisterScreenState(); -} - -class _RegisterScreenState extends State { - final _formKey = GlobalKey(); - final _emailController = TextEditingController(); - final _passwordController = TextEditingController(); - final _firstNameController = TextEditingController(); - final _lastNameController = TextEditingController(); - bool _isLoading = false; - - @override - void dispose() { - _emailController.dispose(); - _passwordController.dispose(); - _firstNameController.dispose(); - _lastNameController.dispose(); - super.dispose(); - } - - Future _register() async { - if (_formKey.currentState!.validate()) { - setState(() => _isLoading = true); - try { - await AuthService.register( - email: _emailController.text, - password: _passwordController.text, - firstName: _firstNameController.text, - lastName: _lastNameController.text, - role: 'user', - ); - - if (mounted) { - context.go('/login'); - } - } catch (e) { - if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text('Erreur lors de l\'inscription: $e'), - backgroundColor: Colors.red, - ), - ); - } - } finally { - if (mounted) { - setState(() => _isLoading = false); - } - } - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Inscription'), - ), - body: Center( - child: SingleChildScrollView( - padding: const EdgeInsets.all(16.0), - child: Form( - key: _formKey, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - TextFormField( - controller: _firstNameController, - decoration: const InputDecoration( - labelText: 'Prénom', - border: OutlineInputBorder(), - ), - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer votre prénom'; - } - return null; - }, - ), - const SizedBox(height: 16), - TextFormField( - controller: _lastNameController, - decoration: const InputDecoration( - labelText: 'Nom', - border: OutlineInputBorder(), - ), - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer votre nom'; - } - return null; - }, - ), - const SizedBox(height: 16), - TextFormField( - controller: _emailController, - decoration: const InputDecoration( - labelText: 'Email', - border: OutlineInputBorder(), - ), - keyboardType: TextInputType.emailAddress, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer votre email'; - } - if (!value.contains('@')) { - return 'Veuillez entrer un email valide'; - } - return null; - }, - ), - const SizedBox(height: 16), - TextFormField( - controller: _passwordController, - decoration: const InputDecoration( - labelText: 'Mot de passe', - border: OutlineInputBorder(), - ), - obscureText: true, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Veuillez entrer un mot de passe'; - } - if (value.length < 6) { - return 'Le mot de passe doit contenir au moins 6 caractères'; - } - return null; - }, - ), - const SizedBox(height: 24), - ElevatedButton( - onPressed: _isLoading ? null : _register, - child: _isLoading - ? const CircularProgressIndicator() - : const Text('S\'inscrire'), - ), - const SizedBox(height: 16), - TextButton( - onPressed: () => context.go('/login'), - child: const Text('Déjà un compte ? Se connecter'), - ), - ], - ), - ), - ), - ), - ); - } -} \ No newline at end of file diff --git a/frontend/public/ptitspas-login/login.html b/frontend/public/ptitspas-login/login.html new file mode 100644 index 0000000..430055e --- /dev/null +++ b/frontend/public/ptitspas-login/login.html @@ -0,0 +1,40 @@ + + + + + + P'titsPas - Connexion + + + + + + +
+ +

Grandir pas à pas, sereinement

+ + +
+ + \ No newline at end of file diff --git a/frontend/public/ptitspas-login/styles.css b/frontend/public/ptitspas-login/styles.css new file mode 100644 index 0000000..584aa53 --- /dev/null +++ b/frontend/public/ptitspas-login/styles.css @@ -0,0 +1,133 @@ +/* Reset et styles de base */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Merienda', cursive; + min-height: 100vh; + display: flex; + justify-content: center; + align-items: center; + background-color: #ffffff; +} + +/* Décor de fond */ +.river { + position: fixed; + left: 0; + top: 0; + width: 60vw; + opacity: 0.15; + pointer-events: none; + z-index: -1; +} + +/* Container principal */ +.login-container { + width: 100%; + max-width: 480px; + padding: 2rem; + display: flex; + flex-direction: column; + align-items: center; + gap: 2rem; +} + +/* Logo */ +.logo { + max-width: 220px; + height: auto; +} + +/* Slogan */ +.slogan { + font-family: 'Merienda', cursive; + text-align: center; + color: #3a3a3a; + font-size: 1.5rem; + margin-bottom: 2rem; +} + +/* Formulaire */ +.login-form { + width: 100%; + display: flex; + flex-direction: column; + gap: 1.5rem; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +/* Labels */ +label { + color: #3a3a3a; + font-weight: 600; + font-size: 1rem; +} + +/* Champs de saisie */ +input { + height: 80px; + border: none; + border-radius: 30px; + padding: 0 1.2rem; + font-size: 1rem; + font-family: inherit; + background-size: cover; +} + +input[type="email"] { + background-image: url('assets/field_email.png'); + color: #fff; +} + +input[type="password"] { + background-image: url('assets/field_password.png'); + color: #000; +} + +/* Bouton de connexion */ +.login-button { + height: 80px; + background-image: url('assets/btn_green.png'); + background-size: cover; + border: none; + border-radius: 40px; + color: #ffffff; + font-family: "Merienda", cursive; + font-size: 1.1rem; + cursor: pointer; + transition: filter 0.2s ease; +} + +.login-button:hover { + filter: brightness(1.08); +} + +/* Media queries pour mobile */ +@media (max-width: 480px) { + .river { + width: 40vw; + opacity: 0.10; + clip-path: inset(0 0 20% 0); + } + + .logo { + max-width: 120px; + } + + .login-container { + padding: 1rem; + } + + .slogan { + font-size: 1.2rem; + } +} \ No newline at end of file diff --git a/frontend/pubspec.lock b/frontend/pubspec.lock index d9fe115..1df4fe8 100644 --- a/frontend/pubspec.lock +++ b/frontend/pubspec.lock @@ -1,38 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f - url: "https://pub.dev" - source: hosted - version: "82.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "13c1e6c6fd460522ea840abec3f677cc226f5fec7872c04ad7b425517ccf54f7" - url: "https://pub.dev" - source: hosted - version: "7.4.4" - archive: - dependency: transitive - description: - name: archive - sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" - url: "https://pub.dev" - source: hosted - version: "4.0.7" - args: - dependency: transitive - description: - name: args - sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 - url: "https://pub.dev" - source: hosted - version: "2.7.0" async: dependency: transitive description: @@ -41,22 +9,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.12.0" - barcode: - dependency: transitive - description: - name: barcode - sha256: "7b6729c37e3b7f34233e2318d866e8c48ddb46c1f7ad01ff7bb2a8de1da2b9f4" - url: "https://pub.dev" - source: hosted - version: "2.2.9" - bidi: - dependency: transitive - description: - name: bidi - sha256: "77f475165e94b261745cf1032c751e2032b8ed92ccb2bf5716036db79320637d" - url: "https://pub.dev" - source: hosted - version: "2.0.13" boolean_selector: dependency: transitive description: @@ -65,70 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" - build: - dependency: transitive - description: - name: build - sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - build_config: - dependency: transitive - description: - name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" - url: "https://pub.dev" - source: hosted - version: "1.1.2" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" - url: "https://pub.dev" - source: hosted - version: "4.0.4" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" - build_runner: - dependency: "direct dev" - description: - name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" - url: "https://pub.dev" - source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 - url: "https://pub.dev" - source: hosted - version: "8.9.5" characters: dependency: transitive description: @@ -137,14 +25,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" - source: hosted - version: "2.0.3" clock: dependency: transitive description: @@ -153,14 +33,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -169,14 +41,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" - convert: - dependency: transitive - description: - name: convert - sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 - url: "https://pub.dev" - source: hosted - version: "3.1.2" cross_file: dependency: transitive description: @@ -193,38 +57,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.6" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" - source: hosted - version: "1.0.8" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - dio: - dependency: "direct main" - description: - name: dio - sha256: "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9" - url: "https://pub.dev" - source: hosted - version: "5.8.0+1" - dio_web_adapter: - dependency: transitive - description: - name: dio_web_adapter - sha256: "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78" - url: "https://pub.dev" - source: hosted - version: "2.1.1" fake_async: dependency: transitive description: @@ -281,14 +113,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.3+4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be - url: "https://pub.dev" - source: hosted - version: "1.1.1" flutter: dependency: "direct main" description: flutter @@ -310,14 +134,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.28" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1 - url: "https://pub.dev" - source: hosted - version: "2.1.0" flutter_test: dependency: "direct dev" description: flutter @@ -328,30 +144,6 @@ packages: description: flutter source: sdk version: "0.0.0" - form_validator: - dependency: "direct main" - description: - name: form_validator - sha256: "8cbe91b7d5260870d6fb9e23acd55d5d1d1fdf2397f0279a4931ac3c0c7bf8fb" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" - glob: - dependency: transitive - description: - name: glob - sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de - url: "https://pub.dev" - source: hosted - version: "2.1.3" go_router: dependency: "direct main" description: @@ -368,14 +160,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.2.1" - graphs: - dependency: transitive - description: - name: graphs - sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" - url: "https://pub.dev" - source: hosted - version: "2.3.2" http: dependency: transitive description: @@ -384,14 +168,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 - url: "https://pub.dev" - source: hosted - version: "3.2.2" http_parser: dependency: transitive description: @@ -400,14 +176,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" - image: - dependency: transitive - description: - name: image - sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928" - url: "https://pub.dev" - source: hosted - version: "4.5.4" image_picker: dependency: "direct main" description: @@ -472,38 +240,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.1+1" - intl: - dependency: "direct main" - description: - name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.dev" - source: hosted - version: "0.18.1" - io: - dependency: transitive - description: - name: io - sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b - url: "https://pub.dev" - source: hosted - version: "1.0.5" js: - dependency: transitive + dependency: "direct main" description: name: js sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted version: "0.6.7" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" - url: "https://pub.dev" - source: hosted - version: "4.9.0" leak_tracker: dependency: transitive description: @@ -584,14 +328,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" - package_config: - dependency: transitive - description: - name: package_config - sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc - url: "https://pub.dev" - source: hosted - version: "2.2.0" path: dependency: transitive description: @@ -600,14 +336,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" - url: "https://pub.dev" - source: hosted - version: "1.1.0" path_provider: dependency: transitive description: @@ -656,30 +384,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" - pdf: - dependency: "direct main" - description: - name: pdf - sha256: "28eacad99bffcce2e05bba24e50153890ad0255294f4dd78a17075a2ba5c8416" - url: "https://pub.dev" - source: hosted - version: "3.11.3" - pdf_widget_wrapper: - dependency: transitive - description: - name: pdf_widget_wrapper - sha256: c930860d987213a3d58c7ec3b7ecf8085c3897f773e8dc23da9cae60a5d6d0f5 - url: "https://pub.dev" - source: hosted - version: "1.0.4" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" - url: "https://pub.dev" - source: hosted - version: "6.1.0" platform: dependency: transitive description: @@ -696,30 +400,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - posix: - dependency: transitive - description: - name: posix - sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62 - url: "https://pub.dev" - source: hosted - version: "6.0.2" - printing: - dependency: "direct main" - description: - name: printing - sha256: "482cd5a5196008f984bb43ed0e47cbfdca7373490b62f3b27b3299275bf22a93" - url: "https://pub.dev" - source: hosted - version: "5.14.2" provider: dependency: "direct main" description: @@ -728,30 +408,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - qr: - dependency: transitive - description: - name: qr - sha256: "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445" - url: "https://pub.dev" - source: hosted - version: "3.0.2" shared_preferences: dependency: "direct main" description: @@ -808,22 +464,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" - shelf: - dependency: transitive - description: - name: shelf - sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 - url: "https://pub.dev" - source: hosted - version: "1.4.2" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" - url: "https://pub.dev" - source: hosted - version: "3.0.0" sky_engine: dependency: transitive description: flutter @@ -853,14 +493,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 - url: "https://pub.dev" - source: hosted - version: "2.1.1" string_scanner: dependency: transitive description: @@ -885,14 +517,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" - url: "https://pub.dev" - source: hosted - version: "1.0.2" typed_data: dependency: transitive description: @@ -901,30 +525,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" - vector_graphics: - dependency: transitive - description: - name: vector_graphics - sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" - url: "https://pub.dev" - source: hosted - version: "1.1.18" - vector_graphics_codec: - dependency: transitive - description: - name: vector_graphics_codec - sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" - url: "https://pub.dev" - source: hosted - version: "1.1.13" - vector_graphics_compiler: - dependency: transitive - description: - name: vector_graphics_compiler - sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" - url: "https://pub.dev" - source: hosted - version: "1.1.16" vector_math: dependency: transitive description: @@ -941,14 +541,6 @@ packages: url: "https://pub.dev" source: hosted version: "14.3.1" - watcher: - dependency: transitive - description: - name: watcher - sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" - url: "https://pub.dev" - source: hosted - version: "1.1.1" web: dependency: transitive description: @@ -957,22 +549,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: bfe6f435f6ec49cb6c01da1e275ae4228719e59a6b067048c51e72d9d63bcc4b - url: "https://pub.dev" - source: hosted - version: "1.0.0" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 - url: "https://pub.dev" - source: hosted - version: "3.0.3" xdg_directories: dependency: transitive description: @@ -981,22 +557,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.dev" - source: hosted - version: "6.5.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce - url: "https://pub.dev" - source: hosted - version: "3.1.3" sdks: dart: ">=3.7.0 <4.0.0" flutter: ">=3.27.0" diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index cbf80a7..76a381d 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -31,6 +31,7 @@ flutter: - assets/images/field_email.png - assets/images/field_password.png - assets/images/btn_green.png + - assets/images/P'titsPas_icone.png fonts: - family: Merienda diff --git a/frontend/web/index.html b/frontend/web/index.html index ff972e9..3ab3df8 100644 --- a/frontend/web/index.html +++ b/frontend/web/index.html @@ -18,21 +18,42 @@ - + - + - + - + - petitspas + P'titsPas + + + + - + diff --git a/frontend/web/manifest.json b/frontend/web/manifest.json index 57b8312..89aaa82 100644 --- a/frontend/web/manifest.json +++ b/frontend/web/manifest.json @@ -1,21 +1,21 @@ { - "name": "petitspas", - "short_name": "petitspas", + "name": "P'titsPas", + "short_name": "P'titsPas", "start_url": ".", "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", + "background_color": "#FFFEF9", + "theme_color": "#8AD0C8", + "description": "P'titsPas - Grandir pas à pas, sereinement", "orientation": "portrait-primary", "prefer_related_applications": false, "icons": [ { - "src": "icons/Icon-192.png", + "src": "assets/images/P'titsPas_icone.png", "sizes": "192x192", "type": "image/png" }, { - "src": "icons/Icon-512.png", + "src": "assets/images/P'titsPas_icone.png", "sizes": "512x512", "type": "image/png" }, diff --git a/frontend/windows/flutter/generated_plugin_registrant.cc b/frontend/windows/flutter/generated_plugin_registrant.cc index 45a0fe6..77ab7a0 100644 --- a/frontend/windows/flutter/generated_plugin_registrant.cc +++ b/frontend/windows/flutter/generated_plugin_registrant.cc @@ -7,11 +7,8 @@ #include "generated_plugin_registrant.h" #include -#include void RegisterPlugins(flutter::PluginRegistry* registry) { FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); - PrintingPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("PrintingPlugin")); } diff --git a/frontend/windows/flutter/generated_plugins.cmake b/frontend/windows/flutter/generated_plugins.cmake index b433b6d..a423a02 100644 --- a/frontend/windows/flutter/generated_plugins.cmake +++ b/frontend/windows/flutter/generated_plugins.cmake @@ -4,7 +4,6 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_windows - printing ) list(APPEND FLUTTER_FFI_PLUGIN_LIST