Skip to content

2. Mise en place de l’environnement de travail

2.1. Installer les outils

  1. Node.js : télécharger et installer la version 22 (ou plus récente) depuis nodejs.org. Vérifier l’installation dans un terminal :

    node --version
    npm --version
    
  2. Visual Studio Code (VSCode) : téléchargeable gratuitement sur code.visualstudio.com. Installer l’extension « TypeScript and JavaScript Language Features » (généralement déjà intégrée).

  3. [MySQL] 8 : installer par exemple via XAMPP, Laragon (sous Windows) ou directement [MySQL] Community Server. Un outil d’administration graphique (phpMyAdmin, [MySQL] Workbench, DBeaver, HeidiSQL…) facilite la suite. Par la suite, l’outil Laragon est utilisé.

2.2. Installation du client Flutter

Lancez VSCode sans désigner de projet :

Image

  • en [1-2], demandez à voir la palette de commandes ;

Image

  • en [3], créez un nouveau projet Flutter ;

Image

  • en [4], créez une application ;

Image

  • en [5-6], désignez un dossier dans lequel sera créé le sous-dossier du projet ;

Image

  • en [6], donnez un nom au projet. Ce sera également le nom du dossier créé pour le projet ;

Image

  • en [1-3], désignez les cibles du projet [1 – application Android, 2- application de bureau 3 – application web] ;

Image

  • en [4], le projet créé. VSCode télécharge automatiquement le SDK de Flutter ;

La commande [flutter doctor] vérifie que tout ce dont [Flutter] a besoin est en place, cible par cible. À lancer dans un terminal VSCode du projet Flutter nouvellement créé :

flutter doctor

Lorsque tout est correct, on obtient un résultat de ce genre (les numéros de version varient) :

PS C:\Data\st-2026\dev\flutter-nestjs-sept-2026\flutter_application_1> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.44.9, on Microsoft Windows [version 10.0.26200.9457], locale fr-FR)
[√] Windows Version (Windows 11 or higher, 25H2, 2009)
[√] Android toolchain - develop for Android devices (Android SDK version 37.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2026 18.9.0)
[√] Connected device (3 available)
[√] Network resources

• No issues found!

Chaque ligne commence par un symbole : [√] (tout va bien), [!] (avertissement : un élément manque, ce qui n'empêche pas forcément de travailler) ou [X] (erreur). Pour ce cours, les lignes qui comptent sont [Flutter], [Android toolchain] (compilation pour un téléphone [Android]) et [Connected device] (au moins un appareil détecté, en particulier le téléphone). Les lignes [Chrome] (cible web) et [Visual Studio] (cible Windows) ne concernent que ces cibles : un [!] ou un [X] sur une cible que vous n'utilisez pas peut être ignoré.

Si [Android toolchain] signale « cmdline-tools component is missing », installer les [Android SDK Command-line Tools] (voir ci-après) ; si elle signale « Android license status unknown », accepter les licences (étape 5). La commande [flutter doctor -v] détaille chaque vérification.

PS C:\Data\st-2026\dev\flutter-nestjs-sept-2026\flutter_application_1> flutter doctor -v
[√] Flutter (Channel stable, 3.44.9, on Microsoft Windows [version 10.0.26200.9457], locale fr-FR) [305ms]
    • Flutter version 3.44.9 on channel stable at C:\Users\serge\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6b182d2c75 (7 weeks ago), 2026-08-05 10:04:07 -0700
    • Engine revision 5a2a6a42cc
    • Dart version 3.12.2
    • DevTools version 2.57.0
    • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop,
      enable-android, enable-ios, cli-animations, enable-native-assets, enable-swift-package-manager,
      omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration

[√] Windows Version (Windows 11 or higher, 25H2, 2009) [895ms]

[√] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [1 793ms]
    • Android SDK at C:\Users\serge\AppData\Local\Android\sdk
    • Emulator version 37.1.11.0 (build_id 15917651) (CL:N/A)
    • Platform android-37.0, build-tools 37.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 25.0.3+-15898627-b508.16)
    • All Android licenses accepted.

[√] Chrome - develop for the web [114ms]
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Build Tools 2026 18.9.0) [113ms]
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools
    • Visual Studio Build Tools 2026 version 18.9.12105.275
    • Windows 10 SDK version 10.0.26100.0

