Formation Flutter Master 2022 – Devenez un expert Flutter
Introduction
Bienvenue
Qu’est-ce que le Dart ?
Les prérequis
Télécharger la bonne version de Flutter
Installation des logiciels requis
Installation sur Windows
Installation sur macOS
Installation sur macOS [ANCIENNE VERSION]
L’application Ma carte de visite
Challenge : niveau 1
L’application TheQuizz V1
Présentation de l’application avec DrawIO – Flutter 1.22
Création du projet
Organisation du projet : le système MVC
Création du StatefulWidget
Le principe du modèle
Le constructeur de classe
Le widget SafeArea
Création de la structure du screen
Le widget buildQuestion
Vrai ou Faux
Le score
Les listes
La création du contrôleur
Fonctionnement du modèle avec le contrôleur
La fonction getAnswer
La fonction getQuestionText
La propriété length
La fonction shuffle
Connexion du contrôleur au screen
Connexion du widget buildQuestion
Les conditions If Else
L’incrémentation
La fonction initState
Activation du rendu dynamique
Le site Pub.dev
Installation du package RFlutter Alert
Création de la boîte de dialogue
La fonction pop du Navigator
Le mot clé static
Le widget dynamique
Les premières connexions
Quelques corrections
Déclaration des paramètres
Factorisation des DialogButtons
Dernier correctif
L’application TheQuizz V1.1
La migration des packages – Flutter 3.3.8
Local ou privé
TextButton
Appliquer les recommandations
Bug d’affichage
Challenge : niveau 2
L’application ICanDOIT V1
Présentation avec DrawIO – Flutter 1.22
Création du projet
Création du modèle
La structure du modèle
Le JSON
Map et JSON
Le deuxième constructeur
Finalisation du modèle
Le Floating Action Button
Le principe de clé
Le Bottom Sheet
Media Query
Le widget Form
Une liste déroulante dans un formulaire
L’affichage dynamique
Le Persistent Controller
Changer de clavier
Le paramètre validator
L’appel des validations
La condition Else if
Les expressions régulières
Le constructeur de ListView
La liste des challenges
Le widget Dismissible
Personnalisation des challenges
Personnalisation du Dismissible
Dismiss Direction
Le widget AlertDialog
Asynchrone
Async/Await
Async dans notre projet
Première méthode du contrôleur
La fonction addChallenge
L’expression ternaire
Le doublon name
Le package SharedPreferences
L’itération avec la fonction map
L’encodage en JSON
L’utilité de print
Le paramètre onSaved
L’application ICanDOIT V1.1
Null Safety oblige – Flutter 3.3.8
Conflit entre Null Safety et valeur par défaut
Appliquer toutes les recommandations
Correction de bugs
L’application The Chat V1
Introduction avec DrawIO – Flutter 1.22
L’organisation
Les routes
La Map
La Stack
Création du screen d’accueil
Correctif et ajout des boutons
Personnalisation des boutons
Le widget Flexible
Le screen Se connecter
Les fonctions du Navigator
Factorisation et nettoyage du code
Connexion de l’AppBar
Le ComponentButton
Personnaliser les champs du formulaire
Factorisation du TextFormField
Le screen S’inscrire
Finalisation du screen et optimisation
L’animation avec le widget Hero
Introduction à Firebase
Configuration sur Android
Migration vers AndroidX
Configuration sur iOS
Ajout de Firebase dans notre projet
L’alternative à Async/Await
Création d’un utilisateur sur Android
Correction de bug sur iOS
Récupération des données du formulaire
Vérification des champs du formulaire
Le TextEditingController
Personnalisation des erreurs
La sauvegarde de l’historique
Se connecter avec Firebase
Intégration de l’authentification et de la redirection
La déconnexion
Correction de bug
Le fonctionnement de Firebase
La fonction checkIdentity
Intégration de la fonction checkIdentity dans nos screens
Suppression des screens dans la pile
L’application The Chat V1.1
Introduction – Flutter 3.3.8
Nouvelle version Firebase
Du changement côté Firebase
Les recommandations classiques
Deux cas particulier
Finir la liste des problèmes
Ajouter un nouveau paramètre dans Gradle
Deux erreurs
Quelques ajustements
Mise à jour du gestionnaire d’erreurs
Challenge : niveau 3
L’application NearMe V1
Changer nos deux paramètres
Installation de SharedPreferences
Correction temporaire
Utilisation du stockage
Le widget InfoWindow
L’indicateur de prix
La note
Correction de bug
Connecter la barre de navigation
Connexion au tactile
Une animation plus fluide
Les BreakPoints
Le paramètre physics
Correction de bug
Correction de bug #2
L’application Flutter™ IN’French V1
Présentation – Flutter 1.22
Création du projet
L’AppBar
Utilisation du widget ThemeData
Le widget Drawer
On ajoute un listView
Les liens du menu
Le logo Flutter
Mise en cache
Personnalisation
La structure de nos articles
Challenge Cloud Firestore
Cloud Firestore sur Android
Cloud Firestore sur iOS
Intégration du provider
Le premier article
La méthode principale
Le modèle
Intégration du modèle
Comprendre les retours
Notre système de vérification
Test et finalisation
Intégration du contrôleur
Débogage et tests
Le ListView
Correction de bug
Personnalisation
La structure du contact screen
Factorisation
Lancer des url
Extraction et interraction
Fonctionnalité avancée
Structure de l’ArticleScreen
La route dynamique
Le widget FittedBox
Calcul de la hauteur
La fonction de rafraichissement
Les limitations de l’application
Intégration du package
Génération du Html
L’application Circle Action V1
Introduction – Flutter 1.22
Challenge
Gérer l’interface
Le concept d’animation et Flutter
Le Ticker Provider
Le widget AnimationController
Le widget Animation
Mise en pratique
Les assets
La rotation
Widget Stack et interaction
Le contrôleur en action
L’interpolation
Pseudo-aléatoire
Définir la couleur
Décodage
L’algorithme final
Utilisation de l’algo
Relancer le jeu
Correction de bug
Ajout du texte
Challenge : le modèle
Création du modèle
La liste d’action
La fonction getAction
Écouter l’animation
L’ordre d’exécution
Intégration du callback
Personnalisation du SimpleDialog
Memory Leak
L’application BuyIT V1
|
1 quiz
Introduction – Flutter 1.22
Initialisation du projet
Le mot-clé export
Installation de Firebase
Les champs du formulaires
Le bouton animé
Ajout logo et responsive
Validation et sauvegarde
Nouvel utilisateur et page d’inscription
Tests et correctifs
Le widget Orientation
Capturer les erreurs Firebase
Snackbar et context
Fermer le clavier
Animation et reset
Les fonctions globales
Modifier le thème
La fonction where
Test du contrôleur
La condition noMoreProd
Notre pagination en théorie
La pagination avec Cloud Firestore
Le widget StreamController
ScrollController et Listener
L’offset
Intégration de getPromo
Stocker les DocumentSnapshot
L’architecture de notre BDD
Le composant
Agencement de notre product card
Quelques ajustements
Le prix
Limiter le nombre de caractères
La bannière promo
Debugging et optimisation
La structure du produit
Introduction à la sérialisation
Générer le fichier
Nos JsonKey
Le mot-clé factory
L’application web BuyIT Admin V1
Présentation de l’application – Flutter 2.0.4
Flutter 2.0.4
Les trois types de test
Test d’intégration
La méthode Test Driven Development (TDD)
Mini-projet blockchain : introduction
Mini-projet blockchain : initialiser un objet à chaque test
Mini-projet blockchain : l’objet Block
Mini-projet blockchain : développer en partant du test
Mini-projet blockchain : le bloc Genesis
Mini-projet blockchain : le dernier test
Le socle de l’application
Les packages de base
Nos constantes
Récupérer les ressources
Ajout des fonctions manquantes
La solution classique pour mettre à jour son code
Flutter Fix
Erreur au lancement
Configurer Firebase pour le web
Intégrer le contrôleur
Revue des changements
Le nouveau format des erreurs de Firebase
Restreindre l’accès à la console
Deux erreurs à corriger
Les erreurs génériques
Null Safety : mise à jour vers Flutter 2.2
Null Safety : introduction
Null Safety : le suffix “?”
Null Safety : les autres suffixes
Null Safety : place à la pratique
Null Safety : les derniers changements
Connexion automatique
Un menu qui reste ouvert
Montée en gamme du menu
Quelques retouches
Challenge : reproduire la maquette
Nouvel indicateur de chargement et StreamBuilder
Structurer nos modules
Le moule de configuration
leçon précédente
leçon suivante
Installation des logiciels requis
Formation Flutter Master 2022 – Devenez un expert Flutter
Installation des logiciels requis
Contenu de la leçon
0% Terminé
0/3 Etapes
Installation sur Windows
Installation sur macOS
Installation sur macOS [ANCIENNE VERSION]
leçon précédente
Retour au cours
leçon suivante