Guide de Migration depuis Shorebird Cloud vers TkushPatch
Pour les organisations assujetties à des exigences strictes de souveraineté des données, de conformité bancaire (régulation bancaire internationale, souveraineté et RGPD) ou d'hébergement sur site (On-Premise), migrer depuis le service public Shorebird Cloud vers TkushPatch s'effectue sans aucune réécriture de code métier.
Ce guide détaille la procédure de transition complète.
1. Tableau Comparatif Avant / Après Migration
| Caractéristique | Shorebird Cloud (SaaS) | TkushPatch Souverain |
|---|---|---|
| Hébergement des serveurs | Cloud public tiers (États-Unis / GCP) | Vos propres serveurs dédiés, VPS ou cloud privé |
| Clés privées de signature | Gérées et stockées par Shorebird | Confinées dans votre propre moteur cryptographique HSM |
| Gouvernance et 4-Yeux | Déploiement unilatéral développeur | Validation Maker-Checker obligatoire pour la prod |
| Filtrage Géographique | Aucun filtrage territorial | Ciblage par pays ISO (ex. Cameroun, Côte d'Ivoire) |
| Double Facteur (2FA) | Dépendance aux comptes Google/GitHub | 2FA OTP renforcé CSPRNG + Relais SMTP d'entreprise |
| Coût d'exploitation | Facturation à l'usage par patch/requête | Licence souveraine maîtrisée, requêtes illimitées |
2. Étapes de Migration Pas-à-Pas
- Création du projet : Enregistrer votre application sur la Console Web TkushPatch.
- Mise à jour de
shorebird.yaml: Modifierbase_urlpour pointer vers votre instance TkushPatch. - Mise à jour du package Dart : Remplacer l'ancienne dépendance par le package
tk_ota_push. - Validation : Générer une release et un patch pour valider la chaîne de distribution souveraine.
Étape 1 : Création du Projet sur TkushPatch
- Connectez-vous à votre console web TkushPatch (
https://console.tkushpatch.domaine.cm). - Cliquez sur Nouveau Projet (
CreateProjectModal). - Renseignez le nom de votre application et son identifiant de paquet Store (ex.
com.entreprise.banque). - Le système génère votre
app_idsouverain unique (ex.8f2c3d10-4e5a-4b91-a8d2-11e4f901c238) et provisionne les paires de clés asymétriques RSA dans moteur de signature.
Étape 2 : Mise à Jour du Fichier shorebird.yaml
À la racine de votre projet Flutter, modifiez le fichier shorebird.yaml pour substituer les endpoints publics par l'URL de votre serveur souverain :
# Avant (Shorebird Cloud)
# app_id: shorebird-cloud-id-12345
# Après (TkushPatch Souverain)
app_id: 8f2c3d10-4e5a-4b91-a8d2-11e4f901c238
base_url: https://api.tkushpatch.domaine.cm
[!IMPORTANT] L'ajout de la directive
base_urlindique au CLI et au moteur natif de dialoguer exclusivement avec votre propre infrastructure. Aucune requête ne sera transmise aux serveurs de Shorebird.
Étape 3 : Remplacement du SDK dans pubspec.yaml
Remplacez la dépendance Shorebird par le SDK souverain tk_ota_push :
dependencies:
flutter:
sdk: flutter
# Retirer : shorebird_code_push: ^x.y.z
# Ajouter :
tk_ota_push: ^1.2.0
Dans votre code source Dart, mettez à jour les imports :
// Avant
// import 'package:shorebird_code_push/shorebird_code_push.dart';
// Après
import 'package:tk_ota_push/tk_ota_push.dart';
Étape 4 : Compilation de la Release de Transition
Comme les clés de signature cryptographiques privées de TkushPatch diffèrent de celles de Shorebird Cloud, les terminaux déjà installés doivent recevoir une release Store de transition contenant la nouvelle clé publique souveraine :
# Compilation du nouveau binaire natif
tk-ota-push release android --artifact=aab
- Soumettez cet
app-release.aabsur la Google Play Console ou l'Apple App Store. - Déployez la mise à jour auprès de vos utilisateurs.
- Dès que l'application de transition est installée, elle interroge votre serveur TkushPatch souverain.
Étape 5 : Publication et Validation du Premier Patch Souverain
Une fois la release de transition disponible, publiez votre premier patch pour vérifier le bon fonctionnement de la chaîne :
tk-ota-push patch android --release-version=2.0.0+1 --track=staging
- Rendez-vous sur la console
/approvals. - Inspectez le patch en quarantaine et signez-le avec moteur cryptographique.
- Vérifiez la bonne réception du patch sur votre terminal de test.
- Dès validation de l'équipe QA, promouvez le patch vers le canal
stableen 1 clic.