Aller au contenu
Tous les articles

#engineering

39 articles étiqueté avec engineering.

MFKAPPS 5 min de lecture

Les TypeConverters Room en 2026 : stocker enums, dates et listes sans corrompre votre schéma

Un guide pratique des TypeConverters Room sur Android — enums, Instant/LocalDate, et listes — ainsi que les erreurs qui transforment un converter en bug silencieux de corruption de données.

#android #engineering #room
MFKAPPS 4 min de lecture

R8 et ProGuard pour Kotlin, Room et Compose : le crash qui n'arrive qu'en release

Pourquoi une app Android Room + Compose peut fonctionner parfaitement en debug et planter en production, et les règles keep R8/ProGuard précises qui l'évitent.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

L'API In-App Review d'Android : demander une note sans être pénible

Un guide pratique de l'API In-App Review de Google — comment elle fonctionne réellement, quand la déclencher, et pourquoi la popup classique « notez-nous » nuit discrètement à votre note sur le Play Store.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

Raccourcis d'application et tuiles de Paramètres rapides sur Android : enregistrer de l'eau sans ouvrir l'application

Un guide pratique de l'API dynamique ShortcutManager et de TileService sur Android — comment permettre à une action en un tap de contourner complètement l'application, avec les pièges qui font trébucher la plupart des implémentations.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

Les types de services au premier plan sur Android en 2026 : choisir celui auquel votre fonctionnalité correspond vraiment

Un guide pratique des restrictions de types de services au premier plan d'Android — dataSync, mediaPlayback, specialUse, shortService — et comment choisir le bon sans se faire tuer ou rejeter.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

StateFlow vs SharedFlow dans Jetpack Compose : modéliser l'état UI sans le bug de replay

Quand utiliser StateFlow et quand utiliser SharedFlow dans un ViewModel Compose — et le bug d'événement unique qui apparaît quand on les confond.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Les index de base de données Room en 2026 : trouver la requête réellement lente et la corriger

Un guide pratique pour indexer une base Room/SQLite sur Android — lire EXPLAIN QUERY PLAN, ajouter @Index sans deviner, et les erreurs qui neutralisent un index en silence.

#android #engineering #room
MFKAPPS 5 min de lecture

@Relation de Room : interroger des données un-à-plusieurs sur Android sans requêtes N+1

Un guide pratique de l'annotation @Relation de Room — modéliser des données un-à-plusieurs comme des catégories et des entrées sans requêtes N+1 ni jointures manuelles.

#android #engineering #room
MFKAPPS 5 min de lecture

Navigation typée dans Jetpack Compose : les routes comme données, pas comme chaînes de caractères

Comment remplacer les routes Compose Navigation basées sur des chaînes par des objets Kotlin sérialisables — arguments typés, graphes imbriqués, et deep links qui survivent à un refactoring.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Android 16 Live Updates : afficher le minuteur de concentration de Mintly sur l'écran de verrouillage

Un guide pratique des notifications centrées sur la progression d'Android 16 — segments ProgressStyle, notifications continues promues, et ce qu'elles apportent à un minuteur Pomodoro actif.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Les canaux de notification Android en 2026 : concevoir des niveaux d'importance que les utilisateurs ne couperont pas

Un guide pratique des canaux de notification Android — niveaux d'importance, groupes de canaux, pourquoi les réglages se figent après création, et comment migrer sans perdre la confiance des utilisateurs.

#android #engineering #notifications
MFKAPPS 5 min de lecture

Paging 3 avec Room : garder une liste de transactions fluide sur Android en 2026

Comment paginer une liste de transactions adossée à Room avec Jetpack Paging 3 pour que des années de données restent fluides dans Compose — pas de RemoteMediator, pas de réseau, juste une base de données locale bien faite.

#android #engineering #room
MFKAPPS 6 min de lecture

La migration Android vers les pages mémoire de 16 Ko : ce qui casse vraiment et comment vérifier ton APK

Google exige désormais que les apps Android prennent en charge les pages mémoire de 16 Ko. Voici ce que ça change en pratique, pourquoi les bibliothèques natives sont celles qui cassent, et comment vérifier que la tienne est sûre.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

La concurrence structurée sur Android en 2026 : scopes, annulation et les fuites qu'elle évite

