Aller au contenu

Configuration de développement

Mise en place de l'environnement local pour travailler sur l'app Flutter Schuly.

Prérequis

OutilVersionRemarques
SDK Flutter3.44.xFixé dans la CI (subosito/flutter-action). Embarque le SDK Dart correspondant.
SDK Dart^3.10.0Fourni avec Flutter 3.44.x ; c'est aussi la contrainte environment.sdk dans pubspec.yaml.
bunlatestUtilisé uniquement comme task runner pour les scripts package.json. N'installe pas de toolchain Node - il ne fait que dispatcher des commandes.
Android SDK / Xcode-Toolchain mobile Flutter standard pour builder/exécuter sur Android ou iOS.

Vérifie la toolchain Flutter avec :

sh
flutter doctor

Tâches (à privilégier)

Tous les workflows courants sont encapsulés dans des scripts package.json, afin d'être invoqués de la même façon quel que soit le shell. Préfère toujours bun run <script> à la commande brute.

sh
bun run dev        # flutter run --flavor dev
bun run prod       # flutter run --flavor prod
bun run analyze    # flutter analyze
bun run test       # flutter test
bun run format     # dart format lib
bun run clean      # flutter clean && flutter pub get

Récupérer les dépendances

sh
bun run clean

Ceci exécute flutter clean && flutter pub get. L'app dépend du package API généré localement dans lib/api/ (référencé via path: dans pubspec.yaml) - voir Client API si tu as besoin de le régénérer.

Exécuter l'app

Démarre un émulateur ou connecte un appareil, puis exécute l'un des flavors :

sh
bun run dev     # flavor de développement
bun run prod    # flavor de production

Flavors

L'app définit une dimension de flavor environment (Android : productFlavors dans android/app/build.gradle.kts) :

FlavorID d'applicationNom affiché
devcom.schuly.app.dev (suffixe .dev, suffixe de version -DEV)Schuly DEV
prodcom.schuly.appSchuly

Comme les ID diffèrent, les builds dev et prod s'installent côte à côte sur le même appareil. Utilise dev pour le travail quotidien et prod pour valider le comportement de release.

Vérifications qualité avant de pousser

sh
bun run analyze   # analyse statique
bun run test      # tests unitaires/widget
bun run format    # formate automatiquement lib/

Le client généré dans lib/api/** est exclu de flutter analyze (voir analysis_options.yaml).

Voir aussi