Cours Flutter : créer des applications mobiles iOS et Android

Applications mobiles avec Flutter est un cours de niveau intermédiaire de 5 leçons (environ 1 h 30), avec 15 exercices et 15 questions de quiz. Prérequis : Bases de la programmation et algorithmique. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • Mobile
  • Intermédiaire
  • 5 leçons
  • 1 h 30
  • 15 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours vous apprend à créer des applications mobiles pour iOS et Android à partir d'un seul code avec Flutter. Vous découvrirez le langage Dart et sa sûreté vis-à-vis de null, composerez des interfaces avec les widgets, gérerez l'état local et partagé, chargerez des données depuis une API, puis préparerez une version signée pour la publication. Chaque leçon propose des tâches guidées au résultat vérifiable, dans DartPad ou dans un vrai projet Flutter.

Ce que tu sauras faire

  • Écrire du Dart moderne : types, null safety, classes immuables, collections et asynchrone
  • Composer des écrans avec les widgets de mise en page et des widgets réutilisables
  • Gérer l'état avec setState, la remontée d'état et ChangeNotifier, et le tester avec flutter test
  • Charger des données JSON depuis une API en objets typés et afficher chargement, erreur et résultat
  • Produire des builds de release signés pour Android et iOS et préparer leur publication

Programme des 5 leçons

  1. 01

    Dart : l'essentiel pour Flutter

    18 minAperçu gratuit
    • Déclarer des variables typées avec var, final et const et utiliser la sûreté vis-à-vis de null
    • Écrire des fonctions avec paramètres nommés et des classes avec constructeurs
    • Manipuler listes et maps et écrire du code asynchrone avec Future, async et await

    Variables et typesSûreté vis-à-vis de nullFonctions et classesFuture, async et await

  2. 02

    Widgets et mise en page

    18 min
    • Créer un projet Flutter et utiliser le rechargement à chaud
    • Composer une interface avec des widgets (MaterialApp, Scaffold, Text, Column, Row, Padding)
    • Écrire des widgets réutilisables (StatelessWidget) et afficher des listes avec ListView.builder

    WidgetsMise en pageStatelessWidgetListView.builder

  3. 03

    État et interactions

    20 min
    • Gérer un état local avec StatefulWidget et setState
    • Remonter l'état et le transmettre par des paramètres et des fonctions de rappel
    • Partager un état entre écrans avec ChangeNotifier et ListenableBuilder, et le tester

    StatefulWidget et setStateÉtat partagéChangeNotifierTests Flutter

  4. 04

    Réseau et données JSON

    18 min
    • Appeler une API REST avec le paquet http et vérifier le code de statut
    • Convertir du JSON en objets Dart typés avec fromJson
    • Afficher chargement, erreur et données avec FutureBuilder sans relancer la requête à chaque reconstruction

    Requêtes HTTPDésérialisation JSONFutureBuilder

  5. 05

    Préparer la publication d'une application Flutter

    16 min
    • Configurer l'identité de l'application : identifiant, nom, icône, version et numéro de build
    • Produire des builds de release pour Android (APK, App Bundle) et iOS, signés
    • Connaître les principes de test, de revue et de mise à jour sur les magasins d'applications

    Version et numéro de buildSignatureBuilds de releasePublication Flutter

Projet final

Application Flutter de catalogue avec panier

Réalisez avec Flutter une application de boutique : catalogue chargé depuis une API JSON (ou une fausse source) en objets typés, écran de chargement et d'erreur avec réessai, recherche, fiche produit, panier partagé en ChangeNotifier avec badge, tests unitaires et de widgets, et un build de release Android signé prêt à être distribué à des testeurs.

Livrables

  • Le code source du projet Flutter (lib/, test/, pubspec.yaml)
  • Les modèles avec fromJson et le dépôt d'accès à l'API
  • Au moins quatre tests (logique du panier et écrans) qui passent avec flutter test
  • Un APK de release signé et la configuration de signature sans secret versionné
  • Une courte fiche de publication : description, données collectées, permissions justifiées
  • Un README expliquant l'architecture et la gestion de l'état

Critères d'évaluation

  • Code Dart typé, sans ! injustifié ni avertissement de l'analyseur
  • Widgets petits, réutilisables, avec const quand c'est possible
  • État modifié uniquement par setState ou un ChangeNotifier qui notifie
  • Requêtes non relancées à chaque reconstruction, erreurs et statuts traités
  • Tests pertinents qui passent
  • Version, identifiant et signature correctement configurés

Questions fréquentes

Faut-il connaître Dart avant de commencer ?

Non. La première leçon présente l'essentiel de Dart pour Flutter. Il faut en revanche maîtriser les bases de la programmation : variables, conditions, boucles et fonctions.

Faut-il un Mac pour suivre le cours ?

Non pour apprendre : DartPad, un émulateur Android ou un téléphone Android suffisent. La compilation et la signature d'une version iOS exigent en revanche un Mac avec Xcode.

Flutter ou React Native ?

Les deux produisent des applications iOS et Android à partir d'un seul code. React Native réutilise React et JavaScript ; Flutter utilise Dart et dessine ses propres widgets. Si vous connaissez déjà React, React Native est plus direct.

Le cours explique-t-il la publication sur les magasins d'applications ?

Il couvre les principes : identifiant, version et numéro de build, signature, builds de release, permissions et règles de revue. Les démarches de compte et les conditions des magasins sont à consulter auprès d'Apple et de Google.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Applications mobiles avec Flutter » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.