Guide de Démarrage Complet de Bout en Bout
Ce tutoriel vous guide pas-à-pas dans le déploiement de votre tout premier patch TkushPatch : de la configuration de votre projet Flutter jusqu'à l'application instantanée d'un correctif sur un terminal mobile réel, sans passer par la file d'attente des stores.
- Initialisation : Configuration du fichier
shorebird.yamlet installation du SDK. - Création de la Release : Compilation du binaire initial avec
tk-ota-push release. - Installation sur appareil : Déploiement de l'application sur un smartphone ou un émulateur.
- Publication d'un Patch : Modification du code Dart et génération du patch avec
tk-ota-push patch. - Activation en direct : Lancement de l'application et constatation immédiate de la mise à jour.
Étape 1 : Prérequis et Installation du CLI
Assurez-vous de disposer d'un environnement Flutter opérationnel (flutter doctor) et installez l'outil en ligne de commande TkushPatch CLI :
# Installation globale du CLI tk-ota-push via Dart
dart pub global activate --source path /chemin/vers/tkushpatch_releases/tk-ota-push
# Vérification de l'installation
tk-ota-push --version
Connectez-vous ensuite à votre console souveraine :
tk-ota-push login --server https://console.tkushpatch.domaine.cm
Le navigateur s'ouvre sur la page de consentement /cli/login. Après confirmation, votre session locale est initialisée dans ~/.shorebird/credentials.json.
Étape 2 : Configuration du Projet Flutter
À la racine de votre application Flutter existante, initialisez la configuration TkushPatch :
tk-ota-push init
Cette commande génère le fichier de configuration shorebird.yaml :
app_id: 8f2c3d10-4e5a-4b91-a8d2-11e4f901c238
base_url: https://api.tkushpatch.domaine.cm
Ajoutez ensuite le SDK client à votre fichier pubspec.yaml :
dependencies:
flutter:
sdk: flutter
tk_ota_push: ^1.2.0
Dans votre lib/main.dart, initialisez le moteur de mise à jour au démarrage :
import 'package:flutter/material.dart';
import 'package:tk_ota_push/tk_ota_push.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialisation du client OTA souverain
await TkOtaPush.initialize();
runApp(const MonApplicationBancaire());
}
Étape 3 : Création et Enregistrement de la Release de Base
La release de base (Store Release) est le binaire natif initial soumis aux magasins d'applications (Google Play ou Apple App Store).
Compilez et enregistrez la version 1.0.0+1 :
tk-ota-push release android --artifact=apk
Le CLI compile le moteur Flutter AOT, extrait les bibliothèques partagées natives (binaire d'application) pour les architectures arm64-v8a et armeabi-v7a, génère l'archive de symboles de débogage .symbols et enregistre l'empreinte auprès de votre serveur souverain.
Installez l'APK généré sur votre smartphone de test :
adb install -r build/app/outputs/flutter-apk/app-release.apk
Lancez l'application sur le téléphone pour vérifier son bon fonctionnement.
Étape 4 : Modification du Code Source Dart
Ouvrez votre code source (ex. lib/home_page.dart) et effectuez une modification visuelle ou logique visible :
// Avant
Text("Solde du compte : 12 500 FCFA", style: TextStyle(color: Colors.black))
// Après modification (Correctif d'affichage)
Text("Solde disponible : 12 500 FCFA ✨ (Patché en Direct)", style: TextStyle(color: Colors.green, fontWeight: FontWeight.bold))
Étape 5 : Compilation et Publication du Patch OTA
Publiez le correctif en ciblant la release de base 1.0.0+1 :
tk-ota-push patch android --release-version=1.0.0+1 --track=staging
Le moteur de différentiel différentiel binaire compressé calcule le micro-diff entre l'ancien et le nouveau binaire d'application. L'archive différentielle résultante (souvent inférieure à 50 Ko) est téléversée sur le serveur souverain avec le statut STAGED (Quarantaine technique).
Étape 6 : Validation 4-Yeux sur la Console Web
- Connectez-vous à la console web TkushPatch (
https://console.tkushpatch.domaine.cm/approvals). - Vous observez le patch
#1en attente de signature dans la file des approbations. - Vérifiez les 3 gardes-fous automatiques :
- ✅ Pont natif intact (aucun code C++/Java modifié).
- ✅ Somme de contrôle SHA-256 certifiée.
- ✅ Archive
.symbolsprésente.
- Cliquez sur Approuver et Signer avec moteur cryptographique.
- Le statut bascule instantanément en
APPROVED_AND_SIGNED.
Étape 7 : Exécution et Constat sur le Smartphone
- Sur votre smartphone de test, ouvrez votre application mobile.
- En tâche de fond, le SDK
tk_ota_pushinterroge le serveur, télécharge le micro-diff chiffré, vérifie la signature RSA dans le moteur natif Rust et applique le différentiel binaire. - Fermez complètement l'application (ou basculez-la en arrière-plan) et rouvrez-la.
- Constat immédiat : Votre modification Dart s'affiche instantanément à l'écran : "Solde disponible : 12 500 FCFA ✨ (Patché en Direct)".
Félicitations ! Vous venez de réaliser un cycle complet de déploiement souverain de code sans aucune validation de store.