Cours : Programmation Web et Mobile Avancée avec Flutter
Objectif du cours :
Ce cours permet aux étudiants d’acquérir des compétences avancées en développement
d'applications mobiles et web en utilisant Flutter. Ils apprendront à créer des applications
performantes et interactives, à gérer des données et à intégrer des API dans un environnement
multiplateforme.
Prérequis :
Connaissances élémentaires en programmation (variables, fonctions, objets)
Familiarité avec HTML, CSS, JavaScript (facultatif mais utile pour les concepts de front-end)
Semaine 1-2 : Introduction à Flutter et Dart
Présentation de Flutter : avantages du développement multiplateforme
Installation et configuration de l’environnement (VS Code ou Android Studio)
Introduction à Dart : syntaxe, variables, fonctions, classes et objets
Widgets de base : Stateful et Stateless Widgets, structure de base d’une application
Exercices pratiques :
Créer une application Flutter simple avec interface d'accueil et navigation entre deux pages
Semaine 3-4 : Widgets Avancés et Navigation
Widgets interactifs : ListView, GridView, et Form Widgets
Navigation : gestion de la navigation avec Navigator et création de routes
Thématisation : utilisation de thèmes pour créer des interfaces cohérentes
Exercices pratiques :
Créer une application multi-écrans avec navigation complexe et personnalisation de thème
Semaine 5-6 : Gestion de l’État et Stockage Local
Gestion de l’état : introduction à Provider pour un état réactif
Stockage local : utilisation de SharedPreferences et sqflite pour stocker des données
Création de formulaires dynamiques et validation des données
Exercices pratiques :
Développer une application de gestion de tâches avec ajout, suppression, et stockage local
des données
Semaine 7-8 : Connexion à une API et Gestion des Données Externes
HTTP et APIs : utiliser le package http pour consommer des APIs RESTful
Affichage des données dynamiques : affichage des données reçues via des ListView
Gestion des erreurs et retours d’API : traitement des erreurs de connexion et affichage
d'états de chargement
Exercices pratiques :
Créer une application Flutter qui se connecte à une API publique pour afficher des
informations (ex. météo ou liste d'articles)
Semaine 9-10 : Concepts Avancés : Authentification et Sécurité
Introduction à l'authentification : gestion des utilisateurs avec une API
Authentification JWT : mise en œuvre de l'authentification avec tokens
Sécurité : sécuriser l’application côté client et bonnes pratiques
Exercices pratiques :
Implémenter un système de connexion et d'inscription dans une application Flutter, avec
gestion de sessions utilisateur
Semaine 11-12 : Développement pour le Web avec Flutter
Optimisation pour le Web : adapter une application mobile existante pour le web
Réactivité : utilisation de MediaQuery et LayoutBuilder pour un design responsive
Déploiement Web : configurer et déployer l’application Flutter en tant qu’application web
Exercices pratiques :
Transformer une application mobile Flutter en application web en ajustant la mise en page
pour différents écrans
Semaine 13-14 : Projet Final et Présentation
Développement d'un projet complet :
o Créer une application web/mobile interactive et fonctionnelle
o Utiliser l’authentification, le stockage local et l’accès à une API
Présentation de projets : démonstration et retour sur les choix techniques
Méthodologie :
Cours théoriques pour comprendre les concepts
Ateliers pratiques pour construire des fonctionnalités étape par étape
Projets individuels et en groupe pour une mise en pratique globale
Évaluation :
40% Travaux pratiques
30% Projet final
20% Tests intermédiaires
10% Participation et implication en classe
Ressources Recommandées :
Flutter & Dart: The Complete Guide (Udemy)
Documentation Flutter et API