Lecture automatique
Complétion automatique
Partie précédente
Valider et continuer
Créer des apps avec Flutter 3
1.1 - Créer des apps Flutter
A propos de ce cours (1:10)
Avant d'aller plus loin
Obtenir de l'aide (1:53)
Obtenir les codes sources
2.1 − Afficher une interface graphique
A propos de ce chapitre (0:50)
Un monde de Widgets (1:41)
Les types de Widgets (1:38)
Structure d'une app Flutter (2:55)
Créer un Widget simple (StatelessWidget) (5:57)
Composer plusieurs éléments avec Column (1:58)
Utiliser le Widget Icon (2:46)
Exercice 1 : composer plusieurs éléments avec Row (3:01)
Comprendre l'alignement principal (4:02)
Comprendre l'alignement croisé (3:13)
Définir la taille des column et row (1:43)
Exercice 2 : corriger l'alignement de l'exercice 1 (5:39)
Recevoir des données à afficher (3:31)
L'essentiel de ce chapitre (1:27)
2.2 − Ajouter de l'interactivité
A propos de ce chapitre (0:35)
StatelessWidget et StatefulWidget (3:48)
Créer un Widget dynamique (StatefulWidget) (5:45)
Utiliser le Widget IconButton (4:46)
Modifier les données d'état de votre StatefulWidget (3:35)
TextButton, ElevatedButton, et OutlinedButton (5:35)
Afficher ou masquer des vues en fonction de l'état (4:50)
L'essentiel de ce chapitre (0:54)
2.3 − App : Clicker
Présentation de l'app à réaliser (2:13)
Création du projet et de l'écran de jeu (4:02)
Création des variables et boutons (4:17)
Démarrer une partie et compter les clics (1:50)
2.4 − Mettre en page efficacement
Taille et position des Widgets (4:58)
Taille des enfants d'une row ou column (2:40)
Utilisation de Widgets flexibles (4:09)
Flexible et Expanded (2:30)
Espacement : Spacer et SizedBox (1:36)
SafeArea (2:37)
Utiliser le Widget Container (1:34)
CrossAxisAlignment : stretch (1:51)
2.5 − App : Clicker devient un jeu
Améliorer la mise en page (4:55)
Ajouter un minuteur de 10 secondes (4:29)
Afficher le record de score (5:40)
3.1 − Permettre à l'utilisateur de saisir du texte
Utiliser un TextField (6:13)
Améliorer le comportement de vos champs texte (5:49)
Présentation du TextField (5:32)
Utiliser un formulaire : Form et TextFormField (6:48)
Pré-remplir un champ texte avec une valeur (4:18)
Gérer l'apparition et la disparition du clavier virtuel (2:32)
Exercice : Clicker et pseudo du joueur (7:54)
3.2 − Afficher des listes
Afficher une image depuis Internet (5:46)
Utiliser le composant ListView de façon statique (1:33)
Utiliser le composant ListView de façon dynamique (6:05)
Exercice : Stocker les meilleurs scores dans un tableau (6:02)
Exercice : Afficher le hall of fame du clicker (6:06)
3.3 − Créer ses propres widgets
Créer un widget réutilisable (8:31)
A propos de ce chapitre (0:48)
Personnaliser notre widget (7:17)
Recevoir des évènements depuis nos composants (9:04)
Exercice 1 : Ajouter un bouton de suppression (8:13)
Exercice 2 : Demander une confirmation à l’utilisateur (9:41)
Optimiser nos fonctions Build (10:12)
L'essentiel de ce chapitre (1:14)
4.1 − Charger et afficher des données
A propos de ce chapitre (1:08)
Comprendre les tâches asynchrones (4:51)
Exécuter des tâches asynchrones en Dart (5:43)
Afficher un indicateur de chargement pendant une tâche asynchrone (2:05)
Utiliser un widget FutureBuilder (6:33)
L'essentiel de ce chapitre (0:38)
4.2 − Webservices et communication HTTP
A propos de ce chapitre (1:30)
Comprendre la notion de service web (2:01)
Requêtes HTTP (4:42)
Réponses HTTP (2:40)
Solutions pour utiliser un service web (5:25)
Installer un package en Dart : HTTP (5:01)
Charger et afficher du texte avec Flutter (5:10)
Comprendre le format JSON (4:42)
Charger et convertir du JSON en Dart (7:17)
Afficher une liste de données téléchargées avec Flutter (6:15)
L'essentiel de ce chapitre (1:25)
5.1 − Styles et ressources
A propos de ce chapitre (0:54)
ThemeData : couleurs et textes (3:41)
Gérer le mode sombre (5:41)
Themes, couleurs et Material Design 3 (3:48)
Utiliser le thème dans nos Widgets (4:29)
Centraliser les réglages des composants (7:55)
Utilisation de ressources externes (2:20)
Utiliser des ressources texte, json et binaires (5:43)
Gestion efficace des ressources (3:30)
Gérer des variantes de vos ressources (2:08)
L'essentiel de ce chapitre (0:53)
5.2 − Créer une app internationale
Ajouter le plugin Flutter Intl (VSCode) (1:30)
Générer les fichiers de base et configurer le projet (6:18)
Définir les textes à traduire (3:47)
Intégrer des variables dans les textes traduits (3:38)
Gérer les pluriels (6:01)
Créer des catégories de textes (3:37)
L'essentiel de ce chapitre (2:36)
6.1 − Créer et naviguer entre les écrans
À propos de ce chapitre (1:00)
Créer un nouvel écran (3:03)
Navigation 1.0 ou 2.0 ? (11:52)
Afficher un nouvel écran et revenir (3:42)
Transférer des données à votre nouvel écran (2:13)
Organiser son code pour des apps complexes (5:52)
L'essentiel de ce chapitre (1:33)
6.2 − Clicker - multi écrans
Présentation de l'exercice à réaliser (1:59)
Modèle : la classe Game (7:57)
Rendre les objets Game intelligents (5:13)
Modèle : la classe GamesManager (7:22)
Rendre les objets GamesManager intelligents (6:01)
Utiliser le GamesManager dans l’écran de jeu (4:45)
Afficher les informations d’une partie en cours (5:45)
Créer l’écran du Hall of Fame (4:30)
Préparer et afficher la liste des meilleurs scores (10:53)
L'essentiel de ce chapitre (1:06)
7.1 − Sauvegarder des données sur l’appareil
À propos de ce chapitre (1:03)
Sauvegarde de données légères (6:25)
Sauvegarde de données confidentielles (3:02)
Conseils d’organisation pour la sauvegarde légère (2:20)
Sauvegarder des données dans des fichiers (5:20)
Fichiers : lire et écrire (8:03)
Utiliser une base de données SQLite avec Floor (3:31)
Floor SQLite : créer une entité (5:09)
Floor SQLite : créer un DAO (4:55)
Floor SQLite : créer et utiliser la base de données (4:33)
Floor SQLite : migrer une base de données (5:13)
L'essentiel de ce chapitre (1:46)
7.2 − Clicker - sauvegarde des scores
Présentation de l'exercice à réaliser (1:44)
Préparer la gestion d’une base de données (5:11)
Préparer le GamesManager pour qu’il utilise la base de données (4:50)
Préparer le GameScreen pour qu’il utilise la base de données (9:06)
Préparer Floor et l’entité SQL (7:41)
Créer le DAO de Floor et utiliser la base de données (8:32)
8 - Animations
A propos de ce chapitre (1:04)
Animation avec le SDK officiel (7:02)
Flutter Animate (3:42)
Ajouter des animation (2:01)
Activer le mode debug pour régler nos animations (1:53)
Affiner chaque animation (3:12)
Coordonner plusieurs animations (2:31)
Utiliser le contrôleur (2:18)
Aller plus loin avec Flutter animate (2:23)
L’essentiel de ce chapitre (2:16)
9.1 − Publier votre app
A propos de ce chapitre (1:27)
Préparer l’icône pour l’AppStore et le PlayStore (7:36)
Numéro de version et numéro de build (5:08)
9.2 − Publication Android sur le PlayStore
Préparer l’identifiant d’application Android (2:24)
Préparer la signature numérique pour Android et le PlayStore (9:57)
Compiler votre app Flutter pour le PlayStore (7:35)
Préparer la fiche PlayStore de votre app (3:52)
Comprendre les différents types de tests du Playstore (3:38)
Envoyer le binaire sur le PlayStore (4:25)
Installer une version de test interne sur un mobile (1:21)
Transformer une version de test en version publique (3:44)
9.3 − Publication iOS sur l’AppStore
Préparer le bundle id iOS (2:48)
Préparer les services web d’apple (3:43)
Utiliser le projet Xcode généré automatiquement par Flutter (1:43)
Uploader votre archive sur l’AppStore (3:00)
Publier votre app en beta test sur TestFlight (4:37)
Publier votre app en public sur l’AppStore (1:22)
Extras
Mettre à jour Flutter (2:22)
Migrer un projet Flutter 1.22 vers Flutter 2.0 - Null Safety (13:58)
Tester sur appareils en simultané (2:54)
Veni Vidi Vici
Bravo. Bien joué 🤟 (1:58)
À propos de ce chapitre
Les documents sont verrouillés
Si vous êtes déjà inscrit,
veuillez vous authentifier
.
Inscrivez-vous au cours pour débloquer