0%
Carte de profil — Chapitre 55

Chapitre 55 — Carte de profil

Partie 1C — Huit mini-projets · Chapitre 55 sur 62 · 8 h

Chapitre 55 — Carte de profil

Niveau : intermédiaire Durée estimée : 8 h Pré-requis : PARTIE 1A (chapitres 01 à 18) et PARTIE 1B (chapitres 43 à 54) Ce que vous saurez faire à la fin : construire de zéro un composant d'interface soigné, paramétrable et réutilisable, l'afficher en liste, l'adapter au mode sombre et à la tablette, et ouvrir un écran de détail au clic.


55.0 — Objectifs du chapitre

À la fin de ce chapitre, vous serez capable de :

  • lire un cahier des charges et le traduire en une liste d'étapes techniques ;
  • créer un projet Flutter propre et y organiser vos fichiers par rôle ;
  • définir un thème clair et un thème sombre cohérents avec ColorScheme.fromSeed() ;
  • écrire une classe modèle Dart pure, sans dépendance à Flutter ;
  • afficher un avatar sans le moindre fichier image, à partir des initiales d'un nom ;
  • dessiner une bannière avec un dégradé linéaire ;
  • superposer un avatar sur une bannière avec Stack et Positioned ;
  • aligner trois statistiques avec des séparateurs verticaux qui ont la bonne hauteur ;
  • afficher une liste de badges qui passe automatiquement à la ligne avec Wrap ;
  • afficher une barre de progression de niveau avec LinearProgressIndicator ;
  • placer une ligne de boutons d'action qui ne déborde jamais ;
  • découper un gros build() en petits widgets nommés et réutilisables ;
  • rendre un widget paramétrable avec des champs final et des rappels (VoidCallback) ;
  • afficher une liste de profils avec ListView.builder ;
  • faire basculer toute l'application en mode sombre depuis l'AppBar ;
  • changer de mise en page au-delà d'une largeur donnée avec LayoutBuilder ;
  • ouvrir un écran de détail au clic avec Navigator.push et animer la transition avec Hero ;
  • reconnaître et corriger les erreurs de mise en page les plus fréquentes de ce type d'écran.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !