Créer une app Android moderne — Episode 8: Interface utilisateur & thème final
PostFlow — Android moderne avec Retrofit, Room, Hilt & Compose Dans ce huitième et dernier épisode de la série **PostFlow**, nous achevons le développement de notre application Android moderne avec **Jetpack Compose**. Après avoir construit toute l'architecture de l'application — *Room**, **Retrofit**, **Hilt**, **Repository**, **ViewModel* et *Navigation Compose* — nous réalisons enfin l'interface utilisateur complète et mettons en place un véritable **Design System Material 3**. Nous construirons les différents écrans de l'application en assemblant nos composants Compose, avant de créer un thème personnalisé composé d'une palette de couleurs, d'une typographie basée sur *Google Fonts* et d'un système de formes réutilisables. Nous profiterons également de cet épisode pour corriger deux problèmes rencontrés en conditions réelles : la mise à jour de l'écran de détail lors du changement de favori et la persistance des favoris après la synchronisation avec l'API. --- 💻 *Code source de l'application* L'intégralité du projet PostFlow est disponible sur GitHub. Vous y retrouverez le code complet correspondant à cette série, organisé selon une architecture MVVM moderne avec Jetpack Compose, Room, Retrofit, Hilt, Navigation Compose et Material 3. 👉 https://github.com/atelcFr/PostFlow N'hésitez pas à cloner le projet, à l'explorer, à expérimenter et à vous en inspirer pour vos propres applications Android. --- 🎯 *Dans cet épisode* ✔️ Construire *PostsScreen* ✔️ Construire *FavoritesScreen* ✔️ Construire *PostDetailScreen* ✔️ Assembler les composants avec Jetpack Compose ✔️ Utiliser `collectAsState()` pour observer le `UiState` ✔️ Gérer les états de chargement, d'erreur et de liste vide ✔️ Comprendre le rôle de `LaunchedEffect` ✔️ Corriger le bug *Flow vs suspend* dans l'écran de détail ✔️ Corriger la persistance des favoris lors de la synchronisation avec l'API ✔️ Créer un Design System Material 3 ✔️ Personnaliser les couleurs de l'application ✔️ Intégrer des *Google Fonts* ✔️ Construire une typographie cohérente ✔️ Définir les `Shapes` de l'application ✔️ Configurer `MaterialTheme` ✔️ Tester le thème en mode clair et en mode sombre --- 🛠️ *Technologies utilisées* Kotlin Jetpack Compose Material 3 Google Fonts Room Retrofit Hilt ViewModel StateFlow Navigation Compose Architecture MVVM --- ⏱ *Chapitres* 00:00 – Introduction 01:30 – Les ressources de l'application 03:32 – Les Composants 22:16 – Construire (composer) les écrans 28:33 – Débogage et corrections de l'architecture 36:27 – Le thème 48:47 – Conclusion de la série --- 🎬 *Série PostFlow* ✅ Épisode 1 — Configuration du projet ✅ Épisode 2 — Modèles de données & Mappers ✅ Épisode 3 — Room & couche locale ✅ Épisode 4 — Retrofit & API ✅ Épisode 5 — Repository ✅ Épisode 6 — ViewModel ✅ Épisode 7 — Navigation Jetpack Compose ✅ *Épisode 8 — Interface utilisateur & thème Material 3* --- 🎉 Cette série est maintenant complète. En huit épisodes, nous avons conçu et développé une véritable application Android moderne, en abordant l'architecture MVVM, la persistance locale avec Room, les appels réseau avec Retrofit, l'injection de dépendances avec Hilt, la navigation Compose, la création d'une interface réactive avec Jetpack Compose ainsi que la mise en place d'un Design System complet. J'espère que cette aventure vous aura permis de mieux comprendre comment construire une application Android professionnelle, de l'architecture jusqu'à l'interface utilisateur. --- 👍 Si cette série vous a aidé à mieux comprendre *Jetpack Compose**, **Material 3**, **MVVM* et l'architecture Android moderne, pensez à *liker**, **commenter* et *vous abonner* à la chaîne *ATEL'C* pour soutenir le projet et découvrir les prochaines séries. #AndroidDev #JetpackCompose #Kotlin

Créer une app Android moderne — Episode 7: Navigation Jetpack Compose

Créer une app Android moderne — Episode 5: Le Repository

CHOSEN ONE!! YOUR IDENTITY REVEAL JUST SHOOK THE INTERNET... AND THEIR MINDS

📜 Autour de Django #5 : Présentation (II) – Introduction à l’internationalisation/localisation

Stop Overcomplicating Microservices – Spring Boot Full Course
![[Leçon inaugurale] Yann Le Cun - Apprentissage profond et au-delà : les nouveaux défis de l'IA](https://i.ytimg.com/vi/Z208NMP7_-0/hqdefault.jpg?sqp=-oaymwE9CNACELwBSFryq4qpAy8IARUAAAAAGAElAADIQj0AgKJDeAHwAQH4Af4JgALQBYoCDAgAEAEYPCBlKEowDw==&rs=AOn4CLCEu0oAHE4bEe4NUpSBvJ-i2cfb_w)
[Leçon inaugurale] Yann Le Cun - Apprentissage profond et au-delà : les nouveaux défis de l'IA

Harvesting Giant Ginger to Sell at the Countryside Market | Caring for Sugarcane

AI and the Battle for the Soul with Iain McGilchrist - Lecture 1: Information is Not Understanding

Créer une app Android moderne - Episode 4: La couche distante (Retrofit).

BYD : la plus grosse ARNAQUE de l'histoire automobile ?

Uninterrupted Deep Work Mix ~ Immersive Productivity Soundscape ~ Neural Focus Study Music

React 19 Crash Course for Beginners 2026 (Learn in 90 Minutes)

Spécialisez vos Agents avec les Skills

La découverte du FBI dans 10 millions de salons

URGENT UPDATE - Iran War Expert: A Mass Casualty Attack Is Coming! | Robert Pape

DAS kommt nach KI-Agenten: Die nächste Stufe der KI beginnt JETZT

7 2 c Les skills transformer Claude en expert métier à la demande

Android 17 sucks. So I put Linux on a phone.

Complete Backend Software Engineer Mind Map - Everything You Need to Know (2 HOURS!)

