0%
Calculatrice — Chapitre 56

Chapitre 56 — Calculatrice

Partie 1C — Huit mini-projets · Chapitre 56 sur 62 · 12 h

Chapitre 56 — Calculatrice

Niveau : intermédiaire Durée estimée : 12 h Pré-requis : chapitres 08, 09, 13, 16 (Dart) et 45, 46, 48, 49, 51 (Flutter), plus le chapitre 55 (projet 1) Ce que vous saurez faire à la fin : écrire une application Flutter dont le cœur métier est une classe Dart pure, testée unitairement, et dont l'interface n'est qu'une couche d'affichage branchée dessus.


56.0 — Objectifs du chapitre

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

  • transformer un cahier des charges en automate d'états avant d'écrire la moindre ligne ;
  • isoler la logique métier dans une classe Dart sans aucun import 'package:flutter/...' ;
  • modéliser la saisie chiffre par chiffre d'un nombre, séparateur décimal compris ;
  • enchaîner des opérations comme une vraie calculatrice de poche, gérer la répétition de =, C, CE, le signe et le pourcentage ;
  • lever et rattraper une exception métier (DivisionParZeroException) ;
  • formater un double pour un affichage humain : séparateur de milliers, virgule décimale, notation scientifique ;
  • empêcher un texte trop long de faire déborder l'écran avec FittedBox ;
  • construire une grille de boutons avec Row et Expanded, sans GridView ;
  • écrire un widget de bouton réutilisable, paramétré par un enum et coloré par le ColorScheme ;
  • produire un effet d'appui correct avec Material + InkWell ;
  • brancher la logique sur l'interface avec un unique setState, et afficher un historique dans un ListView ;
  • accepter le clavier physique avec KeyboardListener et LogicalKeyboardKey ;
  • écrire les tests unitaires de la logique, exécutables sans émulateur.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !