Académique Documents
Professionnel Documents
Culture Documents
1 Introduction
9 Conclusion
Introduction à Flutter
Flutter est un projet open source développé par Google. Il s’appuie sur le
langage de programmation DART, lancé en 2011. Flutter est un
Framework capable de faire du développement multiplateformes. L’objectif
du projet Flutter est de permettre de développer de manière rapide et
simplifiée des applications mobiles multiplateformes. En d’autres termes
avec Flutter, vous développez une seule et unique application qui
fonctionnera à la fois sur les plateformes iOS et Android. Le design de
l’application est identique que vous soyez sur un appareil iOS ou Android.
Pour ce faire, Flutter met à disposition ses propres Widgets qui
représentent des éléments graphiques iOS et Android.
Installation de l’environnement
Pour fonctionner, Flutter nécessite Windows 7 SP1 ou supérieur (64bits),
Windows PowerShell 5.0 ou supérieur (dans notre cas déjà préinstallé avec
Windows 10) et Git version 2.x ou supérieur. Pour connaı̂tre votre version
de PowerShell, ouvrez une console PowerShell. Une fois que c’est fait,
saisissez cette commande : $PsVersionTable
Vous obtiendrez un résultat suivant :
Installation de Git
Vous avez déjà git ? Si git est déjà installé sur votre machine, vérifiez bien
que vous pouvez exécuter des commandes git depuis l’invite de commande
ou depuis PowerShell. Par exemple en saisissant la commande : git
-–version Cela vous permettra par la même occasion de vérifier votre
version. Si vous n’avez pas à minima la version 2.0, mettez-le à jour.
Une fois l’archive zip téléchargée, extraire les fichiers et placez le contenu
à l’emplacement d’installation souhaité pour le SDK Flutter, par
exemple,C:/flutter.
Pr. Bourkoukou (FSTG) Introduction à Flutter March 13, 2024 14 / 86
Installation et configuration de l’environnement de
développement
Configuration de l’environnement
1. Accepter les contrats de licences Android
Configuration de l’environnement
1. Accepter les contrats de licences Android (Suite)
Une fois toutes les licences acceptées, vous pouvez à nouveau lancer un
diagnostic à l’aide de la commande vue précédemment pour vérifier que le
point est désormais valide. Pour chaque licence, tapez Y puis validez.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio
Dans la mesure où nous n’utiliserons pas Android Studio comme éditeur
de code, il n’est pas obligatoire d’installer les plugins Flutter et Dart pour
Android Studio. Cependant, voici la marche à suivre au cas où et
également pour éviter d’avoir l’erreur dans le diagnostic Flutter.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio (Suite)
Ouvrez Android Studio, puis sur l’écran d’accueil, cliquez sur Plugins.
Dans la fenêtre Plugins, rechercher flutter et cliquez sur le bouton Install.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio (Suite)
Acceptez la Privacy Note en cliquant sur Accept.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio (Suite)
Lorsqu’on vous propose d’installer le plugin Dart (dépendance au plugin
Flutter) cliquez Yes.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio (Suite)
A la fin de l’installation, cliquez sur Restart IDE pour appliquer les
modifications.
Configuration de l’environnement
2. Installer les plugins Flutter pour Android Studio (Suite)
Une fois l’opération effectuée, vous pouvez à nouveau lancer un diagnostic
à l’aide de la commande vue précédemment pour vérifier que le point
concernant les plugins Android Studio est désormais valide.
Configuration de l’environnement
Dans mon exemple, nous allons utilisez un émulateur Android au lieu d’un
vrai device. Pour configurer l’émulateur, Ouvrez Android Studio, puis sur
l’écran d’accueil, notez que vous pouvez désormais créer des projets
Flutter. Pour pouvoir configurer l’émulateur, il est nécessaire de créer un
projet temporaire pour accéder au menu de configuration de l’émulateur.
Pour cela, cliquez sur Start a new Flutter project.
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Pour configurer l’émulateur, cliquez sur le menu Tools puis sélectionner
Device Manager.
Configuration de l’environnement
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
A l’étape Select Hardware, sélectionnez Phone dans la partie Category,
puis sélectionnez un modèle de téléphone, par exemple Pixel 3a, puis
cliquez sur Next.
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Une fois le téléchargement terminé, cliquez sur Finish. Une fois l’image
système prête, cliquer sur le bouton play afin de lancer l’émulateur.
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Configuration de l’environnement
3. Paramétrage de ‘émulateur sous Android Studio (Suite)
Une fois l’opération effectuée, vous pouvez à nouveau lancer un diagnostic
à l’aide de la commande vue précédemment pour vérifier que le point
concernant le device est résolue.
Vous pouvez quitter Android Studio mais gardez bien l’émulateur ouvert.
Pr. Bourkoukou (FSTG) Introduction à Flutter March 13, 2024 40 / 86
Première application Flutter
Première application Flutter
Exemple de main.dart I
Widgets de base I
Flutter est livré avec une suite de widgets de base puissants, parmi lesquels
les suivants sont couramment utilisés :
Text : Le widget Text vous permet de créer une série de texte stylisé
dans votre application.
Row, Column : Ces widgets flexibles vous permettent de créer des
mises en page flexibles dans les directions horizontale (Row) et
verticale (Column). La conception de ces objets est basée sur le
modèle de présentation flexbox du Web.
Stack : Au lieu d’être orienté linéairement (horizontalement ou
verticalement), un widget Stack vous permet de placer des widgets les
uns sur les autres dans l’ordre de peinture. Vous pouvez ensuite
utiliser le widget Positioned sur les enfants de a Stack pour les
positionner par rapport au bord supérieur, droit, inférieur ou gauche
de la pile. Les piles sont basées sur le modèle de disposition de
positionnement absolu du Web.
Pr. Bourkoukou (FSTG) Introduction à Flutter March 13, 2024 51 / 86
Widgets et UI avec Flutter L’Arbre des Widgets
Widgets de base II
@override
Widget b u i l d ( B u i l d C o n t e x t c o n t e x t ) {
return Scaffold (
appBar : AppBar ( t i t l e : Text ( ’ Exemple a v e c s e t S t a t e ’ ) ) ,
body : C e n t e r (
c h i l d : Column (
mainAxisAlignment : MainAxisAlignment . center ,
children : [
Text ( ’ Nombre de c l i c s : $compteur ’ ) ,
ElevatedButton (
onPressed : () {
setState (() {
c o m p t e u r++;
});
},
c h i l d : Text ( ’ C l i q u e z i c i ’ ) ,
) ,] ,) ,) ,);}}
N a v i g a t o r . push (
context ,
MaterialPageRoute (
b u i l d e r : ( c o n t e x t ) => S e c o n d S c r e e n ( d a t a : myData ) ,
),
);
RaisedButton (
onPressed : () {
setState (() {
c o u n t e r ++;
});
},
c h i l d : Text ( ’ I n c r e m e n t ’ ) ,
)
F u t u r e<v o i d> f e t c h D a t a ( ) a s y n c {
f i n a l r e s p o n s e = a w a i t h t t p . g e t ( ’ h t t p s : / / a p i . e x a m p l e . com/ data ’ ) ;
i f ( r e s p o n s e . s t a t u s C o d e == 2 0 0 ) {
// T r a i t e m e n t d e s d o n n e s i c i
} else {
// G e s t i o n d e s e r r e u r s
}
}
Firebase Authentication :
▶ Intégration de systèmes d’authentification sécurisés.
▶ Utilisation de FirebaseUI pour une authentification facile.
Firebase Realtime Database et Firestore :
▶ Stockage et récupération de données en temps réel.
▶ Utilisation de Firebase Cloud Firestore pour une base de données
NoSQL évolutive.
Firebase Cloud Functions :
▶ Déploiement de fonctions serverless pour des tâches backend
personnalisées.
// I n s c r i p t i o n d ’ un n o u v e l u t i l i s a t e u r
await auth . createUserWithEmailAndPassword ( email : ’ e m a i l @ e x a m p l e . com ’ ,
password : ’ motdepasse ’ ) ;
// C o n n e x i o n d ’ un u t i l i s a t e u r e x i s t a n t
await auth . signInWithEmailAndPassword ( email : ’ e m a i l @ e x a m p l e . com ’ ,
password : ’ motdepasse ’ ) ;
// D e c o n n e x i o n de l ’ u t i l i s a t e u r actuel
await auth . signOut ( ) ;
Conclusion I
En résumé, Flutter se positionne comme un framework de développement
d’applications mobiles robuste et flexible. Sa conception centrée sur les
widgets, la réactivité, et l’utilisation du langage Dart en font une option
séduisante pour les développeurs. La modularité de sa structure et la
gestion efficace de l’interface utilisateur, combinées à des fonctionnalités
innovantes telles que le Hot Reload, offrent un processus de
développement rapide et itératif.
L’écosystème Flutter propose une variété de widgets préconçus, facilitant
la création d’interfaces utilisateur riches et personnalisées. Des aspects
cruciaux tels que la navigation fluide entre les écrans, la gestion de l’état,
et l’intégration aisée de données depuis des sources locales ou distantes
contribuent à faire de Flutter un choix privilégié pour le développement
d’applications.
Que vous envisagiez de concevoir des applications simples ou des projets
plus complexes, Flutter s’adapte à une multitude de scénarios de
Conclusion II