---
title: "Développement mobile Kotlin et Android - José DA COSTA"
description: "Développer des applications Android natives avec Kotlin, incluant le design UI avec Jetpack Compose, l'architecture MVVM, la persistance des données, l'intégration d'API et les bonnes pratiques mobiles."
locale: "fr"
canonical: "https://portfolio.josedacosta.info/fr/competences/kotlin-android-development"
source: "https://portfolio.josedacosta.info/fr/competences/kotlin-android-development.md"
html_source: "https://portfolio.josedacosta.info/fr/competences/kotlin-android-development"
author: "José DA COSTA"
type: "skill"
slug: "kotlin-android-development"
generated_at: "2026-04-23T15:41:28.247Z"
---

# Développement mobile Kotlin et Android

**Compétence technique** - master-software-engineering (Master) - Fondamental

## Description de la compétence

Développer des applications Android natives avec Kotlin, incluant le design UI avec Jetpack Compose, l'architecture MVVM, la persistance des données, l'intégration d'API et les bonnes pratiques mobiles.

## Confiance personnelle

**Fondamental** - 1/5

Scale: 1. Fondamental · 2. En développement · 3. Opérationnel · 4. Avancé · 5. Expert

Cela reflète ma confiance personnelle dans l'application de cette compétence en situation professionnelle réelle, fondée sur l'expérience pratique, l'apprentissage continu et les résultats concrets obtenus.

## Details

- Domain: Hard skill (technical)
- Source: master-software-engineering (Master)
- Confidence level: 1/5 (Fondamental)

## Related curriculum topics

- **Droit des contrats informatiques** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Le contrat de développement de logiciel spécifique
- **UX et Wireframing** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Spécificités du design mobile
- **Leadership et Management** (Bloc 2 - Pilotage de projet d'ingénierie logiciel): Définir ses objectifs de développement, Réussir les entretiens de développement
- **Plans de tests d'une application** (Bloc 4 - Conception avancée de l'architecture du logiciel): Le TDD - le développement piloté par les tests
- **Anglais des Ressources Humaines** (Bloc 6 - Modules de mise à niveau préparatoire et de renforcement): Suivre un plan de développement individuel

## Broader curriculum context

Other modules from the same training program that provide complementary context:

