MaterialApp, la racine
MaterialApp englobe l'application : elle apporte le style Material, la navigation, le thème et la locale.
MaterialApp(
title: 'Fioul Groupé',
home: AccueilScreen(),
)
Scaffold, la structure d'écran
Scaffold fournit la charpente d'un écran : appBar (haut), body (contenu), floatingActionButton, bottomNavigationBar, drawer.
Scaffold( appBar: AppBar(title: const Text('Campagnes')), body: /* la liste */, )
AppBar & FloatingActionButton
L'AppBar porte le titre et des actions ; le FloatingActionButton est le bouton d'action principal (ex. « nouvelle campagne » pour un coordinateur).
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: const Icon(Icons.add),
)
Les boutons
ElevatedButton (bouton plein), TextButton (plat), OutlinedButton (contour). Tous prennent onPressed et un child.
ElevatedButton(onPressed: () {}, child: const Text('Rejoindre'))
Le thème
On centralise couleurs et polices dans ThemeData (couleur d'accent, mode clair/sombre), appliqué à toute l'appli via MaterialApp.
theme: ThemeData(colorSchemeSeed: Colors.teal, useMaterial3: true)
Monte le squelette de l'appli : MaterialApp + Scaffold avec une AppBar « Fioul Groupé », un thème aux couleurs du projet, et un FloatingActionButton (réservé au coordinateur, plus tard). Tu tiens la coquille de tous les écrans à venir.
MaterialApp(racine) →Scaffold(écran) →AppBar/body/FAB.- Boutons : Elevated / Text / Outlined, avec
onPressed. - Thème centralisé dans
ThemeData.