[√] Connected device (3 available) [216ms]
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [version 10.0.26200.9457]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 151.0.7922.174
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 153.0.4234.48

[√] Network resources [274ms]
    • All expected network resources are available.

• No issues found!

Maintenant listez les applications (devices) reconnues par Flutter :


PS ...> flutter devices                 
Found 4 connected devices:
sdk gphone16k x86 64 (mobile) • emulator-5554 • android-x64    • Android 17 (API 37) (emulator)
Windows (desktop)             • windows       • windows-x64    • Microsoft Windows [version
10.0.26200.9457]
Chrome (web)                  • chrome        • web-javascript • Google Chrome 153.0.8010.48
Edge (web)                    • edge          • web-javascript • Microsoft Edge 153.0.4234.48

Dans la colonne 2, vous trouvez les identifiants des devices reconnus. Pour lancer l’application Flutter sur l’un d’eux :

flutter run -d <device_id>

Par exemple pour lancer l’application [flutter_application_1] sur le navigateur Edge :

flutter run -d edge

On obtient le résultat suivant dans le navigateur Edge :

Image

Nous décrivons maintenant comment installer les outils pour le développement Android.

2.3. Android Studio et les outils de ligne de commande Android

La cible mobile de ce cours est un téléphone [Android]. Pour compiler l'application et l'installer sur ce téléphone, [Flutter] a besoin du SDK [Android], qui s'installe avec [Android Studio], l'environnement de développement de Google. [Android Studio] n'est pas utilisé pour écrire le code - l'éditeur reste [VSCode] - il ne sert ici qu'à installer et à mettre à jour le SDK [Android].

  1. [Android Studio] : le télécharger gratuitement à l'adresse [https://developer.android.com/studio] puis l'installer. Au premier lancement, l'assistant propose une installation standard : l'accepter, il télécharge le SDK [Android].

Image

  1. Ouvrir le [SDK Manager] d'[Android Studio] (menu [Tools / SDK Manager] lorsqu'un projet est ouvert, ou [More Actions / SDK Manager] depuis l'écran d'accueil) : c'est lui qui installe et met à jour les composants du SDK [Android].
  1. Onglet [SDK Platforms] : vérifier qu'une plateforme [Android] récente est installée (la documentation de [Flutter] indique l'API 36 au moment de l'écriture).

Image

  1. Onglet [SDK Tools] : cocher [Android SDK Command-line Tools (latest)], [Android SDK Build-Tools] et [Android SDK Platform-Tools] (ainsi que [Android Emulator] si vous voulez tester sur un émulateur), puis cliquer sur [Apply]. La documentation de [Flutter] recommande aussi [CMake] et [NDK (Side by side)]. Ce sont les [Android SDK Command-line Tools] qui manquent lorsque [flutter doctor] affiche « cmdline-tools component is missing ».
  2. Accepter les licences du SDK [Android] en tapant la commande suivante dans un terminal du projet Flutter, puis en répondant [y] à chaque question, jusqu'au message « All SDK package licenses accepted. » :
flutter doctor –android-licenses

[Remarque] : avec la version 23.0 des [Android SDK Command-line Tools], la commande ci-dessus peut se terminer aussitôt, sans rien demander, en affichant « The --licenses option is no longer needed ». C'est un problème connu de [Flutter] (issues 191558 et 191487 sur github.com/flutter/flutter). Contournement : dans le [SDK Manager], onglet [SDK Tools], cocher [Show Package Details], remplacer la version 23.0 des [Android SDK Command-line Tools] par la version 22.0, cliquer sur [Apply] puis relancer la commande.

2.4. Préparer un émulateur Android

À défaut de téléphone, on peut tester l'application sur un émulateur [Android] : un téléphone virtuel qui s'exécute dans une fenêtre de l'ordinateur. [Android Studio] installe le programme [Android Emulator] (s'il a été coché dans le [SDK Manager], cf. ci-dessus) mais pas d'appareil virtuel prêt à l'emploi : il faut en créer un.

  1. [Prérequis] : la virtualisation doit être activée dans le [BIOS] de l'ordinateur et, sous [Windows], la fonctionnalité [Plateforme de l'hyperviseur Windows] doit être cochée ([Panneau de configuration / Programmes / Activer ou désactiver des fonctionnalités Windows]), ce qui demande un redémarrage. Sans cela, l'émulateur ne démarre pas ou reste très lent.
  2. Ouvrir le [Device Manager] d'[Android Studio] : [More Actions / Virtual Device Manager] depuis l'écran d'accueil, ou [Tools / Device Manager] lorsqu'un projet est ouvert (selon la version : [View / Tool Windows / Device Manager]).