Un guide pratique de la concurrence structurée Kotlin sur Android — viewModelScope contre lifecycleScope, pourquoi l'annulation se propage, et les fuites de coroutines qu'elle élimine silencieusement.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

La recomposition dans Jetpack Compose : ce qui la déclenche vraiment, et pourquoi j'ai arrêté de deviner

Un guide pratique de la recomposition Jetpack Compose en 2026 — stabilité des types, lambdas instables, clés LazyColumn, et comment lire le rapport de métriques du compilateur.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

La recherche plein texte dans Room : ajouter une recherche instantanée à une app Android local-first en 2026

Un guide pratique du support FTS4 de Room sur Android — construire une table virtuelle de recherche, la synchroniser avec des triggers, et pourquoi FTS5 exige une migration manuelle.

#android #engineering #room
MFKAPPS 6 min de lecture

Chiffrer une base Room en 2026 : SQLCipher, le Keystore, et migrer sans perdre de données

Un guide pratique pour chiffrer au repos une base Room/SQLite sur Android avec SQLCipher — gestion des clés via le Keystore, migration unique, et le vrai coût en performance.

#android #engineering #privacy
MFKAPPS 5 min de lecture

Sauvegarder des données local-first sur Android en 2026 : export SAF, Auto Backup, et un flux de restauration fiable

Comment les applications Android local-first sauvegardent les données utilisateur sans serveur : export/import SAF, Auto Backup for App Data, et une restauration qui vérifie avant d'écraser.

#android #engineering #privacy
MFKAPPS 6 min de lecture

Tester une application Android local-first en 2026 : Room, Flow et les tests Compose UI qui détectent de vrais bugs

Une stratégie de test pratique pour les applications Android local-first en 2026 — tests DAO Room en mémoire, Turbine pour Flow, et les quelques tests Compose UI qui valent vraiment la peine.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

L'authentification biométrique sur Android en 2026 : BiometricPrompt, le Keystore et le verrouillage d'une app local-first

Un guide pratique d'androidx.biometric sur Android — BiometricPrompt, clés adossées à un CryptoObject, repli sur les identifiants de l'appareil, et les erreurs qui font qu'une empreinte digitale ne protège rien.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

L'accessibilité sur Android en 2026 : une checklist TalkBack et sémantique Compose qui tient la route

Une checklist pratique d'accessibilité Android pour 2026 — TalkBack, sémantique Compose, zones tactiles et la passe de test que je fais sur chaque écran avant publication.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Health Connect sur Android en 2026 : lire et écrire des données sans renoncer au local-first

Un guide pratique de l'API Health Connect d'Android en 2026 — permissions, lectures en arrière-plan, et pourquoi une app local-first devrait la traiter comme optionnelle, pas comme une vérité absolue.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

Edge-to-edge et retour prédictif sur Android en 2026 : ce qui est désormais obligatoire, et comment ne pas casser votre interface

L'edge-to-edge est désormais imposé sur API 35+ et le retour prédictif est le geste par défaut. Un guide pratique sur les insets Compose, WindowInsets et PredictiveBackHandler.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Jetpack DataStore en 2026 : migrer depuis SharedPreferences sans perdre un seul réglage

Un guide pratique pour passer de SharedPreferences à Jetpack DataStore sur Android — les pièges asynchrones, le chemin de migration qui préserve les valeurs existantes, et comment le tester.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

Le scan de codes-barres avec ML Kit sur Android en 2026 : comment Stocky ajoute un article au garde-manger en moins d'une seconde

Un guide pratique 2026 du scan de codes-barres sur l'appareil avec ML Kit et CameraX : réglage des formats, recherche produit hors ligne, et le calcul d'usage partiel d'une app de garde-manger.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Les migrations de base de données Room en 2026 : faire évoluer un schéma sans perdre une seule ligne

Un guide pratique des migrations de base de données Room sur Android — AutoMigration, objets Migration écrits à la main, et comment tester une migration avant que vos utilisateurs ne trouvent le bug.

#android #engineering #room
MFKAPPS 5 min de lecture

Baseline Profiles sur Android : ce qui change vraiment votre temps de démarrage à froid en 2026

Un guide pratique des Baseline Profiles Android — les générer avec Macrobenchmark, les brancher dans Gradle, mesurer le vrai gain, et les trois autres leviers du démarrage à froid.

