Kotlin Multiplatform | Développer des applications multiplateformes Mixte : présentiel / à distance
Dernière mise à jour : 16/10/2025
Pré-inscription
Présentation
Cette formation de trois jours (21 h) initie les développeurs aux fondamentaux de Kotlin Multiplatform (KMP) : création d’un projet commun Android-iOS-Web, organisation d’une architecture partagée et implémentation d’interfaces Jetpack Compose Multiplatform / SwiftUI.
Renforcez la qualité avec tests multiplateformes, analyse statique, CI/CD GitHub Actions et bonnes pratiques de sécurité (chiffrement local, TLS, scan dépendances).
Clôturez par l’optimisation : profilage, cache réseau afin de livrer un socle industrialisable et pérenne.
Objectifs
A l'issue de la formation, le stagiaire sera capable de créer des applications multiplateformes (Web, iOS, Android) avec Kotlin Multiplateform (KMP).
- Connaître les concepts de Kotlin Multiplateform
- Mettre en place un environnement de développement
- Concevoir l'architecture d'une application mobile multiplateforme
- Construire une interface utilisateur fluide et performante
- Réaliser des tests pour assurer la qualité et la fiabilité des applications
Public visé
Prérequis
Programme
Jour 1 – Concepts, environnement et sécurité KMP
Objectifs du jour :
- Comprendre les bases de Kotlin Multiplatform (KMP)
- Mettre en place un projet et configurer l'environnement
- Intégrer des bonnes pratiques de sécurité multiplateforme
- Introduction à KMP
- Historique et avantages du multiplateforme vs Flutter, React Native
- Architecture KMP : modules common, Android, iOS et autres targets
- Support IDE
- Cas d'usage et réutilisation de code
- Kotlin pour le multiplateformes
- Fonctions, bases, objets, data
- Coroutines, extensions
- Configuration de l'environnement
- Création d'un projet KMP avec Gradle
- Configuration des targets : JVM, Android, iOS (Xcode interop)
- Plugins et dépendances courants (Kotlinx Serialization, Ktor)
- Sécurité multiplateforme
- Gestion des secrets et des clés API dans common et plateformes
- Chiffrement des données locales (SQLDelight encrypted DB)
- Validation des entrées et protection contre l'injection de code
- Atelier fil rouge - mise en place
- Initialiser un squelette de projet KMP avec un module common
- Configurer les sources communes et spécifiques
- Compiler et exécuter des tests unitaires common
Jour 2 – Architecture, UI, accès aux données et sécurité
Objectifs du jour :
- Définir une architecture sécurisée pour KMP
- Construire une interface partagée et gérer la persistance
- Assurer la sécurité des communications et des données
- Architecture d'application KMP
- Patterns de clean architecture adaptés (Domain, Data, UI)
- Sécurisation des modules common et spécifiques
- Communication sécurisée entre modules (TLS, mutual TLS)
- UI partagée et plateformes natives
- Approches : Jetpack Compose Multiplatform, SwiftUI interop
- Gestion sécurisée des ressources (cryptage, permissions)
- Accès aux données
- Utiliser Ktor pour consommer un web service commun via HTTPS et authentification OAuth2
- Interception des erreurs et affichage UI adapté
- Persistence sécurisée avec SQLDelight (chiffrement, migrations)
- Atelier fil rouge codé :
- Implémenter un module réseau common sécurisé pour récupérer des données
- Afficher une liste simple dans l'UI Android et iOS
- Ajouter un cache local chiffré
Jour 3 – Qualité, CI/CD et Optimisation multiplateforme
Objectifs du jour :
- Automatiser l'analyse de qualité, les tests et le déploiement d'un projet KMP.
- Optimiser performances, sécurité et maintenance du code partagé.
- Analyse statique & couverture
- Configuration Detekt, Ktlint et Kover dans le module common et sur chaque target pour détecter dettes et vulnérabilités.
- Scan dépendance (OWASP Dependency check)
- Tests automatisés multiplateformes
- Mise en place d'un jeu de tests common (JUnit/JVM)
- Tests instrumentés Android & iOS
- Pipeline CI/CD
- Workflow type
- Publication d'une lib partagée
- Distribution iOS et Androïd
- Notions de déploiement interne
- Optimisation performance
- Profilage mémoire/CPU avec Android Studio & Xcode
- Stratégie de catching réseau et persistence chiffrée
- Atelier fil rouge pratique
- Finaliser l'app
- Exécuter les lint/tests
- Mesurer la couverture avant de déclencher un build signé.
Modalités pédagogiques
Docaposte Institute propose plusieurs dispositifs pédagogiques adaptés aux apprenants :
- Formation en présentiel
- En groupe (inter-entreprises ou intra-entreprise)
- En individuel (monitorat)
- En journée ou en cours du soir (sur demande spécifique)
- Formation en distanciel
- Distanciel synchrone
- Distanciel asynchrone
Moyens et supports pédagogiques
- Apports des connaissances communes.
- Mises en situation sur le thème de la formation et des cas concrets.
- Méthodologie d'apprentissage attractive, interactive et participative.
- Equilibre théorie / pratique : 60 % / 40 %.
- Supports de cours fournis au format papier et/ou numérique.
- Ressources documentaires en ligne et références mises à disposition par le formateur.
- Pour les formations en présentiel dans les locaux mis à disposition, les apprenants sont accueillis dans une salle de cours équipée d'un réseau Wi-Fi, d'un tableau blanc ou paperboard. Un ordinateur avec les logiciels appropriés est mis à disposition (le cas échéant).
Modalités d'évaluation et de suivi
En amont de la formation :
- Recueil des besoins des apprenants afin de disposer des informations essentielles au bon déroulé de la formation (profil, niveau, attentes particulières...).
- Auto-positionnement des apprenants afin de mesurer le niveau de départ.
Tout au long de la formation :
- Évaluation continue des acquis avec des questions orales, des exercices, des QCM, des cas pratiques ou mises en situation...
A la fin de la formation :
- Auto-positionnement des apprenants afin de mesurer l'acquisition des compétences.
- Evaluation par le formateur des compétences acquises par les apprenants.
- Questionnaire de satisfaction à chaud afin de recueillir la satisfaction des apprenants à l'issue de la formation.
- Questionnaire de satisfaction à froid afin d'évaluer les apports ancrés de la formation et leurs mises en application au quotidien.
Informations sur l'admission
Modalités d'admission
- Admission sans disposition particulière