⬅️ Retour au sommaire Flutter
🖨️ Version PDF
Pour ceux et celles qui n’ont pas vu Spring Boot/Java, vous pourrez utiliser un autre langage ou Framework pour développer une API (Php, Python,…).
pom.xml
pubspec.yaml
mvn spring-boot:run
flutter run
flutter test
test
flutter_test
Flutter est un framework développé par Google qui permet d’écrire une seule base de code en Dart compilée nativement pour Android, iOS, Web et le Desktop. Contrairement à des solutions hybrides (WebView), Flutter dessine lui-même chaque pixel de l’interface via son propre moteur de rendu : c’est ce qui lui donne des performances proches du natif et un rendu identique sur toutes les plateformes.
C:\src\flutter
Program Files
C:\src\flutter\bin
PATH
brew install --cask flutter
ou téléchargement manuel de l’archive depuis flutter.dev puis ajout au PATH dans ~/.zshrc :
~/.zshrc
export PATH="$PATH:/chemin/vers/flutter/bin"
sudo snap install flutter --classic
ou téléchargement de l’archive .tar.xz + ajout au PATH.
.tar.xz
La commande la plus importante de tout le cours, l’équivalent d’un mvn -v :
mvn -v
flutter doctor
Cette commande vérifie tout votre environnement et vous indique précisément ce qu’il manque (Android SDK, Xcode, licences non acceptées, etc.) avec des croix rouges ❌ et des éléments validés ✅. Ne passez pas à la suite tant que flutter doctor n’est pas propre (ou seulement des warnings mineurs). Il se peut que suivant les versions, vous n’ayez pas besoin de valider la “licences”.
❌
✅
[✓] Flutter (Channel stable, 3.x.x) [✓] Android toolchain - develop for Android devices [✓] Xcode - develop for iOS and macOS (macOS uniquement) [✓] Chrome - develop for the web [✓] Android Studio [✓] VS Code [✓] Connected device
Deux options, toutes deux gratuites, mais je sais que vous utilisez plutôt VS-Code, donc on peut rester sur cette IDE tout en installant Android Studio :
Ctrl+Shift+X
Ctrl+Shift+P
Flutter: New Project
Astuce : beaucoup de développeur.euse.s utilisent Android Studio uniquement pour gérer le SDK Android et les émulateurs et codent au quotidien dans VS Code. C’est l’approche que nous allons utilisée comme précisée plus haut.
flutter doctor --android-licenses
Il se peut que pour certain.e.s, vous ayez un message comme quoi il faut installer Visual Studio Code mais en fait, vous n’avez pas besoin, il suffit de désactiver ce message “Desktop… C++” avec la commande ci-dessous :
flutter config --no-enable-windows-desktop
Compiler et tester une app iOS (même sur simulateur) nécessite un Mac. C’est une contrainte d’Apple, pas de Flutter.
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer sudo xcodebuild -runFirstLaunch
sudo gem install cocoapods
Vous n’avez pas de Mac ? Vous pourrez tout de même suivre 90% du cours sur Android. Pour la partie iOS, des solutions cloud existent : Codemagic ou Ondevice.io permettent de compiler et tester sur un vrai iPhone à distance sans posséder de Mac. Nous verrons cela un peu plus tard.
flutter create mon_premier_projet cd mon_premier_projet flutter run
flutter create génère une structure de projet complète (l’équivalent d’un spring init) :
flutter create
spring init
mon_premier_projet/ ├── android/ # Projet natif Android (Gradle) ├── ios/ # Projet natif iOS (Xcode) ├── lib/ │ └── main.dart # Point d'entrée de l'application (équivalent classe @SpringBootApplication) ├── test/ # Tests unitaires et de widgets ├── pubspec.yaml # Déclaration des dépendances (équivalent pom.xml) └── pubspec.lock # Versions verrouillées (équivalent lock Maven)
flutter run compile l’application et l’installe sur l’émulateur ou l’appareil sélectionné. Une fois lancée, essayez le Hot Reload : modifiez un texte dans lib/main.dart, sauvegardez, puis tapez r dans le terminal (ou Ctrl+S avec l’extension VS Code). Les changements apparaissent en moins d’une seconde, sans perdre l’état de l’application — un gain de temps énorme comparé à un redéploiement Spring Boot !
lib/main.dart
r
Ctrl+S
Flutter: Launch Emulator
open -a Simulator
C’est l’étape la plus importante de ce chapitre : chaque étudiant.e effectue le test sur son propre téléphone. Je détail la procédure sur le Powerpoint.
flutter devices
Sans câble (débogage sans fil, Android 11+) :
adb pair <ip>:<port> # coupler le téléphone (code affiché dans les options développeur) adb connect <ip>:<port> flutter run
Générer un fichier APK installable manuellement (utile pour le partager sans passer par un câble) :
flutter build apk --release # fichier généré : build/app/outputs/flutter-apk/app-release.apk
Transférez ce fichier sur le téléphone (mail, cloud, câble) et installez-le (autoriser « sources inconnues » si demandé).
Nécessite un Mac + Xcode installés comme vu à la section 4.
ios/Runner.xcworkspace
Avec un compte Apple gratuit, l’application installée expire au bout de 7 jours et doit être réinstallée. C’est une limitation Apple normale pour le développement, pas un bug.
Utilisez un service cloud de build/test comme Codemagic (offre gratuite) : vous connectez votre dépôt Git, Codemagic compile l’app sur des Mac dans le cloud et peut l’envoyer directement sur votre iPhone via TestFlight, sans jamais toucher un Mac physique.
Objectif : valider que votre environnement complet fonctionne.
flutter create hello_flutter
"You have pushed the button this many times:"
Voir la correction / checklist de vérification
Environnement prêt ? Direction le Chapitre 1 — Flutter & Dart : les fondamentaux.