Formation Flutter : créer des apps mobiles multiplateformes

Créez une application mobile avec Flutter et Dart : interfaces, interactions, données et tests, à travers des exercices concrets.

3 jours Prérequis requis Cette formation s’adresse aux professionnels…

Objectifs de la formation

À l’issue de la formation, vous saurez structurer une application Flutter, concevoir des interfaces adaptatives et gérer les interactions avec Dart. Vous serez capable de récupérer des données, de tester votre application et de préparer sa compilation pour plusieurs plateformes.


Programme détaillé

Flutter permet de créer des applications mobiles pour plusieurs plateformes à partir d’un même projet. Pendant ces trois jours, vous apprendrez à construire une application fonctionnelle, de la première interface jusqu’aux tests et à la préparation de la compilation. Les notions sont abordées progressivement, avec des exemples concrets et des exercices guidés.

Le fil rouge de la formation sera une petite application de suivi de tâches : vous pourrez afficher une liste, ajouter des éléments, consulter des détails et enregistrer des données. Cet exemple vous aidera à relier les concepts de Dart et de Flutter à des besoins courants dans un projet professionnel.

Module 1 — Prendre en main Flutter et Dart

Découvrir l’environnement de développement

Vous comprendrez le rôle de Flutter, du langage Dart et des outils utilisés pour créer et lancer une application. Nous verrons comment installer ou vérifier l’environnement, démarrer un projet, choisir un appareil ou un simulateur et repérer les principaux fichiers du projet. Vous apprendrez également à utiliser le rechargement rapide pour observer les changements sans relancer toute l’application.

Écrire ses premières instructions en Dart

Les bases utiles de Dart seront présentées à travers des exemples : variables, types, fonctions, conditions, listes et objets. L’objectif n’est pas de parcourir tout le langage, mais de savoir lire et écrire le code nécessaire à une application Flutter. Vous découvrirez aussi comment les classes et les paramètres rendent le code plus facile à organiser.

Exemple concret : représenter une tâche avec un titre et un état « terminée », puis afficher ces informations dans la console.

Exercice pratique : créer un nouveau projet et écrire une fonction qui prépare une liste de tâches avec leurs états.

Module 2 — Construire une interface avec des widgets

Composer des écrans clairs

Dans Flutter, les interfaces sont constituées de widgets. Vous apprendrez à organiser un écran avec des éléments de structure comme les lignes, les colonnes et les zones défilantes, puis à ajouter du texte, des boutons, des icônes et des champs de saisie. Nous aborderons la mise en page, les espacements, les couleurs et les thèmes afin de créer une interface cohérente plutôt qu’un assemblage d’éléments isolés.

Adapter l’affichage aux besoins

Vous verrez comment rendre un écran lisible sur différentes tailles d’appareils et comment séparer l’interface en composants réutilisables. Un écran de détail, par exemple, peut reprendre le même style que la liste sans dupliquer inutilement le code. Nous évoquerons aussi les bonnes pratiques d’accessibilité, comme des libellés compréhensibles et des boutons faciles à identifier.

Exemple concret : concevoir l’écran d’accueil d’une application de tâches, avec une liste, un bouton d’ajout et un état vide explicite.

Exercice pratique : réaliser une maquette fonctionnelle de l’écran principal et ajuster sa présentation pour un téléphone de taille différente.

Module 3 — Gérer les interactions et l’état de l’application

Rendre les écrans interactifs

Vous apprendrez à réagir aux actions de la personne qui utilise l’application : appui sur un bouton, saisie dans un champ ou sélection d’un élément. Nous verrons comment mettre à jour l’écran lorsque les données changent et comment éviter que chaque composant gère les mêmes informations de son côté. Les notions d’état local et de partage de l’état seront expliquées à partir de cas simples.

Passer d’un écran à l’autre

