Android Makers by droidcon 2025
Site officiel (nouvel onglet) ↗Programme (nouvel onglet) ↗Chaîne YouTube (nouvel onglet) ↗Synthèse de avril 2025 →
Dates (10 et 11 avril 2025) et lieu (Beffroi de Montrouge, avenue de la République, Montrouge) relevés sur Sessionize, page liée depuis androidmakers.droidcon.com. Le CFP annonçait « 80+ technical Android talks », des workshops et codelabs. Programme (données de l'app officielle, API Confetti) : 68 créneaux hors pauses sur six salles (Moebius, Grand Salon, Blin, 2.02, 2.04 pour les « Unconference Roundtables » et office hours, 2.01 pour l'atelier « Mobiles en Perspective » et l'App-Clinic), keynote de Cyril Mottier le jeudi, de Xavier F. Gouchet le vendredi. Jeu de piste « Pin-Droid » pendant les deux jours, soirée au Café Oz Denfert. Hashtag officiel #AMxDC25. Playlist YouTube « Android Makers by droidcon 2025 » (54 vidéos publiées entre le 13 juin et le 18 juillet 2025).
Une édition très technique et assez peu « IA » : passage à l'échelle des grosses apps (modularisation, build, dette, ownership), qualité et performance mesurées, accessibilité et éthique portées par la communauté française, l'IA restant cantonnée à des outils (Gemini dans Android Studio) et à des expérimentations assumées comme bricolées.
40 sessions résumées · 40 vidéos · mise à jour le dimanche 4 octobre 2026 · synthèse à compléter
Sources lues et limites de cette synthèse
Corpus : Programme complet (68 sessions avec descriptifs, via l'API de l'app officielle et Sessionize) ; 20 transcripts automatiques de la playlist officielle (54 vidéos publiées entre le 13 juin et le 18 juillet 2025), dont les deux keynotes ; le compte-rendu en deux parties de l'équipe mobile d'Ippon (22 et 25 avril 2025), celui de Guillaume Decorte chez Atecna (22 mai 2025) ; une soixantaine de posts Bluesky #AMxDC25 d'avril à juin 2025, dont ceux de participants (David Blanc, Maxime Dupierreux, pboulch, Diana, Alex Bruneau, InTech Luxembourg) et de speakers présents dans la salle (John O'Reilly, Danny Preussler, Martin Bonnin, Ed Holloway-George, Romain Piel) ; billet de Cyril Mottier sur sa keynote.
Limites : Aucun post LinkedIn lu : le corpus participant repose sur Bluesky et deux blogs d'ESN, avec un biais francophone et « communauté Kotlin ». Les posts Bluesky sont souvent de simples mentions de talk, sans contenu ; plusieurs viennent de speakers. Roundtables, office hours, App-Clinic et atelier ne sont pas filmés et n'ont laissé aucune trace ; 34 vidéos n'ont pas été transcrites ici. Transcripts automatiques : noms propres parfois déformés (entreprise de deux speakers non identifiable).
Synthèse globale
1. Deux keynotes hors du code : l'échelle et l'éthique
Aucune des deux keynotes ne parle d'une API Android. Cyril Mottier (Amo) ouvre le jeudi sur le passage à l'échelle d'un projet mobile : choisir ce qu'on optimise, modulariser en séparant API et implémentation, raisonner en graphe de build et en chemin critique, outiller l'ownership mieux que le CODEOWNERS de GitHub. Xavier F. Gouchet (Datadog) ouvre le vendredi sur l'éthique du développeur : le logiciel est souvent en avance sur la loi, la question n'est donc pas « est-ce légal ? » mais « devrait-on le faire ? ». C'est la keynote qui a laissé le plus de traces : David Blanc y voit « tous les ingrédients d'une grande keynote », Ippon et InTech Luxembourg la citent dans leurs retours.
2. Les grosses apps face à leur propre taille
Le fil le plus dense de l'édition est celui des apps devenues gigantesques. Decathlon raconte le chemin « du skateboard au porte-avions » : feature teams, release train, 253 modules et 1 h 30 de CI, puis une équipe plateforme qui sort les briques communes dans une bibliothèque à part. Qonto rend la dette technique visible par équipe (SonarQube et Metabase) et la voit fondre ; Deezer partage l'authentification entre deux apps ; le panel MobileOps propose des métriques DORA adaptées aux stores. Une tension traverse ces retours : modulariser accélère le build local, mais trop de modules fait exploser la CI (Robiez et Carlier), alors que Mottier défend un découpage fin à condition de ne dépendre que des API. Côté migration, le retour « Reborn » en français tire une leçon nette : repartir de zéro a marché, mais l'équipe recommanderait désormais la migration progressive (Compose et Views, Rx et coroutines, Dagger et Hilt).
3. Mesurer avant d'optimiser
La performance est abordée partout avec la même discipline : mesurer d'abord, en production, et regarder les utilisateurs les plus mal lotis. Back Market divise presque par deux son démarrage en différant les SDK et en générant Baseline et Startup Profiles ; WhatsApp montre qu'une optimisation bonne au P50 peut casser le P95 sur téléphone bas de gamme ; Q42 traque les recompositions inutiles avec les rapports de stabilité Compose. Google pousse dans le même sens côté plateforme (pages de 16 Ko, Android 16 et son calendrier avancé au deuxième trimestre) et côté outils, avec un plaidoyer inattendu pour les bons câbles USB et un débogueur exploité au-delà du simple point d'arrêt.
4. Kotlin partout, KMP en maturation
Kotlin Multiplatform est présent sans dominer : JSONForms partagé entre Android et iOS (Paligot), état de l'interop Swift et promesse encore limitée de Swift Export (Pamela Hill), Koin et Compose Multiplatform, et Compose Hot Reload en alpha, réservé à la cible desktop. La communauté Kotlin se retrouve aussi sur des talks de fond, très appréciés sur Bluesky : les pièges des coroutines de Louis CAD (« 5⭐ » pour David Blanc), la compatibilité des métadonnées Kotlin (Martin Bonnin), Kotlin DataFrame, les regex ou un économiseur d'écran macOS en Kotlin.
5. L'IA en outil et en bricolage, pas en promesse
Comparée à l'édition 2026, l'IA reste discrète. Google montre Gemini dans Android Studio (image vers code, previews générées) avec une démo live qui échoue en partie et un message prudent : un point de départ, pas une UI finale. Deux développeuses de Qonto assument des projets « hackés » avec Gemini dans le cloud et Gemma 3 sur l'appareil, en montrant hallucinations, coûts (355 € de tests pour l'une) et sorties mal structurées. La roundtable « Software Engineering with GenAI » promettait un « reality check », mais n'a laissé aucune trace. Gouchet rappelle enfin que le code écrit par Copilot porte le nom de celui qui le commite.
6. Accessibilité, éco-conception, sécurité : la responsabilité en pratique
Plusieurs talks, souvent en français, traduisent la responsabilité éthique en pratiques concrètes. Côté accessibilité, AXA montre TalkBack, Switch Access et les correctifs de son app, Marie Benoit plaide pour l'accessibilité cognitive (talk salué par pboulch, Ippon et Atecna), et le talk sur l'EAA tombe « au bon moment », moins de trois mois avant l'entrée en vigueur du texte (Diana). Côté éco-conception, le « soft disabling » de Leboncoin coupe la majorité des appels d'une API d'accueil sans impact business. Côté sécurité, les secrets dans l'APK (salle comble selon Danny Preussler), l'OWASP et les Intents détournés forment un bloc cohérent. Le « marché de l'emploi post-2023 » d'Alexandre Peysale rappelle le contexte : moins d'offres, des salaires en baisse, et la nécessité de montrer son impact business.
7. Vie de l'événement
Deux jours au Beffroi de Montrouge, six salles dont une dédiée aux « Unconference Roundtables » et office hours (Google DevRel, JetBrains), un atelier « Mobiles en Perspective » inspiré de la Fresque du Numérique, et une App-Clinic où des volontaires examinaient les apps des participants. Le jeu Pin-Droid de Ben Kadel, avec des pins cachées dans le bâtiment et même une « demande de rançon » pour une mascotte, a animé Bluesky pendant les deux jours. Les vidéos sont arrivées entre deux et trois mois après l'événement.
8. Tensions et limites du corpus
Les rares critiques tiennent aux contenus eux-mêmes : démo Gemini qui échoue en direct, Hot Reload limité au desktop, Swift Export encore incomplet, et le désaccord implicite sur le bon grain de modularisation. Aucune critique de l'organisation n'a été trouvée. Le corpus participant est mince : deux blogs d'ESN (Ippon, Atecna), une quinzaine de posts Bluesky souvent réduits à une mention, plusieurs venant de speakers, et aucun post LinkedIn. La synthèse repose donc surtout sur 20 transcripts : elle dit ce qui a été présenté, bien plus que ce que la salle en a retenu.
Actions concrètes citées
- Modulariser avec des modules API/implémentation séparés : dépendre seulement des API, qui changent rarement, préserve le cache de build et permet d'ajouter une feature à une app en une ligne (Mottier).
- Rendre la dette technique visible par équipe plutôt qu'en chiffre global : un dashboard alimenté par l'API SonarQube et un ownership par module ont fait baisser la dette de 50 % pour 90 % des équipes en trois mois chez Qonto (Mierzejewski).
- Mesurer avant d'optimiser, en production, sur le P95 autant que sur le P50 : une optimisation bonne pour l'utilisateur moyen peut dégrader les téléphones bas de gamme (Burke, Lobato Genco, Le Ficher).
- Différer l'initialisation des SDK au démarrage et générer des Baseline et Startup Profiles : environ 15 % puis 35 % de gain sur le démarrage chez Back Market (Le Ficher).
- Migrer progressivement plutôt que repartir de zéro : interop Compose et Views, RxJava et coroutines, Dagger et Hilt cohabitent, avec des tests Konsist pour suivre la migration module par module (Jaidi, Puccio).
- Ne jamais avaler une CancellationException, utiliser un coroutineScope local et garder une référence forte sur ses scopes custom (Louis CAD).
- Préparer Android 16 dès la stabilité de plateforme : edge-to-edge obligatoire, restrictions d'orientation ignorées sur grand écran, pages mémoire de 16 Ko pour les apps natives (Lam, Rezgui).
- Intégrer l'accessibilité dès les « 3 amigos », en revue de code et en CI, et tester avec TalkBack, Switch Access et Accessibility Scanner ; l'EAA s'applique depuis le 28 juin 2025 (AXA, Benoit, Malisciuc).
- Se demander si l'on doit faire une feature, pas seulement si l'on peut, et oser dire non (Gouchet).
Session par session
Jeudi 10 avril
Keynote▶ vidéo + transcript
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
Cyril Mottier — Amo
Retours : David Blanc (Bluesky), Cyril Mottier (speaker, billet de blog)
- Choisir ce qu'on optimise : on ne peut pas tout optimiser, certains objectifs sont orthogonaux. Chez Amo (apps sociales simples plutôt que super app), trois priorités : builds rapides (cibles affichées : moins de 10 s en local, 100 s pour un build interne, 1 000 s pour la prod), réutilisabilité (16 variantes d'apps à composer) et ownership ; la testabilité et les coûts sont volontairement laissés de côté au démarrage.
- La modularisation date de 1968 (Larry Constantine) : forte cohésion, faible couplage. Rappel pédagogique du build system comme tri topologique d'un graphe acyclique, du chemin critique (ajouter des workers ne sert à rien au-delà) et de l'évitement de compilation par le cache.
- Organisation du monorepo : foundation, platform, components, apps ; chaque composant découpé en api / lib / bindings. Les implémentations ne dépendent que des API, qui changent rarement, d'où un cache préservé ; ajouter une feature à une app tient en une ligne de Gradle.
- Ownership : le fichier CODEOWNERS de GitHub est jugé « cassé par conception » (si tout le monde peut le modifier, personne ne le possède). Amo a écrit en Kotlin un outil de fichiers OWNERS hiérarchiques inspiré de Chromium et Kubernetes, qui génère le CODEOWNERS.
- Conclusion : pas de solution parfaite, « c'est une question de concessions » à adapter au contexte. Seul retour participant : l'annonce du début de keynote (David Blanc).
Conférence▶ vidéo
Building dynamic forms with JSONForms and Kotlin Multiplatform
Gérard Paligot — Decathlon
Retours : Blog Ippon, Guillaume Decorte (Atecna), John O'Reilly (Bluesky), Gérard Paligot (speaker, Bluesky)
- Formulaires qui s'adaptent au pays, à la langue ou au contexte de l'utilisateur, décrits avec JSONForms, standard de la fondation Eclipse surtout utilisé sur le web, et implémentés nativement pour Android et iOS via Kotlin Multiplatform (programme).
- Trois blocs retenus par Ippon et Atecna : le schema (propriétés et contraintes), le UI schema (présentation) et le state (valeurs) ; bénéfices cités : modularité, maintenabilité, personnalisation et localisation rapide.
- John O'Reilly a trouvé le talk « very interesting » ; le speaker a publié ensuite un premier snapshot de sa bibliothèque jsonforms-kotlin.
Conférence▶ vidéo + transcript
Dinner for two with Gemini: takeaway or restaurant?
Mahya Mir Habibi — Qonto, Maia Grotepass — Qonto
Retours : David Blanc (Bluesky)
- Deux side projects assumés comme bricolés (« just do it and just hack it if you have to »). Le premier recherche dans ses lieux enregistrés Google Maps (Data Portability API, Places API, base Room) en envoyant tout le contexte dans le prompt, avec sortie JSON structurée ; prototype avec le Google AI SDK, marqué « prototypage uniquement ».
- Le second propose une recette à partir de la photo d'un plat à emporter : Gemini multimodal dans le cloud (via Vertex AI en REST), ou Gemma 3 1B sur l'appareil via MediaPipe, sans image ni sortie JSON fiable.
- Limites montrées en direct : hallucinations du modèle local (deux concombres de 500 g, des concombres frits), parsing de markdown fragile ; pistes : LoRA, structured generation, RAG avec base vectorielle.
- Coût observé pendant les tests : 355 € pour la recherche de lieux, à cause du gros prompt, contre 6 centimes pour les recettes. Le seul retour trouvé est un clin d'oeil sur les prénoms des speakers (David Blanc).
Conférence▶ vidéo
Changer les bugs en or : le guide du développeur vers l'amélioration continue
Dennis Bordet — Theodo Apps
Retours : Blog Ippon, Guillaume Decorte (Atecna)
- Point de départ : plus de 40 nouveaux bugs en trois mois, près de 100 résolus en un an, chacun utilisé comme levier d'amélioration (programme).
- Méthode en cinq étapes après le débogage : contexte (lignes, commits, intention d'origine), hypothèses de cause (les « 4M » : main-d'oeuvre, méthode, matériel, machine), pourquoi il n'a pas été détecté, actions sur la cause racine et non sur le symptôme, partage des apprentissages (Ippon).
- Atecna retient l'état d'esprit : « apprendre plutôt que se justifier », sans recherche de coupable, et des KPI pour suivre l'amélioration.
Conférence▶ vidéo
Partager des fonctionnalités entre applications : retour d'expérience
Jean-Baptiste Vincey — Deezer, Philemon Combes — Deezer
Retours : pboulch (Bluesky)
- Chez Deezer, l'authentification est devenue une bibliothèque unique utilisée par les apps Deezer et Zen, intégrable en quelques lignes tout en gérant les besoins propres à chaque app (programme).
- Cité par pboulch parmi les trois talks qu'il retient de l'édition, sans détail sur le contenu.
Conférence▶ vidéo
Building a macOS screen saver with Kotlin
Márton Braun — JetBrains
Retours : Danny Preussler (Bluesky)
- Talk de Kotlin hors des sentiers battus (Kotlin/Native et API macOS). Seule trace : la conclusion résumée par Danny Preussler, « just don't! », les API Apple étant selon lui le principal obstacle.
Conférence▶ vidéo
Hello from the other side: effective collaboration with backend engineers
Romain Piel
Retours : Danny Preussler (Bluesky), Romain Piel (speaker, Bluesky)
- Contre les réflexes « je ne fais que consommer l'API » ou « le backend est une boîte noire », le talk propose comportements, processus et outils pour mieux collaborer avec les développeurs backend (programme).
- Danny Preussler l'attendait comme un sujet très personnel après son passage au full stack ; le speaker parle d'une conférence « great content overall ».
Conférence▶ vidéo + transcript
Multimodal Gemini in Android Studio: AI-powered UI development
Paris Hsu — Google, Diego Perez — Google
- L'équipe UI tools d'Android Studio présente Gemini sur le cycle de développement d'UI : image vers code (maquette ou croquis vers Compose), extraction de couleurs depuis une capture, génération de previews Compose avec des données factices réalistes, et « Transform UI », encore expérimental, qui modifie le code à partir de la preview.
- Démo live honnête : un écran de calculatrice approximatif, une validation d'e-mail réussie au second essai, une transformation qui ne fait pas ce qui est demandé. Message répété : « ce n'est pas pour générer votre UI finale », mais pour gagner du temps sur le boilerplate.
- Conseils : documenter les composables (Gemini s'en sert comme un humain), fournir du contexte (fichiers, design system) via le context drawer et la prompt library.
- Pistes : boucle agentique build, rendu de preview et comparaison avec la maquette, correctifs d'accessibilité depuis l'UI check mode, adaptation à d'autres form factors. Question de la salle sur la confidentialité du code : réponse renvoyant à Gemini in Android Studio for Business. Pas de retour participant trouvé.
Conférence▶ vidéo + transcript
Debug Better in Android Studio
Adarsh Fernando — Google, Fabien Sanglard — Google
- Historique du débogueur depuis 2014 (dual debugger natif et Java, D8, Kotlin, ADB Wi-Fi), puis nouveauté : l'état de recomposition des paramètres d'un composable affiché au point d'arrêt (inchangé, modifié, instable), ce que ni Logcat ni le Layout Inspector ne disent.
- Fabien Sanglard (tech lead du débogueur et d'ADB) plaide pour une chaîne d'outils à jour, câble compris : beaucoup de câbles USB-C ne sont qu'en USB 2 ; ADB avertit désormais d'un mauvais câble. Le dialogue « Waiting for debugger » perdait environ 3 secondes (une attente d'une seconde et une boucle héritée de Dalvik), corrigées sur les versions récentes.
- Démo sur un petit jeu bogué : format Logcat compact, force return, breakpoints conditionnels, de log, groupés ou dépendants, modification de variables à chaud, suspension d'un seul thread, attachement à une app lancée sans débogueur.
- Morale : « soyez curieux », beaucoup de développeurs n'utilisent que breakpoint, step et print. Pas de retour participant trouvé.
Conférence▶ vidéo + transcript
Application mobile, ne fermons pas les yeux sur l'accessibilité !
Daniel Verdierre — AXA, Pierre Echégut — AXA
- L'accessibilité concerne tout le monde : handicaps permanent, temporaire, de situation ; « on passe en moyenne 8 ans de notre vie en situation de handicap ». Témoignage d'un speaker passé de 10/10 à 2/10 de vision en cinq jours.
- Démos sur l'app MonAXA : Switch Access avec un boîtier d'arcade imprimé en 3D, eye tracking d'iOS 18, Voice Access, TalkBack, clavier braille.
- Correctifs concrets : grandes polices (libellé conservé seulement sur l'onglet actif, onglets passés à la verticale), lecture des « 24h/24 » et prix barrés, titres navigables, images décoratives ignorées, rôles et états des composants, zones tactiles de 48 dp.
- Détection : l'audit en préproduction arrive trop tard ; UI check mode, Accessibility Scanner et un outil payant intégrable à la CI. Responsabilité partagée par le PO, les designers, les devs (dès les « 3 amigos » et en revue de code) et les testeurs.
- Points durs assumés : graphiques difficiles à rendre accessibles, mode paysage parfois bloqué faute de temps de test, webviews. Pas de retour participant trouvé.
Conférence▶ vidéo + transcript
Kotlin Multiplatform Alchemy: Making Gold out of Your Swift Interop
Pamela Hill — JetBrains
Retours : Maxime Dupierreux (Bluesky)
- Kotlin parle à Swift via un pont Objective-C (choix de 2018) : la plupart des fonctionnalités marchent, avec ou sans contournement ; data classes et génériques demandent de la prudence ; value classes, varargs et fonctions inline sont à éviter. Référence : le site « Kotlin-Swift interopedia ».
- Astuces immédiates : @ObjCName, @ShouldRefineInSwift, @HiddenFromObjC (aussi pour réduire la taille du binaire), export KDoc, @Throws pour transformer les exceptions attendues en erreurs Swift, classe abstraite générique plutôt qu'interface typée.
- Coroutines et Flow : pas d'annulation par défaut côté Swift ; utiliser SKIE ou KMP-NativeCoroutines.
- Swift Export (annoncé à KotlinConf 2024) doit à terme remplacer le pont, mais reste limité (pas de coroutines, génériques effacés). Retour participant : « great deep dive » (Maxime Dupierreux).
Conférence▶ vidéo + transcript
Skipping Compose performance problems in one commit
Sebastian Lobato Genco — Q42
Retours : Sebastian Lobato Genco (speaker, Bluesky)
- Cas réel sur une bibliothèque Compose pour l'app McDonald's (UI pilotée par le serveur) : taper dans un champ recompose tout l'écran. Credo : « se soucier de la performance, pas s'en inquiéter », donc mesurer d'abord (Layout Inspector, rapports de stabilité du compilateur Compose).
- Causes : listes jugées instables, modèles dans des modules sans le plugin Compose, un ByteArray dans une value class sans equals. Rappel du strong skipping (Kotlin 2.0.20+) qui compare désormais les instances.
- Solution retenue : un fichier de configuration de stabilité (collections Kotlin, packages de modèles), plus un wrapper data class pour le tableau d'octets ; résultat : seul le champ édité recompose.
- Débat en Q&R : ce fichier est un contrat aussi engageant qu'une annotation @Stable, à protéger par la revue de code. Le speaker évoque une salle « étonnamment pleine après le déjeuner ».
Conférence▶ vidéo
How to keep your app's secrets, secret
Ed Holloway-George
Retours : David Blanc (Bluesky), Danny Preussler (Bluesky), InTech Luxembourg (Bluesky)
- Réponse à la question la plus posée en sécurité mobile, « comment sécuriser mes clés d'API ? » : bonnes pratiques, stockage des clés à l'échelle, accès sécurisé, exemples réels d'échecs (programme).
- Premier conseil noté par David Blanc : commencer par retirer les secrets du code. Salle comble : Danny Preussler a suivi le talk assis par terre au premier rang ; InTech Luxembourg cite la sécurisation des secrets parmi ses thèmes retenus.
Table ronde▶ vidéo + transcript
MobileOps v2, une approche adaptée à votre organisation
Willy Rouvre — Ippon Technologies, Gérard Paligot — Decathlon, Jihène Mejri — BforBank, David Bonnet — Datadog
Retours : pboulch (Bluesky)
- Suite du talk de 2024 en format panel animé par Willy Rouvre : modèles d'organisation selon la maturité (devs multicasquettes, CI hybride, puis équipes plateforme et qualité dédiées), modèle Spotify jugé complexe, Team Topologies plus récent. Consigne : « inspirez-vous de la théorie, mais partez de vos contraintes ».
- Les panélistes décrivent leur réalité : staff engineers transverses chez Decathlon, Spotify « fait maison » avec équipe enabling chez BforBank (et valeur de la stabilité des équipes), équipe mobile qui fait l'avocat auprès des équipes produit chez Datadog.
- Proposition de métriques DORA adaptées au mobile : délai jusqu'à la soumission au store, taux d'échec incluant les ANR, taux de rejet en soumission, temps de validation, notes et engagement par version. Les SLA des SDK partenaires sont un angle mort (jusqu'à 90 % des crashs dus à un partenaire chez BforBank).
- Observabilité de bout en bout (OpenTelemetry, traces reliées au backend) comme « Graal » pour diagnostiquer sans ouvrir le code. pboulch cite cette table ronde parmi ses trois moments forts.
Conférence▶ vidéo + transcript
Get Ready for Android 16
Fung Lam — Google
- Calendrier nouveau : release majeure au deuxième trimestre, mineure au quatrième (nouvelles API, peu de changements cassants) ; la stabilité de plateforme signifie que tout changement qui casse des apps sera annulé, donc cibler Android 16 tout de suite plutôt qu'à la date imposée par Google Play.
- Changements cassants : ART mis à jour via Google Play sur plus d'un milliard d'appareils (ne pas dépendre des API internes), predictive back activé, edge-to-edge sans opt-out, restrictions d'orientation et de redimensionnement ignorées sur les écrans de 600 dp et plus (opt-out temporaire), protection du réseau local.
- Nouveautés : photo picker enrichi, codecs modernes (AVIF, AV1), texte vertical, taux de rafraîchissement adaptatif.
- Outillage : SDK Upgrade Assistant, lint qui bloque une simple montée de targetSdk, compatibility framework, device streaming, pré-analyse dans la Play Console. Pas de retour participant trouvé.
Conférence▶ vidéo + transcript
Comment nous avons amélioré le temps de démarrage de notre app de 50%
Florian Le Ficher — Back Market
- App Back Market : plus de 280 modules Gradle, 9 millions de téléchargements ; démarrage au P90 passé d'environ 1,43 s à 670 ms.
- Mesurer d'abord : Android Vitals (comparaison avec des apps similaires), Firebase Performance (rétention de 60 jours), Datadog, Macrobenchmark. Anecdote : l'API splash screen d'Android 12 a fait compter l'animation de lancement dans le démarrage, une fausse régression.
- Gains : Baseline Profiles (léger), Startup Profiles (environ 15 %, en trois lignes), surtout un framework maison sur App Startup et coroutines pour différer et mesurer chaque SDK (environ 35 % ; un SDK antifraude prenait 300 ms au démarrage).
- Autres pistes : StrictMode, ANR, dépendances à jour, R8 full mode à retester soigneusement. Pas de retour participant trouvé.
Conférence▶ vidéo
Metadaquoi ? Gérez la compatibilité de vos applications et bibliothèques Kotlin
Martin Bonnin
Retours : Maxime Dupierreux (Bluesky), Martin Bonnin (speaker, Bluesky)
- Garanties de compatibilité de l'écosystème Kotlin (métadonnées, dépendances transitives, erreurs runtime sur les vieux Android) et outils pour les gérer finement ; le speaker a publié la veille un plugin Gradle, compat-patrouille (programme, Bluesky).
- Retour participant limité à une réaction : « metadata 🤯😰 » (Maxime Dupierreux).
Conférence▶ vidéo + transcript
Prepare your app for the 16 KB page migration
Yacine Rezgui — Google
- Les pages mémoire de 16 Ko, introduites avec Android 15, deviendront une exigence de Google Play ; un même APK fonctionne en 4 Ko et 16 Ko.
- L'essentiel du talk vulgarise la mémoire (frames, pages, table des pages, swap, caches L1/L2/L3, TLB) pour expliquer le gain : moins de défauts de page, environ 4,6 % de consommation en moins et jusqu'à 30 % de lancement plus rapide selon les chiffres cités.
- Migration : AGP 8.5.1 minimum, aligner le code natif et ne plus supposer une taille de page fixe, vérifier les dépendances natives (y compris transitives). Les apps purement Kotlin ou Java n'ont rien à faire. Pas de retour participant trouvé.
Conférence▶ vidéo
Escape from Planet Regex - Kotlin to the Rescue
Ben Kadel
Retours : Alex Bruneau (Bluesky), Ed Holloway-George (Bluesky)
- Les expressions régulières et leur usage en Kotlin, sur la grande scène. Retours centrés sur la forme : « la première fois que je vois quelqu'un aussi enthousiaste en parlant de regex » (Alex Bruneau), un talk « à haute énergie » (Ed Holloway-George). Ben Kadel animait aussi le jeu Pin-Droid pendant les deux jours.
Conférence▶ vidéo + transcript
The Evolution of Tech Jobs Post 2023: Navigating a New Era as an Android Developer
Alexandre Peysale
- Chiffres cités : offres Indeed divisées par deux entre novembre 2022 et novembre 2023, salaires Kotlin en baisse de plus de 10 %, levées de fonds revenues au niveau d'avant le COVID, plus de fermetures de startups. Cause racine selon le speaker : la hausse des taux d'intérêt, qui détourne les fonds d'investissement des actifs non cotés.
- Conseils : montrer l'impact client et business de son travail (le pourquoi, pas seulement le comment), continuer d'apprendre (outils IA, contexte de l'entreprise), viser les secteurs porteurs, élargir la zone géographique et ne pas se limiter aux postes Android.
- En Q&R : recruter est « beaucoup plus facile » qu'il y a deux ans, mais beaucoup de candidats ne savent pas se vendre ; les freelances ont été coupés en premier en 2023. Pas de retour participant trouvé.
Conférence▶ vidéo
Sécuriser nos apps : Anticiper les menaces, protéger les utilisateurs
Alexandre Genet
Retours : Guillaume Decorte (Atecna)
- Parcours du guide de tests de sécurité mobile de l'OWASP : ouvrir un APK, y trouver chaînes et images sensibles, fouiller bases et SharedPreferences, contourner la détection de root, observer le réseau (programme).
- Atecna retient qu'il faut combiner protections client et serveur : « ne jamais stocker de secrets dans l'APK », valider les certificats, obfusquer, vérifier l'intégrité à l'exécution et adopter le Zero Trust, la sécurité côté client seule ne résistant pas au reverse engineering.
Conférence▶ vidéo + transcript
Tous les pièges des coroutines
Louis CAD — Infomaniak
Retours : David Blanc (Bluesky), Martin Bonnin (Bluesky)
- Pièges en nombre fini, erreurs infinies : « lisez la doc ». Rappel de ce qu'est une coroutine (une routine suspendable qui libère son thread) et de la concurrence structurée (grouper les tâches liées, annulation et erreurs propagées).
- Pièges : runBlocking sur mobile, avaler les CancellationException (catch générique, runCatching, boucle de retry infinie), scope externe au lieu d'un coroutineScope local, try/catch autour d'un await, implémenter CoroutineScope, écraser le Job, suspendCoroutine non annulable, scope custom sans référence forte ramassé par le garbage collector (exemple MediaPlayer), scope qui vit trop longtemps.
- Erreurs courantes : ignorer les intégrations (await des Tasks Play Services), mauvais dispatcher (pas d'I/O bloquante sur Default), yield pour les traitements longs, delay qui ne compte pas la veille. Exemples tirés des apps open source d'Infomaniak (SwissTransfer, kMail).
- Retour participant : « packed with extraordinary Kotlin wisdom. 5⭐ » (David Blanc).
Conférence▶ vidéo + transcript
Super apps : on voulait un skateboard, on construit un porte-avion
Antoine Robiez — Decathlon, Baptiste Carlier — Decathlon Digital
Retours : pboulch (Bluesky), Baptiste Carlier (speaker, Bluesky)
- Deux apps Decathlon : la Shopping App (34 pays, plus de 10 millions de téléchargements, plus de 300 000 lignes Android) et l'app des vendeurs en magasin (plus de 70 pays). Analogie filée du skateboard au porte-avions : chaque étape résout des problèmes et en crée de nouveaux.
- Organisation : feature teams pluridisciplinaires, release train avec CI/CD et feature flipping pour ne jamais retarder un train.
- Technique : clean architecture, modules Gradle par couche puis par feature (253 modules sur la Shopping App) ; revers : 1 h 30 de CI, d'où « mieux vaut un module de 1 000 classes que 1 000 modules d'une classe » pour le temps de build.
- Réponse : une équipe plateforme et l'extraction des briques transverses dans une bibliothèque à part (plus de 20 000 lignes extraites, gain de build), au prix d'un processus de correction plus lourd. pboulch retient ce retour sur les défis techniques et d'organisation des super apps.
Vendredi 11 avril
Keynote▶ vidéo + transcript
Being an ethical software engineer
Xavier F. Gouchet — Datadog
Retours : David Blanc (Bluesky), Blog Ippon, InTech Luxembourg (Bluesky)
- Point de départ : l'enquête Stack Overflow 2018, où une minorité refusait d'écrire du code contraire à l'éthique et 80 % rejetaient la responsabilité sur le management. Le logiciel est souvent « extralégal », en avance sur la loi (premier texte sur l'IA en 2024).
- Pas de réponse toute faite : conséquentialisme contre déontologie, biais cognitifs. Contre-exemples : Volkswagen, biais des images générées par IA, filtrage asymétrique de hashtags sur Instagram.
- Pistes : prendre soin des utilisateurs (donner un nom aux personas), se demander « si l'on devrait » et pas seulement « si l'on peut » (citation de Jurassic Park), avoir le droit de dire non (une case précochée d'assurance abandonnée sur l'insistance d'un développeur), posséder toute la codebase, ne pas faire confiance aveuglément à l'IA.
- En Q&R : son SDK coupe le réseau en mode économie de batterie malgré la demande de clients ; débat sur les publicités dans les jeux pour enfants.
- Retours : « a bit of philosophy, a bit of psychology, some great quotes and plenty of food for thought. All the ingredients of a great keynote » (David Blanc) ; Ippon retient de placer l'humain au début et à la fin de toute démarche.
Conférence▶ vidéo
DiY Android Kiosks: Turning a Raspberry Pi into a Modular Workhorse
Etienne Caron — Kanastruk
Retours : John O'Reilly (Bluesky)
- Un Raspberry Pi sous Android en mode kiosque, avec périphériques USB inattendus (webcams, servos pour la numérisation 3D, lecteur de codes-barres, terminal de paiement, balance) pour des usages de point de vente ou d'entrepôt (programme).
- John O'Reilly : « very interesting… tons of useful advice! ».
Conférence▶ vidéo + transcript
The Impact of Micro-Optimizations on Large-Scale Apps
Damian Burke — Meta
- Ingénieur chez WhatsApp : les micro-optimisations comptent à très grande échelle, surtout sur les appareils bas de gamme des marchés émergents, mais leur effet est difficile à mesurer et peut apparaître ailleurs que prévu.
- Méthode : instrumenter en production par échantillonnage, regarder P50 et P95, A/B tester, puis nettoyer le code perdant.
- Cas : téléchargements parallélisés (meilleur au P50, mais trop de threads pour les petits téléphones, d'où un parallélisme borné) ; grille remplacée par des lignes linéaires (moins de frames perdues) ; ViewStub (inflation initiale réduite d'environ 50 %) ; verrous partagés de l'Application Context à l'origine d'ANR aléatoires.
- En Q&R : rendre visibles et célébrer les gains de performance, sinon ils passent inaperçus. Pas de retour participant trouvé.
Conférence▶ vidéo
Comment développer une approche Frontend de l'éco-conception : le Soft Disabling
Vincent Offroy — Leboncoin
Retours : Blog Ippon, Leboncoin Tech (Bluesky)
- Constat : l'éco-conception est presque toujours traitée côté infra ou backend. Chez Leboncoin, le bloc « annonces récentes » de l'accueil génère 20 millions de requêtes mensuelles non cachables, et 98 % des affichages ne sont suivis d'aucune interaction (Ippon).
- Soft disabling : un compteur de non-interactions désactive la fonctionnalité au-delà d'un seuil (fixé à 30 par A/B test) et la remplace par un interrupteur qui explique le changement.
- Résultat rapporté : la part Android du trafic de cette API passe de 55 % à 18 %, sans impact business et avec des retours utilisateurs positifs. Le titre refusé car « trop clickbait » promettait 70 % d'appels en moins (programme).
Conférence▶ vidéo
Data Science with Kotlin: Leveraging Deep Analysis with DataFrame
Dinorah Tovar — Arkham
Retours : John O'Reilly (Bluesky), Danny Preussler (Bluesky)
- Kotlin DataFrame comme alternative typée à Pandas, avec live coding (programme). Retours : « nice talk » (John O'Reilly) ; Danny Preussler s'amuse d'un talk Kotlin qui met Python sur la table.
Conférence▶ vidéo
The State of Voice Interactions on Android
Elaine Dias Batista — SFEIR
Retours : Blog Ippon
- Cinq briques d'une interaction vocale : détection du mot d'activation, reconnaissance vocale, compréhension du langage, logique métier, synthèse vocale (Ippon).
- Panorama des solutions : Google Assistant et Gemini, Picovoice, AWS Transcribe, Whisper, Tock, wit.ai, Vosk, modèles locaux. Ippon retient l'approche sélective et la priorité au hors-ligne pour la confidentialité.
Conférence▶ vidéo + transcript
Compose Hot Reload is here, stop relaunching your app!
Márton Braun — JetBrains
Retours : Maxime Dupierreux (Bluesky)
- Démo sur l'app KotlinConf : l'application n'est lancée qu'une fois, puis toutes les modifications sont rechargées en gardant l'état (constantes, layouts, nouvelles fonctions, autres modules, thème, nouvelle classe dans une hiérarchie scellée).
- Fonctionnement : un plugin Gradle, le JetBrains Runtime et sa redéfinition de classes, un agent Java, une compilation Gradle continue, puis l'invalidation ciblée des scopes Compose touchés ; le code hors composition (ViewModel) n'est réexécuté qu'à la prochaine action.
- Limites : en alpha, cible desktop JVM uniquement (argument pour ajouter une cible desktop rien que pour le développement), un cas non géré (changement de supertype). Retour participant : une simple mention enthousiaste (Maxime Dupierreux).
Conférence▶ vidéo
UX & Accessibilité cognitive : et si vous simplifiiez vraiment l'expérience utilisateur ?
Marie Benoit
Retours : Blog Ippon, Guillaume Decorte (Atecna), pboulch (Bluesky)
- Ancienne professeure de français reconvertie (programme) : 80 % des 12 millions de Français en situation de handicap ont un handicap invisible (cognitif, mental, psychique) selon les chiffres rapportés par Ippon.
- Cinq principes : clarté visuelle, simplicité du langage, prévisibilité, adaptabilité, multimodalité. Contre-exemple de création de compte chez Leclerc Drive, bon exemple chez Super U.
- Atecna souligne ces handicaps souvent oubliés des critères d'accessibilité classiques ; pboulch salue « le premier talk plus que réussi » de la speakeuse.
Conférence▶ vidéo + transcript
Migrer une application avec des millions d'utilisateurs progressivement
Ala Jaidi, Cyril Puccio
- Point de départ : 15 à 16 minutes de compilation et des refactorings de trois semaines à chaque feature ; l'équipe a d'abord repris de zéro (« Reborn », six mois, sans gel des features et avec RxJava, techno maîtrisée), en faisant cohabiter Dagger et Hilt pour A/B tester dès le premier jour.
- Ensuite, saisir chaque opportunité : le rebranding pour passer à Compose (formation, design system en tokens, atomes, molécules), puis Rx vers coroutines avec les ponts await, asFlow, rxSingle. Leçon tirée : « tout casser et repartir de zéro, ce n'est peut-être pas la meilleure façon ».
- Pratiques d'équipe : vision technique annuelle revue chaque trimestre, deux heures hebdomadaires entre devs Android, daily de cinq minutes pour les blocages, spécifications techniques d'une demi-page, Dependabot, Spotless, tests Konsist pour suivre chaque migration par module.
- Communiquer hors de l'équipe pour gagner la confiance, donc du temps pour les migrations. Entreprise non identifiable dans la transcription automatique ; pas de retour participant trouvé.
Conférence▶ vidéo
Navigating the Roadblocks to EAA Compliance
Maxim Malisciuc
Retours : Diana (Bluesky)
- Le European Accessibility Act s'applique aux apps à partir du 28 juin 2025 : handicaps, WCAG 2.2, mise en conformité d'un écran réel et astuces au-delà des contentDescription (programme).
- Diana juge la conférence « the perfect stage for this topic, right on time » avant l'entrée en vigueur de l'EAA et salue les qualités de speaker de Maxim.
Conférence▶ vidéo
Using the Android Context and Manifest to unveil the Android System Mechanics
Ioannis Anifantakis
Retours : Blog Ippon
- Chaque app tourne isolée sous un identifiant Linux propre : le Manifest sert de registre (paquets, permissions, quatre types de composants) et le Context de « pont de communication avec Android » (Ippon).
- Trois rôles du Context : passif (ressources), actif (lancer des composants), liaison (connexions durables), illustrés par l'analogie du standard téléphonique. Même en single activity et Compose, il reste « la colle de notre application ».
Conférence▶ vidéo
Des temps de build qui cassent votre rythme ? Découvrez comment les accélérer !
Louis Jacomet, Paul Merlin
Retours : Martin Bonnin (Bluesky)
- Scalabilité de Gradle sur la boucle interne (coder, builder, tester) et externe (synchronisation Android Studio, CI) : évitement du travail inutile et parallélisme, ce qui a été livré et ce qui arrive (programme).
- Seule trace participante : la mention du talk par Martin Bonnin.
Conférence▶ vidéo
Create engaging apps for Wear OS
Kseniia Shumelchyk — Google, Yuri Schimke — Google
Retours : John O'Reilly (Bluesky), Maxime Dupierreux (Bluesky)
- Guidelines, architecture et bonnes pratiques Wear OS, Compose for Wear OS et outils IA (programme).
- John O'Reilly note que la démo s'appuie sur Confetti, son exemple KMP, enrichi par Yuri Schimke ; Maxime Dupierreux retient la création d'un cadran à thème français.
Conférence▶ vidéo
Les pièges courants dans les équipes techniques et comment les éviter
Renaud Mathieu
Retours : Blog Ippon, David Blanc (Bluesky)
- Les sept péchés capitaux des équipes tech selon un freelance qui a vu les mêmes problèmes partout : orgueil (over-engineering, « vouloir trop bien faire, trop tôt »), avarice (trop de travail en cours), luxure (technos à la mode sans justification), envie (se comparer sans contexte), gourmandise (automatisation excessive), colère (tensions en code review), paresse (bonnes pratiques négligées) (Ippon).
- Remèdes : KISS, YAGNI, SOLID, one piece flow, heijunka, MoSCoW, pair programming. David Blanc : « packed full with pragmatic advice ».
Conférence▶ vidéo
Don't let attackers exploit your app via Intents
Balázs Gerlei
Retours : David Blanc (Bluesky)
- Les Intents sont des entrées à assainir : redirection d'Intent pour escalader les privilèges, déni de service par Intent malformé, fuite par injection de paramètres, détournement de tâche (StrandHogg), et apports des Intents plus sûrs d'Android 15 (programme).
- Seule trace : David Blanc annonce le talk comme un déballage de « toutes sortes d'Intents criminels ».
Conférence▶ vidéo + transcript
Extending Android XR's Reality
Mario Bodemann — Yubico
- Sans matériel disponible (casque Samsung seulement entrevu), tout passe par l'émulateur Android XR de la version Canary : déplacements et rotations simulés, fenêtres d'apps flottantes à placer autour de soi, terminal et navigateur en 3D.
- Démo d'un client Bluesky : la même UI Compose s'affiche en 2D ou, en mode spatial, dans des SpatialPanel disposés en cylindre ; Jetpack XR reprend les concepts connus (Subspace, SpatialColumn, SpatialPanel), le reste est de la trigonométrie.
- Bugs d'émulateur montrés avec humour (vue YouTube Cardboard mal rendue). Conclusion : démarrer XR est simple pour un développeur Android, « on attend surtout le matériel ». Pas de retour participant trouvé.
Conférence▶ vidéo + transcript
No More 'Someone Else's Problem': Tackling Tech Debt at Scale
Florian Mierzejewski — Qonto
- Contexte Qonto : 53 ingénieurs Android et 10 leads en 13 équipes cross-fonctionnelles, 8 pays. Une dette mesurée globalement (« 3 000 code smells » dans SonarQube) est le problème de tout le monde, donc de personne.
- Solution volontairement peu coûteuse (environ un mois pour un ingénieur) : un job nocturne lit l'API SonarQube, stocke les issues et alimente des dashboards Metabase par équipe, module et règle, à partir des README d'ownership existants ; les modules sans propriétaire, dont un monolithe de 23 % du code, apparaissent comme les pires.
- Adoption : bêta avec quelques équipes, canal dédié, top 3 hebdomadaire, badges, coefficients par règle, lien direct vers la ligne dans Android Studio (la fonctionnalité la plus appréciée). Objectif dépassé : 90 % des équipes ont réduit leur dette de 50 % en moins de trois mois, et le suivi des migrations n'est plus manuel.
- Leçons : garder le score positif et sans blâme, le figer pour un trimestre, encourager les équipes à écrire leurs propres règles (dépendances, tests flaky) ; une règle doit signaler un fichier, pas 6 000 imports. Pas de retour participant trouvé.
Sessions sans retour trouvé (24)
- Réussir une refonte UI modulaire : architecture, design system et screenshots tests (Damien Baronnet, Julien Emery, Coyote), vidéo disponible
- Mastering Release Management (Alexandre Bruneau), roundtable
- Securing Android: Tackling Advanced Threats and Enhancing App Security (Anique Sayed), vidéo disponible
- Kotlin and Compose Multiplatform patterns for iOS interop (John O'Reilly), vidéo disponible
- Software Engineering with GenAI (Maia Grotepass), roundtable
- From Source Code to APK: A Manual Deep Dive into the Android Build Process (Rafa Moreno, Airbnb), vidéo disponible
- Mobiles en Perspective (Robin Caroff, Thomas Boutin), atelier
- BLE et contrôle d'accès : transformer son smartphone en badge (Florian N'Gbala, Lunabee Studio), vidéo disponible
- Working across timezones tips and tricks (Alexandre Bruneau), vidéo disponible
- Kotlin Notebooks: Data Visualization for Developers (Danny Preussler), vidéo disponible
- Building a Modern Kotlin Multiplatform Application with Compose Multiplatform and Koin (Arnaud Giuliani), vidéo disponible
- No Signal, No Problem: How We Collect Data in the Most Remote Places (Benjamin Monjoie), vidéo disponible
- EM or IC? What's Right for Me? (Alexandre Peysale, Elaine Dias Batista), roundtable
- Kotlin variance modifiers and Covariant Object Nothing pattern (Marcin Moskała), vidéo disponible
- Comment contribuer à l'Android Open Source Project (Kamal Faraj), vidéo disponible
- Pricing it right: exploring tendencies in monetization (Tomas Riauka), vidéo disponible
- Keeping Up With Android, How to Stay Relevant (Ben Kadel, Carmen Alvarez), roundtable
- Advance Protection Mode: Fortifying Devices for At-Risk Users (Hani Kazmi, Sabs, Google), lightning talk
- Android + Bluetooth: A capture-the-flag workshop (Tom Colvin)
- Google Maps Reimagined: Crafting Interactive, Animated Experiences (Roland Lamidieu), vidéo disponible
- Efficient Android app monitoring (Julien Salvi), vidéo disponible
- Android Open Source Frameworks in 2025 (Kamal Faraj, Mario Bodemann), roundtable
- Office hours Google DevRel (Android Studio, plateforme et Wear OS), KMP/CMP et Kotlin (JetBrains)
- App-Clinic en français et en anglais (Robin Caroff, Edouard Marquez, Gérard Paligot, David Bonnet, Benjamin Monjoie, Eyal Lezmy)
Sources
- Site officiel Android Makers by droidcon (nouvel onglet) ↗
- Sessionize : Android Makers by droidcon 2025 (nouvel onglet) ↗
- Playlist YouTube « Android Makers by droidcon 2025 » (54 vidéos) (nouvel onglet) ↗
- Blog Ippon : Android Makers by Droidcon 2025, partie 1 (nouvel onglet) ↗
- Blog Ippon : Android Makers by Droidcon 2025, partie 2 (nouvel onglet) ↗
- Atecna (Guillaume Decorte) : AndroidMakers 2025, comment booster vos applications Android (nouvel onglet) ↗
- Cyril Mottier : Building Scalable Mobile Projects at Android Makers 2025 (speaker) (nouvel onglet) ↗
- David Blanc sur Bluesky (keynote de Xavier F. Gouchet) (nouvel onglet) ↗
- pboulch sur Bluesky (trois talks retenus) (nouvel onglet) ↗
- InTech Luxembourg sur Bluesky (retour d'équipe) (nouvel onglet) ↗
- Autres posts Bluesky #AMxDC25 lus : Maxime Dupierreux, Diana, Alex Bruneau, Leboncoin Tech ; speakers présents dans la salle : John O'Reilly, Danny Preussler, Martin Bonnin, Ed Holloway-George, Romain Piel, Sebastian Lobato Genco, Gérard Paligot, Baptiste Carlier, Ben Kadel (Pin-Droid) ; compte officiel (photos Flickr, sondage, playlist)