Fluxota CLI

Construire, signer et publier des correctifs Android pour le SDK Fluxota. Préversion développeur 0.1.0-dev.11, distribuée publiquement sur pub.dev sous licence BSD-3-Clause.

Installation

Avec Dart 3.9.2 ou ultérieur, fourni notamment par Flutter :

dart pub global activate fluxota_cli 0.1.0-dev.11
fluxota --version
fluxota --help

Ajouter le répertoire des exécutables Pub au PATH si nécessaire : $HOME/.pub-cache/bin sur macOS/Linux, %LOCALAPPDATA%\Pub\Cache\bin sur Windows. Aucun accès au dépôt GitHub n’est nécessaire.

Connexion au pilote

fluxota auth login --api-url https://fluxota-api.sereqta.com
fluxota auth status --api-url https://fluxota-api.sereqta.com

Le navigateur ouvre la connexion Google. Comparer le code affiché avec celui du terminal avant d’autoriser le CLI. Les sessions durent 24 heures ; --no-browser permet l’ouverture manuelle. Le compte Google doit être autorisé pour le pilote. Les organisations, applications et droits restent gérés côté API : une connexion Google ne donne aucun accès aux projets d’une autre équipe.

Les sessions sont enregistrées dans un répertoire privé sur macOS/Linux. Sur Windows, utiliser un jeton explicite FLUXOTA_ACCESS_TOKEN : le stockage interactif Windows n’est pas encore livré. Un jeton d’environnement, même vide, a priorité sur la session enregistrée. Ne jamais placer de jeton dans Git ou en argument.

Pour révoquer la session et retirer sa copie locale :

fluxota auth logout --api-url https://fluxota-api.sereqta.com

Intégration Android

Installer fluxota_sdk 0.1.0-dev.4 dans le projet Flutter, puis utiliser les identifiants d’organisation et d’application fournis par l’opérateur du pilote :

fluxota init --organization "$ORGANIZATION_ID" --application "$APPLICATION_ID" \
  --api-url https://fluxota-api.sereqta.com
fluxota sdk configure --help
fluxota reference build --help
fluxota reference register --help
fluxota patch build --help
fluxota patch sign --help
fluxota patch publish --help

La chaîne construit une référence APK/AAB, prépare le correctif pour son compilateur Flutter exact, signe localement avec une clé P-256 dédiée, puis publie l’artefact via l’API. Seule la clé publique entre dans l’application ; les clés privées Android et de signature restent dans les espaces protégés de l’équipe. Le stockage R2 est privé et le SDK télécharge les correctifs via l’API.

Les pipelines utilisent des credentials CI révocables et limités à une application, séparés des sessions humaines (auth status --ci). Les commandes proposent une aide détaillée ; les guides de construction, signature et reprise sont inclus dans le répertoire docs/ du paquet.

Périmètre de cette préversion

La recette de construction Android utilise Flutter 3.35.7, activité standard, release arm64, APK et AAB, canal test. Les hôtes personnalisés, flavors et moteurs préchauffés demandent une recette distincte. iOS n’est pas livré. Une publication sur Google Play demande une qualification de distribution séparée.

Les tests exécutés sont ceux de macOS arm64. La configuration CI multi-OS ne constitue pas une preuve d’exécution récente sur Linux ou Windows. La publication du CLI ne change pas ces limites.

Contribution

Dans un checkout autorisé du dépôt, avec Dart 3.9.2 :

dart pub get --enforce-lockfile
dart format --output=none --set-exit-if-changed bin lib test tool
dart analyze --fatal-infos
dart test

Les contrats embarqués sont générés et vérifiés dans le dépôt ; ils n’exigent aucun téléchargement depuis GitHub lors de l’installation publique du CLI.

Libraries