- **Analyse fonctionnelle d'un projet SI** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Introduction - Définition, Les types d'analyses fonctionnelles, Le cahier des charges fonctionnelles, Les étapes de l'AF, L'analyse du besoin
- **Initier efficacement un projet SI** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Qu'est-ce qu'un projet SI ?, Typologie de projet SI, Projets et produits, Rôle du MOE, Rôle du MOA
- **Design Thinking** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Définition et origines du Design Thinking, La philosophie et l'approche Design Thinking, La méthodologie en 5 étapes, Exemple de cas d'usage, L'immersion - comment mener des interviews utilisateurs
- **Management transversal** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): La transversalité dans l'entreprise, Management transversal vs hiérarchique, Se positionner dans un rôle transversal, Les 3 leviers du management transversal, Piloter l'activité
- **Animer et encadrer une équipe** (Bloc 1 - Gestion de la relation client en ingénierie du logiciel): Les fondamentaux du management, Intégration du manager, Recrutement, Intégration d'un collaborateur, Les quatre styles de management
- **Exécuter et piloter la réalisation d'un projet Génie logiciel** (Bloc 2 - Pilotage de projet d'ingénierie logiciel): À quoi sert le management de projet ?, Différences entre projets et opérations, Découvrir le contexte du projet, Définir le périmètre du projet, Établir la charte projet
- **Méthodes Agiles avancées / Scrum** (Bloc 2 - Pilotage de projet d'ingénierie logiciel): L'histoire de la gestion de projet, Les différents modèles de gestion de projet, Démarrer avec le pourquoi, Les OKR, Connaître nos utilisateurs finaux
- **Communiquer en mode projet** (Bloc 2 - Pilotage de projet d'ingénierie logiciel): Qu'est-ce qu'un projet ?, Définir la communication, Les différents types de communication, À quelles étapes du projet communiquer, Pourquoi communiquer dans un projet
- **Javascript : initiation et programmation orientée objet** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Le langage du web, Environnement de travail, Les variables, Les opérateurs, Les structures conditionnelles
- **Javascript : programmation événementielle et asynchrone** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): JavaScript et le DOM, L'objet global window, Sélectionner des éléments, Créer et supprimer des éléments, Gérer les règles CSS
- **Développer vos applications web avec TypeScript** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Introduction à TypeScript, Installer TypeScript et le configurer, Les types fondamentaux, Les types Tuples, Les types Object et Array
- **Fondamentaux du développement Front-end avec Angular** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Il était une fois.. Angular !, Installation, Édition de notre application, Introduction aux composants, Création d'un composant
- **Approfondissement du développement Front-end avec Angular** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Introduction, Mise en place du projet de base, Les routes, Navigation, Passer des paramètres aux routes
- **Maîtriser Java SE** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Présentation et historique du microcosme Java, Présentation et installation du JDK 17, Présentation et installation d'Eclipse 2022-12, Première classe, la classe HelloWorld, Les types primitifs, les objets et les tableaux
- **Développer en Java avec Spring et Hibernate** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Présentation de Jakarta EE et de Spring, Présentation de jakarta persistence et hibernate, Les projets de spring, Présentation du projet avis, Les modèles en couche de spring et la notion de stéréotype
- **Git avancé - GitHub et GitLab** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Quelques rappels sur GIT, Ponctionner un commit (cherry-pick), Retrouver des commits disparus (reflog), Ajouter des notes, Importer un dépôt SVN
- **Maîtriser Docker et le DevOps** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Qu'est-ce que le DevOps ?, Introduction à Docker, Installer Docker, Gestion des images Docker, Lancement et gestion des conteneurs
- **Déploiement d'une application** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Le déploiement dans le cycle de vie d'une application, Le diagramme UML de déploiement, Le diagramme UML de composants, Typologie des hébergements classiques, Typologie des hébergements Cloud
- **Kubernetes pour orchestrer ses conteneurs** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Introduction, Docker, les bases, Volumes, Dockerfile et Registry, Docker les bases : démonstration, Docker Compose
- **Maîtriser le langage Kotlin** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Présentation, HelloWorld, Les différents typages, Optimiser son IDE, Fonction et fonction expression
- **Développer des applications mobiles Android en Kotlin** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): Présentation, HelloWorld, Maîtriser l'architecture du projet, Créer une interface graphique, Internationaliser son application
- **Construire une API REST avec Spring Boot** (Bloc 3 - Intégration, industrialisation et déploiement du logiciel): C'est quoi une API REST ?, Présentation de spring boot, Modéliser son API avec draw.io, Mettre en place son environnement de travail, Découvrir l'arborescence et démarrer l'application
- **Principes SOLID en JAVA** (Bloc 4 - Conception avancée de l'architecture du logiciel): La problématique de la qualité du code, Les principes Solid, une réponse aux enjeux d'un code maintenable, S : Single Responsability Principle Introduction, Non-respect du Single Responsability Principle, Respect du Single Responsability Principle
- **Architecture logicielle** (Bloc 4 - Conception avancée de l'architecture du logiciel): La nécessité de l'architecture logicielle, Panorama des architectures logicielles, Introduction à l'architecture monolithique, Cas d'usage de l'architecture monolithique, Mise en œuvre de l'architecture monolithique en Java
- **Conception d'application complexe avec UML** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction à la modélisation structurelle avec UML, Le diagramme de classe (classe et héritage), Le diagramme de classe avec Visual Paradigm, Traduction du diagramme de classe en code(classe et héritage), Le diagramme de classe (relation et multiplicité)
- **Design Pattern en Java** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction Design Pattern du GoF, la légende, Description des Design Pattern de création, Description du Design Pattern Singleton, Implémentation de Singleton, Description du Design Pattern Factory Method
- **Sécurité des applications web** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction à la sécurité des applications web, L'authentification et l'autorisation dans les applications web, Découvrez les recommandations OWASP, Recommandation A01-2021 : Broken Access Control, Recommandation A02-2021 : cryptographic failure
- **Algorithmie avancée** (Bloc 4 - Conception avancée de l'architecture du logiciel): Optimiser, par où commencer ?, Rechercher, une tâche complexe ?, Améliorer la recherche avec un tri, Complexité du tri, Amélioration du tri dans le meilleur cas
- **Programmation fonctionnelle en Scala** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction à la programmation fonctionnelle, Règles et lois sur les fonctions, Introduction à Scala, Installation d'IntelliJ IDEA / Utilisation de SBT, Un aperçu de Scala
- **Architecture distribuée et Big Data** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction au big data, Architecture distribuée, Implications business du big data et de l'architecture distribuée, Système de gestion de bases de données, NoSQL
- **NoSQL** (Bloc 4 - Conception avancée de l'architecture du logiciel): Introduction au stockage, Le modèle relationnel, Les bases du relationnel, OLAP vs OLTP, Agrégations, transactions et optimiseur
- **Structure des données** (Bloc 4 - Conception avancée de l'architecture du logiciel): La bonne structure, Que contient un graphe ?, Graphe orienté et graphe non orienté, Graphe pondéré, Structure de données graphe
- **Introduction au Machine Learning** (Bloc 4 - Conception avancée de l'architecture du logiciel): Le Machine Learning en pleine expansion, Découvrir les concepts du machine learning, Appréhender l'apprentissage supervisé, Visualiser le cycle de vie d'un projet de Machine Learning, Mettre en place son environnement de travail
- **Anglais commercial** (Bloc 5 - Préparation à votre niveau d'anglais): Dépasser les fausses croyances courantes dans l'apprentissage de l'anglais, Comment gérer les interactions professionnelles de base, Comment utiliser le vocabulaire commun à l'anglais et au français dans les interactions professionnelles, Identifier et éviter les pièges les plus courants dans la communication professionnelle en anglais, Comment créer le cadre pour augmenter votre aisance dans les situations professionnelles
- **Anglais Commercial Niveau Avancé** (Bloc 5 - Préparation à votre niveau d'anglais): Vocabulary Expansion for Professional Contexts, Speaking Skills for Business Meetings and Présentations, Writing Skills for Business Emails and Reports, Business Negotiations, Professional Présentations and Public Speaking
- **Anglais Commercial Niveau Intermédiaire** (Bloc 5 - Préparation à votre niveau d'anglais): Professional English Communication in Sales, Professional English Communication in Sales, Communication via Phone and Email, Managing Misunderstandings and Expressing Disagreement in English Conversations, Differences between French and Anglo-Saxon Cultures
- **Anglais : préparation au TOEIC** (Bloc 5 - Préparation à votre niveau d'anglais): Introduction au TOEIC®, Les types de TOEIC®, Focus sur le TOEIC® : listening and reading, Le nouveau TOEIC®, Comment se préparer

## Autres compétences techniques du même diplôme

- [Patterns d'architecture logicielle](https://portfolio.josedacosta.info/fr/competences/software-architecture-patterns.md) - Concevoir des systèmes logiciels évolutifs en utilisant des patterns architecturaux tels que l'architecture en couches, l'architecture hexagonale, les
- [Principes SOLID et code propre](https://portfolio.josedacosta.info/fr/competences/solid-principles-clean-code.md) - Appliquer les principes SOLID (responsabilité unique, ouvert/fermé, substitution de Liskov, ségrégation des interfaces, inversion de dépendances) et l
- [Design Patterns (Gang of Four)](https://portfolio.josedacosta.info/fr/competences/design-patterns-gof.md) - Implémenter les design patterns du Gang of Four (créationnels, structurels, comportementaux) pour résoudre des problèmes de conception récurrents et c
- [Stratégie de tests et qualité logicielle](https://portfolio.josedacosta.info/fr/competences/testing-strategy-quality.md) - Définir et exécuter des stratégies de tests complètes incluant les tests unitaires, les tests d'intégration, les tests de bout en bout, les pratiques
- [Sécurité des applications web (OWASP)](https://portfolio.josedacosta.info/fr/competences/web-application-security-owasp.md) - Sécuriser les applications web en appliquant les recommandations OWASP Top 10, en implémentant l'authentification/autorisation, en prévenant les attaq
- [Programmation JavaScript (POO, événementiel, asynchrone)](https://portfolio.josedacosta.info/fr/competences/javascript-programming.md) - Maîtriser les paradigmes de programmation JavaScript incluant la programmation orientée objet, l'architecture événementielle, les patterns asynchrones
- [Développement TypeScript](https://portfolio.josedacosta.info/fr/competences/typescript-development.md) - Développer des applications type-safe avec TypeScript en exploitant les systèmes de types avancés, les génériques, les décorateurs, les interfaces et
- [Programmation Java SE](https://portfolio.josedacosta.info/fr/competences/java-se-programming.md) - Programmer des applications robustes en Java SE en maîtrisant les concepts fondamentaux tels que les collections, les génériques, les streams, le mult
- [Java Spring et Hibernate](https://portfolio.josedacosta.info/fr/competences/java-spring-hibernate.md) - Développer des applications d'entreprise avec le framework Spring (Boot, MVC, Security, Data) et Hibernate ORM pour la persistance des données, la ges
- [Conception et implémentation d'API REST](https://portfolio.josedacosta.info/fr/competences/rest-api-design.md) - Concevoir et implémenter des API RESTful selon les bonnes pratiques incluant la modélisation des ressources, les méthodes HTTP, les codes de statut, l

## Acquired during: Master Expert en Ingénierie du Logiciel

Master Expert en Ingénierie du Logiciel à l'ESIEA (2023-2026). Diplôme de niveau RNCP 7, spécialisation en génie logiciel et architecture.

[See full journey entry](https://portfolio.josedacosta.info/fr/parcours/master-software-engineering.md)

Full interactive page with navigation: https://portfolio.josedacosta.info/fr/competences/kotlin-android-development
