Redonner un coup de neuf à Android grâce aux ROMs : le guide complet

15 avr. 2022

J'ai aujourd'hui un téléphone Android depuis la 5ème, et tous mes téléphones finissent sous ROM custom depuis au moins la fin du collège. J'ai donc une petite expérience avec l'amélioration de téléphones, que je vais vous partager aujourd'hui ! Je ferais à l'avenir d'autres articles pour personnaliser Windows et votre distribution GNU/Linux, donc abonnez-vous à la newsletter.

Bidouiller Android : quel intérêt ?

Si l'installation de custom ROMs est autant de niche en Europe, c'est aussi parce que la plupart des gens ne voient pas l'intérêt de modifier son téléphone. Pourtant, les avantages sont extrêmement nombreux, et permettent d'avoir un appareil qui répond parfaitement à nos besoins, peu importe son prix. Mettre la main à la pâte et choisir ce que l'on souhaite sur son téléphone ça permet de :

  • Gagner énormément en performance et en fluidité : vous pouvez parfois doubler vos FPS dans certains jeux, choisir précisément la fréquence de rafraîchissement de votre écran, overclocker ou optimiser la gouvernance de votre SoC.
  • Gagner en autonomie et en vitesse de charge : Même si certaines ROMs comme MiUI sont aujourd'hui très optimisées, vous pouvez pour certains appareils gagner de 4h à 8h d'autonomie, rien qu'en changeant de ROM. Vous pouvez choisir également des profils de charge et de performance pour gagner en durée de vie de batterie
  • Accéder à des mises à jour lorsque votre constructeur ne s'occupe plus de votre téléphone : l'un des problèmes majeurs des téléphones Android encore aujourd'hui est le manque de mises à jour constructeurs pour garder des fonctionnalités récentes (c'est généralement 1 à 2 ans max). Vous pourrez ici garder un appareil à jour pendant 4 à 7 ans sans problème, ce qui est réellement un exploit
  • Profiter de technologies exclusives : les custom ROMs intègrent des features exclusives (notifications intelligentes, IA en photographie, face unlock, personnalisation complète de l'interface, etc.) et de manière si agréable qu'il est très dur de s'en passer. Ça va du code SMS de validation directement dans votre presse-papier à l'enregistreur d'écran intégré, ou la traduction instantanée du contenu audio anglophone que vous écoutez
  • Améliorer le son des hauts-parleurs, ou la qualité de ses photos : vous pouvez installer facilement Dolby Atmos ou DTS pour améliorer considérablement le son de votre téléphone (par hauts-parleurs ou casque). Vous pouvez même améliorer considérablement la qualité de vos photos avec les Google Camera Port ou ANX !
  • Avoir une interface qui nous plaît parfaitement : vous voulez que les icônes systèmes soient en forme de coeur et que toute votre interface soit rose? C'est possible. Vous voulez de la sobriété, du minimalisme? C'est possible.
  • Contrôler parfaitement notre confidentialité et bloquer la publicité : de Google aux entreprises chinoises, vous pouvez choisir de ne plus vous faire espionner, et/ou de ne plus avoir aucune publicité sur votre téléphone. Et sans sacrifier de fonctionnalités. Pas mal non ?
Un exemple de ROM, qui tourne fluidement sous Android 12 sur un téléphone vieux de 4 ans.

Qui n'est pas ciblé par ce guide ?

Si vous avez peur de mettre la main dans le cambouis ou que vous galérez avec les ressources en anglais, passez votre chemin. Si votre téléphone est un téléphone Huawei, Honor ou Samsung, dans la plupart des cas vous ne pourrez pas changer grand chose.

Je vais même aller plus loin : si votre téléphone a une puce Exynos, Kirin, ou même Mediatek, je vous conseille de passer votre chemin (ou checkez sur XDA Forums si vous avez des solutions).
C'est pour ça que je vous conseille vivement d'acheter un téléphone avec un processeur Snapdragon : en plus d'être des processeurs fiables et puissants, vous pourrez mettre à jour vous même votre téléphone pendant des années.
Du coup, si votre téléphone a un processeur Snapdragon : on continue !

Root, custom ROM/kernel/recovery : kézako?

Il est essentiel de partir des bases et de parler un peu d'Android. Android est un système d'exploitation mobile basé sur le noyau/kernel Linux. Il est open-source, ce qui permet à tout le monde (fabricants et développeurs indépendants) de le personnaliser pour correspondre à ses besoins. Son fonctionnement peut se découper en plusieurs couches, je vais m'attarder que sur les plus importantes à connaître. J'ai fait un petit schéma pour que ce soit clair, mais je détaille juste en bas.

Les différentes couches et interfaces d'Android, du plus haut niveau au plus bas niveau.
Un résumé grossier des interfaces et couches Android qui vous seront utiles
  • Le root : Rooter son appareil Android, cela signifie accéder à tous les droits d'administrateur et contourner ainsi la couche de sécurité. En fait, tous les systèmes Linux ont un super-administrateur, appelé "root" ; et il existe des applis sur Android comme Magisk pour accéder à ce rôle pour faire ce qu'on veut sur le téléphone. Aujourd'hui l'usage du root n'a que peu d'intérêt, le mieux c'est d'avoir une ROM que l'on peut personnaliser pour correspondre à nos besoins.
  • Les ROMs et les ROMs custom : Une ROM, c'est globalement une version distribuée d'Android, avec son lot de personnalisation, d'esthétique ou d'outils intégrés. Ça inclue l'interface, les apps installées, la gestion de la batterie, et les performances. Les fabricants créent leurs propres ROMs propriétaires, comme OneUI pour Samsung, MiUI pour Xiaomi/Poco/Redmi, ColorOS pour Oppo/Realme,  OxygenOS pour OnePlus.
    Mais des développeurs indépendants ont développés des ROMs alternatives et open source, souvent de meilleure qualité que les ROMs propriétaires ! C'est le fabuleux univers des ROMs customs. Ces ROMs peuvent généralement être basées sur AOSP/LineageOS (souvent sécurisées, rapides et peu gourmandes mais avec très peu de fonctionnalités), ou sur la version d'Android modifiée par Google pour les Google Pixel (avec généralement plus d'applis Google, mais énormément de fonctionnalités et une expérience aux petits oignons).
  • Les GApps : C'est la suite d'applis Google installée (ou non) avec la ROM. C'est très compliqué de s'en passer complètement, mais vous pouvez choisir une ROM sans GApps, et choisir vous même à quel point vous voulez googliser votre téléphone, notamment avec OpenGApps. Les GApps permettent aussi d'utiliser le GPS, certaines API de Google et sont nécessaires au bon fonctionnement de beaucoup d'applis (alternative : microG)
  • Le kernel/noyau : C'est une des parties de votre ROM qui communique avec le matériel de votre téléphone. C'est principalement cette partie qui gère l'autonomie et les performances de votre appareil, mais elle gère aussi l'écran, le réseau, la connectivité. Les ROMs incluent toujours le kernel lorsque vous les installez, mais vous pouvez le personnaliser et avoir un kernel soit orienté batterie, soit équilibré (on dit balanced) ou orienté performance. Vous pouvez même overclocker (ou underclocker) votre téléphone, avec des outils comme Franco Kernel Manager.
  • La recovery : C'est le mode de récupération d'Android. C'est ici que vous allez faire vos backups, installer votre ROM et votre kernel, ainsi que Magisk. Il est quasi obligatoire d'installer une Custom Recovery, comme TWRP (la plus basique) ou OrangeFox (très jolie et pratique).
    Pour y accéder, appuyez généralement Volume + et Power simultanément (ou Volume - si vous avez un Google Pixel).
  • Les firmwares : Ça dépend énormément des constructeurs, mais les fabricants ont aussi des bouts de code permettant au matériel de votre téléphone de bien fonctionner. Certaines ROMs (et même certaines recovery) ne sont compatibles qu'avec certaines versions de firmware, vous devrez donc installer les bons.
  • Fastboot & ADB : ça sera votre porte d'entrée à la bidouille sur Android. Ce sont deux protocoles qui permettent de communiquer, débuguer et échanger entre votre téléphone et votre ordinateur. ADB est accessible lorsque votre ROM est lancée et avec le mode ADB d'activé (ou dans votre custom recovery, mais avec moins d'options). Fastboot est accessible qu'en mode fastboot, qui est l'interface la plus bas niveau accessible (celle du bootloader). Le mode Fastboot permet peu de choses, si ce n'est flasher votre ROM ou votre custom recovery. Ça vous sera utile quand tout sera cassé héhé !

Les étapes pour tout décaper

1. On installe ADB & Fastboot

Ça se passe ici pour les liens d'installation classiques.
Si vous êtes un·e belle·au gosse et que vous avez un gestionnaire de paquet :

# Ubuntu et dérivés
sudo apt install android-tools-adb android-tools-fastboot
# MacOS
brew install android-platform-tools
# Windows, si vous avez chocolatey
choco install adb

2. On sauvegarde tout (toujours)

Après des années d'expérience à souvent reformater, voici quelques conseils en matière de sauvegarde :

  • Utilisez toujours le même launcher, quelque soit votre ROM. Perso j'ai toujours utilisé Nova Launcher, il est super pratique, joli et personnalisable et vous pouvez faire un backup de vos paramètres.
  • Sauvegardez vos photos : j'utilise Google Photos perso, car ça fonctionne super bien et j'ai pas encore trouvé d'alternative aussi pratique.
  • Sauvegardez votre appareil : Système > Sauvegarde > Sauvegarder maintenant
  • Copiez le contenu de votre mémoire interne vers votre PC ou une bonne carte microSD. La mémoire interne du téléphone sera réinitialisée, mais pas votre carte microSD.
  • Au cas où, sauvegardez vos SMS, vos contacts et votre journal d'appels. Ça devrait être inclus dans votre sauvegarde Android, mais sait-on jamais. Pour faire ça, j'utilise SMS Backup & Restore perso, ça marche nickel.

Partez du principe que quand vous aurez pris goût au modding, vous aurez souvent tendance à réinitialiser votre téléphone, donc faites vous une bonne routine de sauvegarde.

3. Unlockez votre bootloader

Votre téléphone est par défaut verrouillé par son fabricant, pour le protéger et limiter la surface d'attaque de l'OS. Il va falloir unlock le bootloader, et cette manipulation dépend beaucoup de votre fabricant et du modèle de votre téléphone. Je vous conseille de trouver un bon guide sur XDA, généralement taper "[nom du modèle du téléphone] xda guide" sur Google est une bonne porte d'entrée. Pour Xiaomi/Poco/Redmi, ça se fait très simplement et sans perte de garantie avec cet outil fourni par Xiaomi (il y a aussi un Wiki avec beaucoup de ressources très utiles).
Attention, vous aurez généralement besoin de Windows à cette étape !
La procédure est généralement de lancer l'unlocker de bootloader via Fastboot, donc vous devrez démarrer en mode Fastboot et connecter votre téléphone à votre PC. Ne le déconnectez jamais en mode Fastboot, ou vous risquerez de le bricker !

Dans la plupart des cas, une fois l'unlock effectué, votre téléphone sera complètement réinitialisé. C'est good, on passe donc à la prochaine étape.

4. Installez votre custom recovery

Vous allez devoir désormais trouver une bonne recovery, en checkant bien si elle est compatible avec votre version actuelle d'Android et de sa surcouche (MiUI par exemple). Regardez bien aussi si elle comporte des bugs, si certaines fonctionnalités de backup/restore ne sont pas accessibles.

HYPER IMPORTANT : La notion de encryption/decryption. Par défaut votre système Android chiffre votre partition /data, contenant vos données dans la mémoire interne. Certaines recovery ne sont pas capable de déchiffrer votre partition /data, et si c'est le cas il faudra impérativement utiliser un encryption disabler (trouvez en un sur XDA), flasher son zip et wipe la partition /data et la reformater dans votre recovery. Sinon, vos backups de /data seront illisibles !
Si votre recovery gère le déchiffrement, vous aurez juste à entrer votre code PIN ou le mot de passe de votre téléphone pour monter /data et lire ses données.

Vous avez votre custom recovery? Elle fonctionne avec votre version/firmware? Parfait, on va la flash !

  1. Téléchargez le .img de votre recovery
  2. Démarrez votre téléphone en mode Fastboot
  3. Sur votre PC, dans le répertoire contenant le .img, lancez la commande :
fastboot flash recovery "votre_recovery.img"

Si tout est bon, vous pouvez tenter "fastboot reboot recovery" ou d'éteindre et rallumer votre téléphone en mode recovery (touche volume + & power). Et là tadah, TWRP ou OrangeFox démarre ! Rappel du haut, pensez bien à l'encryption.

4bis. Les manipulations générales de votre recovery

Votre recovery est votre meilleure amie, elle vous accompagnera dans toutes vos bidouilles Android. C'est pourquoi il me paraît essentiel de vous présenter un peu les trucs les plus utiles de votre recovery. Déjà, voici à quoi votre recovery devrait ressembler :

L'explorateur de fichiers de TWRP, l'outil de backup et le menu général
L'explorateur de fichiers de TWRP, l'outil de backup et le menu général
L'explorateur de fichier d'OrangeFox, l'installateur de ZIPs, et le Wipe
L'explorateur de fichier d'OrangeFox, l'installateur de ZIPs, et le Wipe

Ces 6 screenshots couvrent la plupart des usages de votre recovery. L'explorateur vous permettra de vous promener dans la partition de votre choix, les outils de backup et restauration permettent de sauvegarder des images de vos partitions (stockez les bien dans votre microSD!).

Le wipe permet de nettoyer les données de votre choix ; vous pouvez virer le Dalvik cache et le cache sans souci.
Les partitions system/vendor, évitez de les wipe, ça virera votre ROM et dans certains cas certaines parties de votre firmware (sauf si l'installation de la ROM demande expressément de wipe ces partitions).
La partition data contient tous vos paramètres Android, la wipe réinitialisera votre téléphone (applis, paramètres, ...) en conservant vos données sur la mémoire interne. Si vous voulez wipe votre mémoire interne, c'est "internal storage".
On peut aussi vous demander de formater la partition data (notamment pour la decryption). Sur TWRP, c'est généralement dans le menu Wipe, mais sur Orangefox c'est dans Menu > Manage Partitions >  Data > Format Data.

Ne touchez pas trop aux paramètres bonus type Magisk de votre recovery, rien ne vaut une installation par .zip pour installer Magisk.

Petite précision sur les ZIPs/.img : les ZIPs contiennent des scripts d'installation automatisés pour votre recovery, tandis que les .img contiennent des images de partition. Leur usage n'est pas le même, tandis que les recovery et les backups se flashent par .img, les ROMs et les kernels sont généralement en ZIPs.

5. (Optionnel) Installez Magisk et rootez Android

Vous aimez bien pousser les limites du possible ? Vous voulez modifier légèrement votre ROM ? Alors allons-y. On va se concentrer sur Magisk dans cette partie. Magisk est un gestionnaire de root, vous permettant de sécuriser l'accès root, d'installer des modules.

Cet utilitaire fonctionne en deux parties : le patch du kernel (en .zip flashable), qui permet à Magisk d'élever ses privilèges ; et Magisk Manager, son application qui vous permettra de récupérer le .zip, de gérer les accès, les modules Magisk, etc.

Vous pouvez donc télécharger l'APK de Magisk Manager, installer l'appli, télécharger le ZIP du patch de kernel, puis redémarrer en mode Recovery pour flasher le ZIP. Wipez votre cache, et à priori c'est bon, Magisk est installé ! C'était simple non?

ATTENTION : Magisk et le root sont détectés par les services Google et certaines applis (Google Pay, Doctolib, les applis de banques notamment). Pour avoir toujours accès à Google Pay, vous devrez certifier votre appareil SafetyNet (voir screen du milieu ci-dessous). La démarche dépend de votre ROM et de votre appareil, des fois ça sera automatique, d'autres fois faut installer un patch.
Pour la plupart des applis qui refusent de se lancer car votre téléphone est rooté, vous aurez juste à utiliser MagiskHide.

Magisk Manager, l'attestation SafetyNet, et MagiskHide.
Magisk Manager, l'attestation SafetyNet, et MagiskHide.

5. (Optionnel) Installez une ROM custom !

Vous voulez enfin vous amuser, et flex devant vos copains sur le fait d'avoir une interface super cool ? Cette étape est pour vous !
Trouvez la ROM qui vous convient le plus, sur XDA et Telegram. En bas de cet article, il y a un petit résumé des ROMs et leurs caractéristiques, si ça peut vous aider.

Faites un backup, puis c'est parti pour un clean flash.

  1. Mettez le ZIP de la ROM sur un espace accessible depuis la recovery, si possible votre microSD.
  2. Démarrez en recovery, puis flashez le ZIP de votre ROM.
  3. Regardez les logs de l'installation pour voir si Magisk a été réinstallé, sinon réinstallez-le (seulement si vous voulez root votre appareil, c'est pas obligatoire).
  4. On wipe le cache, mais on ne reboot pas tout de suite.
  5. On format la partition data, le stockage interne sera supprimé !
  6. On peut maintenent démarrer.

Le clean flash est nécessaire en cas de changement de ROM custom, si votre ROM n'est pas basée sur le même firmware que l'actuel, ou si vous changez de version d'Android.

Dans les autres cas, si vous voulez mettre à jour votre ROM (Passer d'Evolution X 6.1 à 6.2 par exemple), vous aurez juste à flasher le nouveau ZIP de votre ROM et wipe le cache. Si votre ROM est officielle, vous aurez même les mises à jour OTA, c'est à dire directement depuis vos paramètres Android ! Le fait de flash une ROM sans wipe la partition data, ça s'appelle un dirty flash. Dans certains cas, la ROM risque ne pas démarrer après un dirty flash, donc pensez toujours à backup si jamais vous devez clean flash.

Le glossaire des ROMs customs

Je vais rapidement présenter les ROMs custom les plus populaires (et surtout que j'ai pu tester), ça pourra vous aider à faire votre choix.

Les ROMs "Pixel"

Des ROMs pour les maniaques de l'expérience utilisateur, avec plein de fonctionnalités modernes et puissantes et un environnement avec une belle constance graphique.

  • Evolution X : Ma ROM préférée. Elle propose une expérience proche des Google Pixel, avec de nombreuses options de personnalisation et une esthétique aux petits oignons (et une intégration assez légère des services Google, comparé à Pixel Experience). Son seul bémol, c'est qu'elle n'est pas très optimisée et consomme un peu de batterie.
  • Havoc OS : assez similaire à Evolution X, avec des fonctionnalités en moins mais toujours une expérience Pixel. De ce que j'en ai vu, la ROM consomme légèrement moins et peut s'avérer plus stable dans certains cas. Mais les mises à jours sont moins régulières et l'intégration de fonctionnalités moins constante.
  • Pixel Experience : une ROM similaire aux deux autres, que je n'ai pas trop testé. Elle n'offre pas autant d'options de personnalisation, et s'approche vraiment d'une expérience telle que voulue par Google. Vous aurez plein de petites fonctionnalitées pratiques et de l'IA, comme sur les Google Pixel ; mais Google aura la main mise total sur votre expérience.

Les ROMs "AOSP"

Des ROMs beaucoup plus légères et qui n'intègrent pas nativement toute la couche de personnalisation développée par Google, mais qui offrent des performances et une autonomie très intéressante.

  • LineageOS : C'est la version la plus basique que vous pourrez trouver d'Android (après). Aucune fioriture, très peu de personnalisation, aucun fun. Mais une autonomie et une rapidité d'exécution sans égal. Je la déconseille globalement, car ça manque cruellement de choses. Mais pour de vieux appareils, pour de vieux utilisateurs ou pour des puristes, pourquoi pas.
  • crDroid : Une super ROM AOSP, basée sur LineageOS. Elle n'est généralement pas très jolie, mais offre pas mal de personnalisation et une bonne autonomie. Si vous foutez d'un truc joli et que vous aimez les trucs qui marchent bien, c'est parfait !
  • ArrowOS / POSP: deux projets AOSP qui offrent une expérience plutôt jolie, mais assez minimale. Pas ou peu de fonctionnalités, ça va à l'essentiel mais c'est assez joli.
  • GrapheneOS: Une ROM pour les puristes de la confidentialité et de la sécurité. Elle offre des niveaux de sécurité maximaux, et se destine particulièrement aux professionnels ayant des besoins de confidentialités vénère.
  • Paranoid Android : La ROM des hipsters. Jamais testé, il y a peu de builds, mais elle offre pas mal de fonctionnalités et une esthétique assez particulière et chouette. C'est la ROM qui a inspiré OxygenOS, la ROM de OnePlus.

Les ROMs propriétaires mais custom

Vous pouvez parfois trouver des builds de ROMs propriétaires, qui sont distribuées plus ou moins illégalement, et qui surtout sont peu stables. Mais des fois ça peut valoir le coup de s'y pencher.

  • MiUI : Aussi populaire qu'impopulaire, la ROM de Xiaomi. Une esthétique originale, énormément de fonctionnalités, une excellente gestion de l'autonomie. Si votre téléphone a déjà MiUI, ça peut être intéressant d'installer une version custom, qui sera souvent débarassée de tous les bloatwares.
  • OxygenOS : Probablement la ROM constructeur la plus appréciée (créée par les ex- développeurs de Paranoid Android), elle est aujourd'hui en fin de vie car OnePlus passe sur ColorOS, la surcouche de Oppo. Vous pouvez toutefois parfois trouver des builds pour des téléphones hors OnePlus, et l'expérience a l'air chouette. Mais c'est rarement stable.

Ressources hyper utiles

  • XDA Forums. Vous pourrez rien faire sans XDA, tout s'y trouve. Suivez les guides pour vos appareils, et cherchez les threads avec le plus grand nombre de réponses.
  • Telegram. Telegram est un quasi-indispensable au modding Android, il y a des channels pour les mises à jours de ROMs, des tonnes de communautés d'entraide, y compris pour des ROMs spécifiques. Je conseille aussi d'utiliser les "messages enregistrés" pour transférer facilement des fichiers vers son PC et faire des backups. Sans déconner, passez pas à côté ou vous louperez plein de ROMs/kernels et d'infos utiles.
  • Xiaomi Wiki. Une bonne ressource spécifique pour les appareils Xiaomi.
  • Frandroid. Vous n'aurez pas mieux en matière de tests/comparatifs de téléphones Android, vous pouvez vraiment leur faire confiance. Les Numériques ont aussi de bons tests techniques (photo/vidéo/audio/performances) pour compléter, mais leurs notes et leurs décisions d'achats sont souvent bofs.
    Pensez aussi à regarder avant l'achat si votre téléphone est populaire sur XDA ! Un téléphone de niche sera toujours beaucoup, beaucoup plus galère à hack.
  • Google Camera Port Hub. Un indispensable pour la photo, le portage de l'appli de photo des Google Pixel pour votre appareil. Sur Telegram, les groupes "[nom du modèle du tel] - photography" ont souvent de bonnes applis moddées pour faire avoir une qualité photo aux petits oignons

Voilà pour ce guide ! Je vais terminer sur ce disclaimer, un classique de la communauté Android.

/*
* Your warranty is... Still valid? (1999/44/CE directive)
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about infos included in this GUIDE
* before flashing anything! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/

Conobi

C'est moi ! Je le redis, mais abonnez-vous c'est cool et ça me fait plaisir.

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.