DateTime
DateTime représente une date/heure ; on calcule des écarts avec Duration et on compare avec isBefore/isAfter.
final limite = DateTime.parse('2026-11-30'); final ouverte = DateTime.now().isBefore(limite);
Formater avec intl
Le paquet intl met en forme dates et nombres selon la locale (français).
DateFormat('d MMMM yyyy', 'fr').format(limite); // 30 novembre 2026
Le cycle de vie d'un State
Les méthodes clés d'un State : initState() (une fois, au début — idéal pour lancer un chargement), build() (à chaque rendu), dispose() (nettoyage : contrôleurs, abonnements).
Affiche la date limite formatée en français sur chaque carte, calcule si la campagne est encore ouverte, et organise l'appli en onglets (Campagnes / Mes commandes / Profil) avec une BottomNavigationBar. Charge les campagnes dans initState() (chapitre 13).
DateTime+intl(DateFormat) pour les dates en français.BottomNavigationBarpour les onglets (index dans l'état).- Cycle de vie :
initState/build/dispose.