Flutter - Développement d'applications mobiles multiplateformes
Formation créée le 02/04/2026. Dernière mise à jour le 03/04/2026.
Version du programme : 2
Version du programme : 2
Type de formation
DistancielDurée de formation
21 heures (3 jours)Flutter - Développement d'applications mobiles multiplateformes
Objectif de formation : Permettre aux participants de concevoir, développer et déployer des applications mobiles multiplateformes performantes avec Flutter et le langage Dart, en maîtrisant l'architecture, la gestion de l'état, l'intégration d'API et les bonnes pratiques de développement professionnel. Un projet applicatif fil rouge est développé progressivement tout au long de la formation — de la configuration de l'environnement jusqu'au déploiement sur les stores — permettant à chaque participant de repartir avec une application fonctionnelle complète.
Objectifs de la formation
- Maîtriser les fondamentaux du langage Dart et son écosystème
- Comprendre l'architecture Flutter et la logique orientée widgets
- Créer des interfaces utilisateur attrayantes, réactives et adaptées à tous les écrans
- Gérer l'état d'une application avec les patterns professionnels (setState, Provider)
- Intégrer des API REST et assurer la persistance locale des données
- Implémenter la navigation multi-écrans et le routage
- Tester, déboguer et optimiser une application Flutter
- Déployer une application sur les stores iOS et Android
Profil des bénéficiaires
Pour qui
- Développeurs souhaitant créer des applications mobiles iOS et Android à partir d'une base de code unique
- Développeurs web (JavaScript, TypeScript) ou backend (Java, C#, Python) souhaitant se reconvertir au développement mobile
- Tech leads et responsables techniques évaluant Flutter pour leurs projets
Prérequis
- Expérience dans au moins un langage de programmation orienté objet (Java, C#, JavaScript, Python ou équivalent)
- Notions de base en développement logiciel (fonctions, classes, structures de données)
- Aucune connaissance préalable de Flutter ou Dart requise
Contenu de la formation
Module 1 — Dart : le langage de Flutter (3h)
- Pourquoi Dart ? Positionnement dans l'écosystème mobile, avantages face à JavaScript et Kotlin
- Syntaxe fondamentale : variables, types fortement typés, constantes, null safety
- Structures de contrôle : conditions, boucles, fonctions
- Programmation orientée objet : classes, objets, constructeurs, héritage, interfaces, mixins
- Gestion des collections : listes, maps, sets — création et itération
- Asynchronisme en Dart : Future, async/await, Streams — indispensable pour les appels réseau
- Gestion des exceptions et bonnes pratiques de code Dart
- Travaux pratiques : exercices progressifs sur la syntaxe Dart — écriture de classes métier, manipulation de collections, simulation d'appels asynchrones avec Future et async/await. Prise en main de l'environnement DartPad puis Android Studio / VS Code
Module 2 — Architecture Flutter et fondamentaux des widgets (3h)
- Architecture Flutter : moteur de rendu Skia/Impeller, arbre de widgets, cycle de vie
- Tout est widget : widgets Stateless vs Stateful — différences, cas d'usage, bonnes pratiques
- Les widgets fondamentaux : Container, Row, Column, Stack, Expanded, Padding, SizedBox
- Material Design et Cupertino : construire une interface cohérente iOS et Android
- Hot reload et hot restart : workflow de développement accéléré
- Structure d'un projet Flutter : dossiers, fichiers, pubspec.yaml, gestion des dépendances (pub.dev)
- Configuration de l'émulateur et des devices physiques
- Travaux pratiques : création du projet fil rouge — mise en place de la structure, construction du premier écran avec widgets de base, premier hot reload, personnalisation du thème Material
Module 3 — Interfaces utilisateur avancées et responsive design (3h)
- Layouts avancés : Flex, Wrap, GridView, ListView — gestion du scroll et des listes dynamiques
- Widgets d'interaction : TextField, Form, validation, boutons, GestureDetector
- Adaptation aux différentes tailles d'écran : MediaQuery, LayoutBuilder, responsive design
- Thèmes et styles globaux : ThemeData, couleurs, typographie, cohérence visuelle
- Assets : images, icônes, polices personnalisées — intégration et optimisation
- Widgets personnalisés : créer ses propres composants réutilisables
- Travaux pratiques : construction de l'écran principal du projet fil rouge avec liste dynamique, formulaire de saisie validé, images et thème personnalisé — rendu adaptatif testé sur émulateurs iOS et Android
Module 4 — Gestion de l'état (2h)
- Pourquoi la gestion de l'état est le sujet central en Flutter
- setState : limites et cas d'usage appropriés
- Quand utiliser setState vs Provider — règles de décision pratiques
- Introduction aux patterns avancés : BLoC/Cubit pour les projets d'équipe (panorama)
- Bonnes pratiques d'architecture : séparation UI / logique métier
- Travaux pratiques : migration du projet fil rouge vers Provider — extraction de la logique métier, mise en place d'un ChangeNotifier, liaison avec l'interface
Module 5 — Données : API REST et persistance locale (3h)
- Appels HTTP avec le package http et Dio : GET, POST, PUT, DELETE
- Sérialisation JSON : dart:convert, fromJson/toJson, gestion des erreurs réseau
- Affichage asynchrone : FutureBuilder et StreamBuilder
- Persistance locale des données : SharedPreferences : stocker des préférences et petites données simples, SQLite avec sqflite : base de données locale pour des données structurées
- Gestion des états de chargement : loading, error, empty, success
- Sécurité des appels API : gestion des tokens, headers d'authentification
- Travaux pratiques : intégration d'une API REST publique dans le projet fil rouge — appel, désérialisation JSON, affichage avec FutureBuilder, gestion des erreurs réseau, sauvegarde locale avec SharedPreferences
Module 6 — Navigation et routage (2h)
- Navigation entre écrans : Navigator 2.0 et routes nommées
- Passage de données entre écrans : arguments, résultats de retour
- Navigation conditionnelle : authentification, redirection, deep linking
- BottomNavigationBar, Drawer et TabBar : navigation principale de l'application
- GoRouter : introduction au package de routage recommandé par l'équipe Flutter
- Travaux pratiques : mise en place de la navigation complète du projet fil rouge — écrans multiples, passage de paramètres, navigation principale avec BottomNavigationBar
Module 7 — Tests, débogage et performance (3h)
- Flutter DevTools : inspecteur de widgets, analyse mémoire, profiling des performances
- Déboguer avec breakpoints, logs et le widget inspector
- Identifier et corriger les problèmes de performance : rebuilds inutiles, jank, images non optimisées
- Tests unitaires avec flutter_test : tester la logique métier indépendamment de l'UI
- Tests de widgets : tester le rendu et les interactions
- Introduction aux tests d'intégration
- Travaux pratiques : session de diagnostic sur le projet fil rouge — identification des rebuilds inutiles avec DevTools, optimisation, écriture de tests unitaires sur la logique métier et de tests de widgets sur un composant clé
Module 8 — Déploiement et bonnes pratiques (2h)
- Préparer l'application pour la production : configuration, icônes, splash screen, numéro de version
- Signature de l'application Android : keystore, build.gradle, APK vs App Bundle
- Soumission sur le Google Play Store : étapes, prérequis, délais
- Préparation pour l'App Store iOS : certificats, provisioning profiles, Xcode
- Bonnes pratiques finales : organisation du code, gestion des dépendances, documentation
- Présentation finale du projet fil rouge : démonstration de l'application complète
- Travaux pratiques : build de production de l'application fil rouge sur Android (App Bundle signé), vérification de la conformité store, checklist de déploiement iOS, présentation finale collective
Équipe pédagogique
Professionnel expert technique et pédagogique.
Suivi de l'exécution et évaluation des résultats
- Émargement numérique
- Mises en situation
- Formulaires d’évaluation de la formation
- Certificat de réalisation de l’action de formation
Ressources techniques et pédagogiques
- Espace intranet de formation
- Documents supports de formation projetés
- Exposés théoriques
- Étude de cas concrets
- Mise à disposition en ligne de documents supports à la suite de la formation
Qualité et satisfaction
Taux de satisfaction des apprenants, nombre d'apprenants, taux et causes des abandons, taux de retour des enquêtes, taux d'interruption en cours de prestation...