Image

  1. Cliquer sur [Create Device], choisir un modèle (par exemple [Pixel 8]) puis [Next]. Choisir une image système [Android] récente pour le processeur [x86_64] et la télécharger avec le lien [Download] situé à côté, puis [Next] et [Finish].

Image

Image

Image

  1. Démarrer l'émulateur avec le bouton [Play] du [Device Manager] :

Image

  1. Attendre que l'écran d'accueil d'[Android] soit affiché dans la fenêtre de l'émulateur : le premier démarrage peut durer plusieurs minutes. Vérifier ensuite que [Flutter] voit l'émulateur, qui doit figurer dans la liste (par exemple [emulator-5554], plateforme [android-x64]) :
flutter devices

PS C:\Data\st-2026\dev\flutter-nestjs-sept-2026\rdvmedecins_flutter_client> flutter devices
Found 4 connected devices:
  sdk gphone16k x86 64 (mobile) • emulator-5554 • android-x64    • Android 17 (API 37) (emulator)
  Windows (desktop)             • windows       • windows-x64    • Microsoft Windows [version
  10.0.26200.9457]
  Chrome (web)                  • chrome        • web-javascript • Google Chrome 153.0.8010.48
  Edge (web)                    • edge          • web-javascript • Microsoft Edge 153.0.4234.48

[Remarque] : si [flutter devices] n'affiche pas l'émulateur mais le message « Device emulator-5554 is offline », l'émulateur n'a pas fini de démarrer ou [adb] (l'outil qui relie l'ordinateur à l'appareil, installé avec les [Android SDK Platform-Tools]) est dans un état incohérent. Essayer dans l'ordre : (1) attendre l'écran d'accueil puis relancer la commande ; (2) redémarrer [adb] avec les trois commandes suivantes (sous [Windows], dans [PowerShell]), la dernière devant afficher « device » et non « offline » ; (3) dans le [Device Manager], menu [⋮] de l'appareil, choisir [Cold Boot Now], voire [Wipe Data] en dernier recours.

1
2
3
& "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" kill-server
& "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" start-server
& "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" devices

Si le problème persiste, vérifier avec [where.exe adb] qu'aucun autre [adb], d'une version différente, ne se trouve dans le [PATH] : deux versions d'[adb] qui se disputent la connexion provoquent ce symptôme.

Une fois l'émulateur reconnu, l'application se lance dessus avec la commande suivante (voir paragraphe Installation et exécution) :

flutter run -d emulator-5554

Image

2.5. Préparer le téléphone Android

Pour exécuter l'application sur un vrai téléphone [Android], celui-ci doit accepter d'être piloté depuis l'ordinateur :

  1. Activer les options pour les développeurs : ouvrir [Paramètres / À propos du téléphone] puis appuyer plusieurs fois (7 en général) sur [Numéro de build] jusqu'à ce que le téléphone indique que vous êtes développeur. Les intitulés exacts varient selon le fabricant.
  2. Activer le [Débogage USB] dans les [Options pour les développeurs] (menu ajouté par l'étape précédente).
  3. Brancher le téléphone à l'ordinateur avec un câble USB qui transfère des données (pas seulement de la charge) et accepter, sur le téléphone, la demande d'autorisation du débogage USB. Sous Windows, si le téléphone n'est pas reconnu, installer le pilote USB de son fabricant (« OEM USB drivers », cf. [https://developer.android.com/studio/run/oem-usb]).
  4. Vérifier que [Flutter] voit le téléphone : il doit apparaître dans la liste affichée par la commande suivante, avec la plateforme [android] :
flutter devices

Le téléphone accèdera au serveur [NestJS] par l'adresse IP de l'ordinateur sur le réseau local (et non par [localhost]) : ce réglage est décrit au chapitre 5.