Aller au contenu principal

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.

Parcours d'adoption en 5 étapes
  1. Initialisation : Configuration du fichier shorebird.yaml et installation du SDK.
  2. Création de la Release : Compilation du binaire initial avec tk-ota-push release.
  3. Installation sur appareil : Déploiement de l'application sur un smartphone ou un émulateur.
  4. Publication d'un Patch : Modification du code Dart et génération du patch avec tk-ota-push patch.
  5. 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​

  1. Connectez-vous à la console web TkushPatch (https://console.tkushpatch.domaine.cm/approvals).
  2. Vous observez le patch #1 en attente de signature dans la file des approbations.
  3. Vérifiez les 3 gardes-fous automatiques :
    • ✅ Pont natif intact (aucun code C++/Java modifié).
    • ✅ Somme de contrôle SHA-256 certifiée.
    • ✅ Archive .symbols présente.
  4. Cliquez sur Approuver et Signer avec moteur cryptographique.
  5. Le statut bascule instantanément en APPROVED_AND_SIGNED.

Étape 7 : Exécution et Constat sur le Smartphone​

  1. Sur votre smartphone de test, ouvrez votre application mobile.
  2. En tâche de fond, le SDK tk_ota_push interroge 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.
  3. Fermez complètement l'application (ou basculez-la en arrière-plan) et rouvrez-la.
  4. 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.