#android #engineering #kotlin
MFKAPPS 6 min de lecture

Jetpack Glance en 2026 : construire un widget d'écran d'accueil qui ne ment jamais sur vos données

Un guide pratique des widgets Jetpack Glance sur Android — état, actions de clic, et le piège du quota de mise à jour qui affiche des données périmées.

#android #engineering #kotlin
MFKAPPS 5 min de lecture

Construire le calendrier d'observance d'OldSchool : transformer des prises en un jour fiable

Un calendrier d'observance mensuel ressemble à un simple point coloré par jour. Voici le modèle d'événements, les règles de statut journalier et le calcul de ponctualité, sur l'appareil.

#android #engineering #room
MFKAPPS 5 min de lecture

Construire Subly : les calculs de calendrier derrière les dates de renouvellement d'abonnement

Prédire la prochaine date de prélèvement d'un abonnement semble trivial jusqu'à ce qu'on tombe sur la facturation en fin de mois, les années bissextiles et les conversions d'essai. Voici comment Subly y arrive, sur l'appareil.

#android #engineering #subscriptions
MFKAPPS 5 min de lecture

Construire Mintly : garder un minuteur de focus précis quand Android veut tuer le processus

Un minuteur Pomodoro en cours d'exécution pose un problème de fiabilité plus difficile qu'un simple rappel ponctuel. Voici comment Mintly survit au mode Doze, à la mort du processus et à la dérive écran éteint grâce à un service au premier plan et une heure de fin en temps réel.

#android #engineering #mobile
MFKAPPS 5 min de lecture

Construire Granyn : un suivi de budget sans connexion bancaire, en trois tables

Comment Granyn suit les dépenses dans plusieurs devises et détecte les factures récurrentes sans lier le moindre compte bancaire — le schéma Room derrière tout ça, et les compromis qu'il impose.

#android #engineering #privacy
MFKAPPS 5 min de lecture

Bien faire les actions de notification Android : marquer une dose comme prise sans ouvrir l'application

Un guide pratique des boutons d'action de notification Android — PendingIntent, la restriction du trampoline d'activité, goAsync() et la mise à jour sûre de l'état Room.

#android #engineering #notifications
MFKAPPS 4 min de lecture

Construire Stocky : prédire ce qui va manquer dans votre cuisine — sur l'appareil lui-même

Comment Stocky transforme un scan de code-barres et un peu d'historique d'utilisation en une liste de courses qui apparaît avant que vous ne tombiez à court — avec tous les calculs, et toutes les données, qui restent sur votre téléphone.

#android #engineering #privacy
MFKAPPS 8 min de lecture

OCR respectueux de la vie privée sur Android : comment Subly lit les factures sans le cloud

Un guide pratique 2026 de l'OCR sur l'appareil sous Android avec ML Kit Text Recognition — la configuration, le code et les astuces d'extraction de champs qui gardent les données utilisateur hors de vos serveurs.

#android #engineering #privacy
MFKAPPS 4 min de lecture

Construire Hydrame : des rappels intelligents, sans harcèlement

Une application de rappels vit ou meurt par ses notifications. Voici comment j'ai conçu celles d'Hydrame pour vous encourager en douceur — et s'adapter à votre journée au lieu de la contrarier.

#hydrame #engineering #ux
MFKAPPS 8 min de lecture

Des rappels Android fiables en 2026 : WorkManager, alarmes exactes et les nouvelles règles de batterie

Comment publier en 2026 des rappels Android qui se déclenchent vraiment — WorkManager vs AlarmManager, SCHEDULE_EXACT_ALARM, POST_NOTIFICATIONS et les bizarreries des constructeurs qui piègent encore.

#android #engineering #mobile
MFKAPPS 8 min de lecture

Android local-first en 2026 : SQLite, Room et garder les données de l'utilisateur sur l'appareil

Un guide 2026 pour construire des applications Android local-first avec Room et SQLite — conception du schéma, migrations, WAL, exports, et quand (et quand ne pas) ajouter la synchronisation.

#android #engineering #privacy
MFKAPPS 4 min de lecture

L'avantage en matière de confidentialité des applications local-first

La donnée la plus confidentielle est celle que l'on ne collecte jamais. Le local-first n'est pas qu'un choix d'architecture — c'est la politique de confidentialité la plus simple qui soit.

#privacy #engineering