Une application devient plus utile lorsqu’on peut se déplacer entre plusieurs vues. Vous mettrez en place une navigation entre la liste des tâches et leur détail, avec transmission des informations nécessaires. Nous aborderons aussi les validations de formulaire et les messages de confirmation, pour rendre les interactions compréhensibles.

Exemple concret : toucher une tâche pour consulter son détail, puis la marquer comme terminée depuis son écran.

Exercice pratique : ajouter un formulaire de création de tâche, vérifier que son titre n’est pas vide et actualiser la liste après validation.

Module 4 — Connecter l’application aux données

Comprendre les échanges avec un service web

Vous découvrirez les principes des appels réseau et la façon de récupérer des données au format JSON. À partir d’un exemple de service web, vous apprendrez à lancer une requête, interpréter une réponse et transformer les données reçues en objets Dart. Nous verrons également comment présenter les différents états d’un chargement : en cours, réussi ou en erreur.

Organiser et conserver les informations

Vous comparerez les données temporaires, conservées seulement pendant l’utilisation, et les données à enregistrer localement ou sur un serveur. Le choix dépend du besoin : une liste de référence peut venir d’un service distant, tandis qu’une préférence d’affichage peut rester sur l’appareil. La formation vous donne des repères pour choisir une approche adaptée sans ajouter de complexité inutile.

Exemple concret : afficher une liste d’éléments fournie par un service web et prévoir un message lisible si la connexion échoue.

Exercice pratique : intégrer une récupération de données à l’application fil rouge et gérer l’attente, le résultat vide et l’erreur.

Module 5 — Tester, corriger et préparer la compilation

Vérifier le comportement de l’application

Vous apprendrez à tester les éléments essentiels du projet : fonctions de Dart, composants d’interface et parcours utilisateur. Nous verrons comment reproduire un défaut, lire les messages de diagnostic et corriger une erreur sans masquer ses effets. Tester les cas courants et quelques situations limites, comme une liste vide ou une saisie incorrecte, permet de fiabiliser l’expérience.

Préparer une version de l’application

Vous découvrirez les étapes de vérification avant compilation : nom et icône, paramètres de plateforme, permissions utiles et contrôle du fonctionnement sur appareil. Nous expliquerons les différences générales entre la préparation d’une version Android et d’une version iOS, ainsi que les éléments à vérifier dans chaque environnement. La publication sur une boutique dépend de comptes et de démarches propres à chaque plateforme ; la formation vous aide à préparer le projet, sans présenter ces démarches comme automatiques.

Exemple concret : tester le parcours complet d’ajout et de consultation d’une tâche, puis vérifier l’affichage sur un appareil cible.

Exercice pratique : rédiger une courte liste de tests, corriger un défaut fourni et préparer les paramètres de compilation du projet.

À retenir

Au terme des trois jours, vous disposerez d’une première application structurée et d’une méthode pour poursuivre son évolution. Vous saurez où placer les interfaces, les données et les interactions, et comment vérifier le résultat sur plusieurs plateformes. Les exercices vous auront permis de pratiquer les étapes clés d’un projet Flutter.

Pour aller plus loin

Après la formation, vous pourrez enrichir le projet avec une gestion plus avancée de l’état, des tests supplémentaires ou une connexion à votre propre service web. Pour progresser, choisissez une fonctionnalité utile à votre activité, découpez-la en petites étapes et testez chaque étape sur un appareil réel ou un simulateur.

À qui s'adresse cette formation ?

Cette formation s’adresse aux professionnels et indépendants qui souhaitent créer ou faire évoluer des applications mobiles pour Android et iOS. Elle convient aussi aux débutants en développement mobile ayant déjà quelques bases en programmation.

Prérequis

Des notions de programmation, par exemple en JavaScript, Python, Java ou C#, sont recommandées. Il est utile de venir avec un ordinateur portable et de pouvoir installer les outils de développement nécessaires.

Photo d'illustration : Balázs Kétyi sur Unsplash.