Julien Martin 890619ff59 feat(#78): Créer infrastructure générique pour formulaires multi-modes
Nouvelle architecture centralisée pour tous les formulaires :

**Configuration centrale (display_config.dart):**
- DisplayMode enum (editable/readonly)
- LayoutType enum (mobile/desktop)
- DisplayConfig class pour configuration complète
- LayoutHelper avec utilitaires (détection, spacing, etc.)
- Breakpoint: 600px (mobile < 600px reste toujours vertical)

**Widgets génériques (form_field_wrapper.dart):**
- FormFieldWrapper: champ auto-adaptatif (TextField ou Text readonly)
- FormFieldRow: ligne responsive (horizontal desktop, vertical mobile)

**Structure de page (base_form_screen.dart):**
- BaseFormScreen: layout complet avec carte, boutons, navigation
- Gestion auto des assets carte (horizontal/vertical selon layout)

**Avantages:**
 Code unique pour editable + readonly + mobile + desktop
 Logique centralisée (aucune duplication)
 Héritage automatique via DisplayConfig propagé
 API simple et cohérente

Prochaine étape: Migration des widgets existants

Référence: #78

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 17:33:29 +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