Julien Martin a57993a90f feat(#78): Finaliser layout mobile responsive de PersonalInfoFormScreen
Layout mobile complètement repensé avec séparation desktop/mobile :

**Layout Desktop (_buildDesktopFields) :**
- Champs par paires horizontales (Row avec Expanded)
- Code Postal + Ville avec ratio flex 2:5
- Espacement 32px entre lignes
- Taille police : 22px labels, 20px input

**Layout Mobile (_buildMobileFields) :**
- Tous les champs empilés verticalement (Column pure)
- Chaque champ prend toute la largeur
- Espacement 12px entre champs (compact)
- Taille police : 15px labels, 14px input
- Hauteur champs réduite : 45px

**Nouveau widget CustomNavigationButton :**
- Widget réutilisable pour boutons navigation
- Enum NavigationButtonStyle (green/purple)
- Utilise assets images comme fond
- Bouton "Précédent" : fond lavande, texte violet foncé
- Bouton "Suivant" : fond vert, texte vert foncé

**Boutons mobile :**
- Positionnés sous la carte (dans le scroll)
- Aligned avec les marges de la carte (5% de chaque côté)
- Prennent toute la largeur avec Expanded
- Écart de 16px entre les deux
- Utilisation de CustomNavigationButton

**Optimisations mobile :**
- Padding carte réduit : 20px vertical (vs 40px initial)
- Toggles compacts (Switch scale 0.85)
- Titre : 18px (vs 24px desktop)
- Étape : 13px (vs 16px desktop)

Référence: #78

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-04 11:01:43 +01:00
..

petitspas

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Workflow Git

Le projet suit un Git Flow simplifié avec 3 branches principales :

  • main : version stable et déployée en production
  • develop : version intégrée et testée avant passage en production
  • feature/*, fix/*, hotfix/* : branches spécifiques au développement

Cycle standard :

# Création dune feature
git checkout develop
git checkout -b feature/FRONT-021-zone-enfants

# Développement
git add .
git commit -m "FRONT-021: Widget zone enfants"
git push origin feature/FRONT-021-zone-enfants

# Pull Request => vers develop
# Merge → suppression de la branche
Voir CONTRIBUTING.md pour les conventions détaillées.

Structure du projet Flutter

Le projet suit une architecture modulaire MVC simplifiée compatible avec Provider (ou Riverpod léger).

lib/
├── main.dart                  # Point dentrée
├── routes/                   # go_router ou auto_route
├── models/                   # Classes de données (User, Parent, Enfant, etc.)
├── services/                 # Requêtes HTTP, AuthService, StorageService
├── utils/                    # Helpers, validateurs, formatteurs
├── widgets/                  # Composants UI réutilisables
├── screens/                  # Pages par grande fonctionnalité
│   ├── auth/                 # Connexion, inscription, mot de passe oublié
│   ├── registration/         # Création parent / assistante maternelle
│   ├── dashboard/            # Tableau de bord parent / AM / gestionnaire
│   ├── profile/              # Gestion des infos utilisateur
│   └── children/             # Fiches enfants

Architecture choisie

🟩 Type : MVC Modulaire avec Provider (ou Riverpod léger)

Avantages :

  • Simple à prendre en main
  • Rapide à structurer
  • Permet la séparation des features
  • Adaptée à un projet Flutter Web PWA