Ajoute la note mémoire sur l'environnement de dev et reflète l'avancement du ticket #2 (terminé) et le cadrage du ticket #3 dans les carnets/issues. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gametime-dev-environment | memory note gametime-dev-environment |
|
GameTime — Environnement de build local
Flutter SDK et Android SDK sont installés et opérationnels sur la machine du projet (2026-07-17). Premier APK debug buildé avec succès le 2026-07-17.
Flutter
- Installé via le paquet AUR
flutter-bin(3.44.6, stable), pasflutter(source AUR) — ce dernier a un conflit de dépendance avecdartdéjà présent sur le système (dart<3.12.0requis alors que 3.12.2 est installé). - Binaire
flutterdisponible dans/usr/bin/flutter(wrapperflutter-bin), SDK réel monté via unionfs sous~/.cache/flutter_sdk.
Android SDK
- Installé via le paquet AUR
android-sdk-cmdline-tools-latest, posé dans/opt/android-sdk(appartenait à root par défaut — il a falluchown -R anthony:anthony /opt/android-sdkpour quesdkmanagerpuisse installer des composants sans sudo). - Composants installés :
platform-tools,platforms;android-34/35/36,build-tools;34.0.0/28.0.3/36.0.0, NDK 28.2.13676358, CMake 3.22.1 (certains installés automatiquement par Gradle au premier build). - Licences acceptées via
sdkmanager --licenses. flutter config --android-sdk /opt/android-sdkexécuté pour lier Flutter au SDK.
JDK — point de friction important
- Le JDK système par défaut est
java-26-openjdk(trop récent :Unsupported class file major version 70avec Gradle 9.1 utilisé par le template Flutter). - Installé
jdk21-openjdk(dépôt officiel Arch, pas besoin d'AUR) en complément, sans le mettre par défaut système. - Flutter configuré spécifiquement pour l'utiliser :
flutter config --jdk-dir=/usr/lib/jvm/java-21-openjdk. Cette config est stockée dans la config Flutter (probablement~/.config/flutter/settingsou équivalent), donc persistante indépendamment du JDK système par défaut.
Variables d'environnement persistées
Ajoutées dans ~/.zshrc, ~/.bashrc et ~/.config/fish/config.fish (le shell de login est zsh, mais les agents peuvent tourner en bash) :
ANDROID_HOME=/opt/android-sdk
ANDROID_SDK_ROOT=/opt/android-sdk
PATH inclut $ANDROID_HOME/cmdline-tools/latest/bin et $ANDROID_HOME/platform-tools
Limite connue
- Pas de Chrome installé (web toolchain Flutter indisponible), sans impact puisque la cible du projet est mobile (Android/iOS), pas web.
- Pas de device/émulateur Android connecté — seul
flutter build apk --debug(sans device) est utilisable pour produire l'APK à transférer manuellement sur le téléphone de l'utilisateur (pas deflutter rundirect sur device depuis cet environnement). - Les sandbox des agents (DevBackend, DevFrontend, etc.) n'ont pas d'accès réseau à pub.dev, contrairement à l'environnement de Main (Bash direct). Conséquence pratique :
flutter pub get,flutter analyze(si dépend de packages non encore en cache) etflutter build apkdoivent être exécutés par Main en vérification finale après le travail de code d'un agent, pas par l'agent lui-même. Les agents peuvent en revanche modifier pubspec.yaml, écrire du code Dart, etc.
Commande de build APK de référence
export ANDROID_HOME=/opt/android-sdk
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH"
cd /home/anthony/Documents/Projects/GameTime
flutter pub get && flutter analyze && flutter build apk --debug
APK produit : build/app/outputs/flutter-apk/app-debug.apk.