Aller au contenu
Site Communauté

Mreve

Super Modérateurs
  • Nbre de contenus

    2889
  • Inscription

  • Jours gagnés

    78

Billets posté(e)s par Mreve

  1. Mreve
    Partie 1 / Partie 2
    Les chouettes personnages illustrés ont été dessinés par Simon "Gee" Giraudo. Le texte dans les bulles est de moi. Les illustrations sont sous licence Creative Commons By Sa.
    Si ce n'est pas déjà le cas , vérifiez que votre téléphone soit parfaitement à jour et faites une sauvegarde de toutes vos données importantes (contacts, photos etc...) si ce n'est pas déjà fait.

    Maintenant que la plupart d'entre vous ont pu déverrouiller leur bootloader, nous allons pouvoir passer sur des actions plus concrètes. Certaines d'entre elles nécessitent un bootloader déverrouillé (et TWRP d'installé) mais d'autres non. Ne désespérez donc pas si vous avez un téléphone avec un bootloader impossible à déverrouiller.

    Installer une ROM custom bootloader 
    Il existe plusieurs façons de se débarrasser des cochonneries préinstallées d'un téléphone. Installer une ROM custom en est (partiellement) une et offre plusieurs autres avantages :
    Personnalisation illimitée
    Vous trouvez qu'Android manque d'outils de personnalisation ? Alors vous allez être content. Certaines ROM vous permettent de modifier les moindres détails de l’interface de votre smartphone. 
      Meilleure protection de la vie privée
    La plupart des ROM AOSP n'intègrent pas les Gapps (tout le packaging de Google dont le PlayStore et les Services Google Play) et toutes suppriment la surcouche constructeur.
      Fonctionnalités avancées
    Des options et fonctionnalités supplémentaires sont directement intégrés dans la ROM.
      Un support étendu
    Si votre téléphone un peu ancien n'est plus maintenu par votre fabricant, vous serez sûrement content de pouvoir profiter de la dernière version d'Android et de mises à jour de sécurité.  ROM AOSP vs custom stock ROM
    La base open source d'Android s'appelle AOSP. Tous les fabricants se basent dessus pour développer sur leur stock ROMs. On appelle AOSP ROM les custom ROMs sans surcouche propriétaire (dans le sens non open-source) du constructeur. La surcouche est open-source et réalisée par une équipe de développeurs bénévoles.

    On parle de custom stock ROM (ou plus généralement custom ROM based on Stock) lorsque la ROM est basée sur la ROM du fabricant. La surcouche fabricant est altérée et allégée mais reste présente.

    Oui, je suis du même avis mais se passer de la surcouche du fabricant veut aussi dire se passer des drivers et de l'appli photo du fabricant et ça c'est embêtant si vous voulez à tout prix la meilleure qualité photo sur votre téléphone.
     Drivers propriétaires et qualité photo
    La qualité des photos de votre smartphone dépend grossièrement de la qualité de 3 choses :
    - des lentilles de l'objectif
    - du/des capteur(s) de lumière
    - du post-traitement de l'image (image post-processing)

    Je vais vous dévoiler un secret. C'est le post-processing qui fait des miracles, pas le nombre de capteurs, quoi qu'en disent les marketeux de téléphones à 16 capteurs (oui oui c'est en projet !).

    Bref, le post-processing c'est bien mais les meilleurs algorithmes de traitement d'image ne sont pas open-source... ce qui pose un problème pour les développeurs AOSP. Chaque fabricant développe ses propres drivers (propriétaires évidemment) qui fonctionnent de façon optimale avec leur hardware. Il existe bien évidemment des standards que la communauté open-source peut réutiliser mais les fabricants font tout pour empêcher d'utiliser leur technologie photo.

    C'est cette impossibilité d'utiliser les drivers propriétaires et le post-processing (intégré dans l'appli photo) des fabricants qui fait que sur les ROM AOSP, la qualité photo est souvent mauvaise par rapport à la stock ROM. La différence est d'autant plus flagrante sur les récents Galaxy S de Samsung. Sur des téléphones un peu vieux, vous pouvez néanmoins avoir la bonne surprise de vous retrouver avec mieux.

    Il n'empêche que généralement c'est pas fou et qu'il judicieux d'essayer d'installer un portage de l'application camera stock. C'est particulièrement difficile de porter l'appli caméra d'un téléphone sur un autre. Celle qui a le plus de succès c'est celle de Google. Le post-processing de Google est vraiment de qualité et c'est ce qui à fait le succès de leur gamme de téléphones Pixel. Le résultat est plutôt bluffant.



    Oui je vous vois venir ! C'est mal ! Mais c'est une chose à considérer si vous trouvez vos photos  horribles. Ne vous inquiétez pas, nous verrons comment lui empêcher d'avoir accès à internet, au cas où l'appli aurait de mauvaises idées en tête.

    Je ne vais pas vous cacher que c'est compliqué de s'y retrouver parmi tous les portages de l'appli. Pour chaque téléphone il peut y avoir plusieurs portages différents. Le tout est de les essayer pour trouver celui qui donne le meilleur résultat.

    Il y a un type qui héberge et maintient une liste de tous les portages de l'appli. Je pense qu'on peut le remercier chaleureusement.
    ==> Google Camera Hub
    ==> FAQ (lecture recommandée)
    Mes recommandations sur le choix d'une custom ROM
    La custom ROM basée sur AOSP la plus populaire s'appelle LineageOS. Elle est activement maintenue par une vraie équipe. C'est une valeur sûre si vous ne savez pas quoi prendre.
    Mentions spéciales : COSP (orienté vie privée) et AOSP Extented

    Viens ensuite les ROM basées sur LineageOS. Les plus réputées sont Crdoid et Resurrection Remix.

    Le gros avantage des custom ROMs populaires c'est qu'elles supportent les mises à jour OTA (Over The Air), c'est-à-dire téléchargeables et installables directement depuis le téléphone (comme le proposerait le fabricant).

    Cela évite d'avoir à télécharger régulièrement et manuellement la nouvelle version de la ROM et la flasher avec TWRP.

    Téléphones chinois (Xiaomi, Huawei etc...) : ROM AOSP. La surcouche n'en vaut vraiment pas la peine.

    Samsung : ROM based on stock à partir de Galaxy S7 si vous tenez à votre qualité photo. Je conseille la DevBase d'Alexndr (pas d'OTA par contre).

    Google : GrapheneOS. Meilleur OS orienté sécurité et vie privée. Disponible uniquement sur les téléphones Pixel.

    Autres : cas par cas
     AROMA
    En cherchant parmi les différentes ROM vous allez sûrement voir régulièrement la mention d'installation AROMA. Il s'agit d'une installation personnalisable via interface graphique. Les développeurs s'en servent souvent pour proposer de rooter ou installer un custom kernel au moment de l'installation.
     MicroG
    Vous allez aussi sûrement entendre parler de MicroG sur les ROM AOSP. Je vous laisse descendre jusqu'à la section Se débrouiller sans Services Google Play pour plus d'infos.
      Ne flashez jamais les GApps qui vous installeront toutes les applis Google ! 
      Certaines ROM custom ne chiffrent pas le téléphone par défaut. Lisez bien les explications du développeur.
    Rooter son téléphone bootloader 

    J'en ai déjà parlé, rooter son téléphone permet de reprendre la main.
    Rootage avec Magisk
    Certaines ROM custom proposent le rootage au moment de l'installation. Choisissez le rootage avec Magisk. Sinon il faut installer Magisk manuellement. En fonction de votre téléphone c'est plus ou moins simple.
    Pour les téléphones lancés avant 2019, il vous suffit de flasher Magisk via TWRP. Pour les autres ou si ça ne fonctionne pas, je vous conseille la lecture de mon guide Rooter son téléphone avec Magisk [en cours de rédaction].
    Vous pouvez vérifier que tout s'est bien passé depuis l'appli Magisk Manager qui s'est normalement automatiquement installé si vous avez flashé Magisk depuis TWRP. En cas de problème pensez à regarder la FAQ [en cours de rédaction]
     
    Débloater son téléphone bootloader  Root 
    Si vous n'avez pas installé de custom ROM basée sur AOSP mais que votre téléphone est rooté, cette partie est cruciale. Sinon, vous pouvez la sauter.
     Debloater
    Debloater est un joli anglicisme qui signifie enlever les bloatwares, c'est-à-dire tous les logiciels inutiles préinstallés par le fabricant. Le qualificatif inutile est évidemment subjectif car pour moi par exemple, plus de 90% des services proposés par le fabricant sont inutiles.

    Dans notre cas, on va faire un gros nettoyage et enlever le maximum pour limiter le tracking, libérer un peu de place et améliorer l'autonomie.   
    À l'heure actuelle, c'est à vous de trouver le script de debloat qui va bien pour votre téléphone en farfouillant sur les forums XDA. J'ai dans l'idée de vous simplifier la vie en essayant d'en créer un qui soit universel. Ce n'est pas pour tout de suite et ça risque de me demander beaucoup de temps mais c'est dans un coin de ma tête.

    Les scripts root sont dangereux. Faites attention. Vérifiez toujours le code pour voir si ça ne fait que supprimer des choses et pas autre chose ! Gardez aussi en tête qu'un script root de debloat va peut-être casser des choses s'il est un peu trop costaud. Il faudra peut-être réinstaller votre ROM et modifier dans le script la liste des choses supprimées.

    Ce n'est pas grave si vous ne trouvez pas le script qui correspond parfaitement à votre téléphone. La plupart du temps un script pour un téléphone de la même série voir de la même marque suffit. Il faut parfois mixer plusieurs scripts ensemble pour avoir quelque chose de complet.

    Désolé c'est la partie où il faut un peu expérimenter soi-même si vous avez gardé une surcouche constructeur autre que Samsung.
    Script debloat fiable pour Samsung :
    Samsung Galaxy S7/S8/S9/10/N8/N9 : Extreme Safe Aroma based debloater de OrelMadK
    Vous pouvez aussi l'utiliser sur d'autres téléphones Samsung, ça devrait être ok. Il faudra peut-être chercher un script plus spécifique en complément.

    Ce que j'apprécie énormément dans de ce script debloat AROMA c'est que la fonction de chaque paquet est expliquée.

    Pour référence, voici ce que j'ai gardé :
    - Samsung File Manager (gestionnaire de fichier)
    - Samsung Smart Manager Device Maintenance (pour avoir mes stats de batterie)
    - Samsung Clock (horloge)
    - Samsung Wallpaper (pour changer le fond d'écran de base)
    - Blocked Number Provider (pour pouvoir bloquer des numéros)
    - Blue Light Filter (pour le filtre de lumière bleu)
    - Call Log Backup (pour enregistrer des appels)
    - USB Internet Sharing (partager internet avec un PC depuis USB)
    - Ultra Power Saving Mode (mode d'économie d'énergie ultra)
    - VPN Dialogs (pour pouvoir utiliser mon VPN)

    Si cela vous convient, vous pouvez directement flasher la version sans AROMA du script avec mes modifications ici :OrelMadk_V4 (Basic)_Mreve.zip . Vous flashez le zip avec TWRP et c'est fini.
    Vous pouvez facilement éditer les paquets supprimés en dézippant l'archive. Pensez simplement à ziper META-INF et changelog.txt et non le dossier parent.

    Un grand merci à Orelta. Tous les crédits vont à lui !
    Tous ces scripts laissent passer le Play Store et les services Google Play qui sont les plus gros mouchards de Google. Les supprimer entièrement peut causer des problèmes sur certains téléphones mais cela vaut le coup d'essayer : G-killer
    Oui oui, ne vous inquiétez pas. Il y a des alternatives au Play Store ! Par contre supprimer les services Google Play a des conséquences. Beaucoup d'applications propriétaires en sont dépendantes et il se peut que certaines de vos applications favorites ne fonctionnent plus. C'est un choix à faire. Moi je dis que vous pourrez peut-être trouver des alternatives ou alors que c'est le moment d'arrêter à utiliser vos applis de réseaux sociaux !
    Pour vous motiver un peu sachez que supprimer les services Google Play, qui tournent constamment en arrière plan et envoient des données à Google, augmente sensiblement l'autonomie de votre téléphone.
    Cochez toutes les applications proposées, rebootez la machine et regardez si vous arrivez à redémarrer correctement...
      Merci de me signaler sur quels téléphones ce script n'a pas fonctionné !
    Si votre téléphone bootloop et bien il faudra essayer d'isoler ce qu'il ne fallait pas supprimer.
     
    Débloater son téléphone bootloader 
     Debloater
    Voir encadré de la section juste au dessus.
    Si vous êtes bloqué avec un bootloader verrouillé, vous avez quand même la possibilité de faire le ménage. De la même façon qu'il existe des scripts root, il existe des scripts non root.
    C'est là que j'interviens. Je suis en train de mettre au point un script non root universel. J'essaie de prendre en compte toutes les marques de téléphones. C'est encore un work in progress mais si votre marque de téléphone est supportée, foncez !

     Quelle est cette magie ?
    Il faut savoir que toutes les applications système sont installées par le fabricant sur la partition /SYSTEM. Cette partition est en lecture seule et seul le fabricant a le droit d'écrire des choses dessus (via des mises à jour OTA). La seule façon pour l'utilisateur d'avoir ce droit est de rooter le téléphone.

    Cependant, les applis système utilisent également une autre partition : la partition /DATA (aussi appelée espace utilisateur). Tous les paramètres, le cache et les données utilisateur d'un paquet système sont stockés sur cette partition. En gros cette partition /DATA contient toutes les modifications que vous faites à votre téléphone. Toutes les applications que vous installez sont entièrement stockées ici. D'ailleurs, effectuer une restauration du système depuis la recovery officielle (rappel : TWRP a un comportement différent, cf. mon guide) revient simplement à formater /DATA et /cache.

    Sans le droit de monter /SYSTEM en lecture-écriture, il est impossible de supprimer un paquet système du téléphone. La seule chose que vous pouvez faire est supprimer son cache et toutes les données utilisateurs associées. Au final, cette méthode ne permet pas de libérer de la place sur votre téléphone.

    Le truc c'est que vous pouvez empêcher un paquet d'être chargé en mémoire. Même après un redémarrage, le processus ne sera pas réveillé. Ce script gèle les paquets systèmes inutiles et supprime toutes leurs données qui trainent sur /DATA.
    Ce script peut aussi désinstaller entièrement les applications qui ne sont pas des applis système, si besoin.
    Remarque : Vous l'aurez compris, une simple restauration d'usine réinstalle tout !!
    ==>  Mon script  <==
      Pour toutes remarques concernant ce script, merci d'utiliser le topic dédié (ou mieux sur Gitlab directement).
     
    Se débrouiller sans PlayStore bootloader  / bootloader 
    La première chose qui va vous manquer est un magasin d'applications. Je conseille d'en installer 2 : F-droid et Aurora Store
    F-droid ne propose QUE des applications libres et open-sources. Aurora Store vous permet de télécharger et maintenir à jour les applications du Play Store sans passer par un compte Google.

    Si vous cherchez une application il est préférable de commencer avec F-droid puis, si vous ne trouvez pas votre bonheur, de se rabattre sur Aurora Store.
    Commencez par installer F-droid sur votre téléphone en téléchargeant l'APK ou flashant le QR code depuis le site officiel : https://f-droid.org/fr/
    Ensuite, depuis F-droid, installez Aurora Store.
    Mes applis open-sources incontournables
     SMS/MMS : Silence. C'est la seule application qui permet d'échanger des SMS/MMS chiffrés (sans passer par internet donc).

     Messagerie instantanée : Signal ou Wire (non disponibles sur F-droid)

     Lecteur de documents : muPDF (pdf) et LibreOffice (pour le reste)

     Lecteur de médias : Vinyl Music Player (audio) / VLC (vidéo)

     Navigateur web : Fennec F-droid (Firefox entièrement libre)
    Sera à terme remplacé par leur nouvelle appli encore en béta et beaucoup plus performante, dès qu'elle supportera les extensions (pour uBlock Origin, Decentraleyes, et ClearURLs principalement)

     Clavier : Simple Keyboard. Clavier le plus minimaliste qu'il soit (même pas de correcteurs d'orthographe), extrêmement léger.

     Pare-feu : AFWall+ (root) / Netguard (non-root). J'en parle plus loin.

     Mails : Tutanota / ProtonMail / FastMail (pour ceux qui sont clients de ces founisseurs de mails chiffrés)

     Notes : Simple Notes

     Youtube : Newpipe (Youtube en 1000 fois mieux : pas de pubs et possibilité de télécharger n'importe quelle vidéo)
    J'ai créé un topic sur les applis android. Vous conseille d'y jeter un œil.
    Pour les esprits faibles qui ne peuvent pas se passer des réseaux sociaux et bien...


    TANT PIS POUR VOUS !
    Bon okay, voilà votre shoot de dopamine :
    Clients Facebook aux choix : MaterialFB / SlimSocial / Frost for Facebook (le plus maintenu)
    En plus ces applis sont beaucoup plus rapides que l'appli de base et ne contiennent pas de pubs ! Clients Twitter : Twitlatte mais vous ferez mieux de passer sur Mastodon. Instagram : J'ai rien pour vous. En revanche, vous ferez mieux d'utiliser PixelFeed, c'est moins toxique qu'Instagram.
      Se débrouiller sans services Google Play bootloader 
    C'est simple il n'y a rien à faire de particulier. Si vous avez supprimé les services Google Play alors certaines applications du Play Store ne se lanceront même plus ou ne fonctionneront pas correctement.
    Si vous trouvez des alternatives à ces applications, c'est chouette. Sinon et bien il faudra vivre sans. Perso je le vie bien ! J'ai peu d'applications et au final je passe moins de temps sur mon téléphone.
    Se débrouiller sans services Google Play bootloader 
    Si vous voulez à tout prix utiliser des applis qui ont absolument besoin des services Google Play, il va être nécessaire d'installer MicroG.
     MicroG
    MicroG est une ré-implémentation libre et open-source du framework de Google. Plus particulièrement MicroG GmsCore permet de faire fonctionner toutes les applications nécessitant les services Google Play et a l'avantage d'être beaucoup moins consommateur en batterie tout en préservant votre vie privée.
    Si vous n'en avez pas besoin, ne l'installez pas. Vraiment ! Essayer d'abord de vivre sans. Le gain est important pour votre batterie.
    Pour installer MicroG il faut que votre ROM supporte le signature spoofing (usurpation de signature en français)
     Signature spoofing et MicroG
    Les signatures sont utilisées pour vérifier l'intégrité des applications et s'assurer qu'il s'agisse bien du bon développeur qui les mets à jour. Chaque signature est unique. À vrai dire cette signature repose sur du chiffrement asymétrique. Chaque développeur possède 1 clef publique et 1 clef privée. La clef privée est sécrète et le développeur s'en sert pour signer son application. La clef publique est... publique et permet aux utilisateurs de vérifier l'authenticité de la signature.
    Pourquoi est-ce important ? Parce que cela empêche quelqu'un de malveillant d'accéder aux données d'une de vos application (com.toto.jesuisgentil par exemple) en créant une appli avec le même nom.

    Le signature spoofing permet aux application de se faire passer pour d'autres applications. Android avec le signature spoofing peut autoriser une application à modifier sa signature pour se faire passer pour une autre application.

     
    Il faut savoir que c'est le seul moyen pour que MicroG puisse se faire passer pour les services Google Play. Est-ce que cela ajoute un risque supplémentaire ? Oui mais ce n'est pas si terrible que ça. Le signature spoofing est une permission que l'on autorise ou non. Si vous n'installez pas n'importe quoi sur votre téléphone, ça devrait aller.

    Je vous conseille la lecture de cet article très intéressant sur les réelles conséquences du signature spoofing : MicroG Signature Spoofing and its security implications.
     Nomenclature des applications sous Android
    C'est bon à savoir, il existe une convention (non obligatoire donc) dans la notation des noms de paquets. Un nom de paquet permet l'identification unique d'une application. Deux applications peuvent avoir le même nom mais pas le même nom de paquet.

    Cette nomenclature se base sur le nom de domaine du site web du développeur en inversé, pour identifier la provenance. Par exemple l'application camera de chez Samsung (www.samsung.com) se nomme : com.samsung.app.camera

    En fait cette notation représente un système de fichier classique. On peut voir app comme étant un dossier contenant des applications, dont camera.

    Revenons en à l'installation de MicroG : 
    Sachez qu'il est beaucoup plus simple d'installer MicroG sur une ROM AOSP (car il n'y a pas les services Google Play) que sur une Stock ROM (ou custom Stock ROM).
    Si vous êtes débutant, la méthode la plus simple consiste à installer le build MicroG de LineageOS. Il suffit de flasher le fichier zip et vous avez LineageOS + MicroG.
    Si vous ne voulez pas utiliser LineageOS mais une autre custom ROM AOSP ou non, il va falloir  activer le signature spoofing et installer MicroG vous même. Certaines ROM proposent le signature spoofing et il vous suffit de l'activer dans les paramètres (cf wiki du dépot github de MicroG)
    Pour les autres il y a plusieurs méthodes (voir le wiki). Il n'y a pas de meilleures méthodes. Certaines sont plus complexes que d'autres (Haystack, Tingle, NanoDroid ) mais ont l'avantage de ne pas à avoir à installer Xposed (un module qui permet d'installer d'autres modules qui peuvent modifier le comportement d'Android et du noyau).
    Je ne peux pas me permettre de détailler toutes les méthodes ici. Notez que je n'utilise pas MicroG donc je n'ai testé aucune de ces méthodes. Personnellement NanoDroid me semble particulièrement intéressant. Le script est un tout en un. Il essaie de supprimer les Gapps puis patch la ROM pour le signature spoofing et ensuite installe MicroG.
    Si tout cela vous semble diablement compliqué, restez en à la méthode LineageOS MicroG ou (mieux) n'installez pas MicroG ! 
     
    Conseils en tout genre bootloader  / bootloader 
     1
    Installez un pare-feu. Si vous avez rooté votre téléphone, utilisez AFWall+ sinon installez Netguard. Basculez en mode liste blanche pour choisir les applications qui ont le droit d'avoir accès à internet.
    Si vous utilisez AFWall+, rendez vous dans les options de l'application et empêchez la fuite de données au démarrage (certaines applis système peuvent communiquer avec l'extérieur pendant le démarrage). Lisez le wiki si vous avez des problèmes. La FAQ est très complète.

    Si vous utilisez Netguard, la FAQ est très intéressante également.
    Vous noterez qu'il n'est pas possible d'utiliser un VPN + Netguard étant donné que Netguard utilise le service VPN pour faire pare-feu (impossible de faire autrement sans les droits root).
     2
    Si vous utilisez un VPN, je vous conseil de vous diriger vers un fournisseur qui supporte le protocole Wireguard. Les performances et l'impact sur la batterie sont vraiment meilleurs que le protocole OpenVPN.
    Je tiens tout de même à vous préciser que wireguard est encore en Work In Progress (dans le sens où il n'a pas encore atteint la version stable 1.0).
    Vous pouvez utiliser le client Wireguard disponible sur F-droid.
     3
    Avant d'installer une application via Aurora Store, pensez à regarder le rapport Exodus. Exodus privacy analyse les applications et liste les trackers contenus et les permissions demandées.

    Dans Aurora Store, ce rapport se trouve en bas de la page de l'application. S'il n'est pas disponible, vous pouvez aussi simplement renseigner le nom du paquet ici.
     4
    Si besoin, je conseille d'utiliser un WebView différent du Google WebView. Un WebView permet aux application Android d'afficher du contenu web.
    Bromite est open-source et orienté vie privée. Il intègre même un bloqueur de pub.
    ==> https://github.com/bromite/bromite/wiki/Installing-SystemWebView
     5
    Installer un bloqueur de pub via fichier HOST peut être utile, surtout pour les applications avec des pubs qui nécessitent internet. Le plus connu et le plus rapide à mettre en place est Blokada. Si vous voulez un truc plus léger, je vous conseille DNSfilter. SebSauvage lui a d'ailleurs consacré une page de son wiki.

    Personnellement je n'en ai pas car j'utilise Firefox avec tous mes addons habituels (ublock Origin, Decentraleyes etc...) + un pare-feu et n'installe aucune application non open-source qui nécessite une connexion à internet.
     
    J'espère que ce guide vous a plu ! N'hésitez pas à proposer des améliorations !
  2. Mreve
    Les chouettes personnages illustrés que vous allez apercevoir ont été dessinés par Simon "Gee" Giraudo. Le texte dans les bulles est de moi. Les illustrations sont sous licence Creative Commons By Sa.
    Je vous conseille la lecture ce guide si vous voulez en savoir plus sur le rôle d'une recovery dans un téléphone.

    Ce guide explique le fonctionnement et les possibilités de TWRP. Si vous avez un problème ou une question lors de vos manipulations, pensez à jeter un œil à la FAQ !
    [en cours de rédaction]
    La recovery TWRP (TeamWin Recovery Project) est à ce jour la meilleure custom recovery qui puisse exister. Elle est développée par la communauté open-source et semble principalement maintenue par 3 personnes (@Dees-Troy, @bigbiff et @CaptainThrowback).
    Contrairement aux recoveries fournies par le fabricant, TWRP possède une interface utilisateur entièrement tactile. Chose intéressante, toute l'interface est basée sur du XML. Si ce métalangage vous parle, alors vous comprendrez qu'il est aisé de modifier l'apparence de TWRP à votre guise.
    Si c'est la première fois que vous atterrissez sur TWRP, vous devriez voir un écran de ce style :

    Keep Read Only : N'autorise que la lecture sur les partitions. Ne touchez donc pas à ça puisqu'on veut pouvoir écrire dessus.
     
    Validez pour arriver sur le menu principal :

    Regardons en détail chacune des catégories :
    Install
    C'est un menu que vous allez utiliser souvent. Vous l'aurez compris, c'est ici que vous pourrez flasher des ROM, kernels, applications, thèmes...

    L'idée est simple :
    • Sélectionnez l'archive zip à flasher en naviguant dans l'arborescence.
    • Appuyez sur "Add more zips" si vous voulez flasher plusieurs choses à la suite.
    • Faites glisser (swipe) la barre en bas de l'écran de gauche à droite pour lancer le processus.

    Quand le flash est fini et que tout s'est bien passé, le message "Successful" apparaît à l'écran.
     L'ordre est important
    Si vous avez en tête de flasher plusieurs fichiers en même temps, pensez bien à les sélectionner dans le bon ordre. Par exemple, flasher Magisk avant de flasher une ROM n'a pas de sens.
    → Select Storage vous permet de basculer de la mémoire interne à la carte SD ou encore sur un disque de stockage via USB OTG (j'explique ça dans la catégorie Mount).

    → Install Image permet de sélectionner des fichiers .img au lieu de .zip.
     
    Remarque : Le premier redémarrage après avoir flashé une custom ROM prends beaucoup de temps. N'ayez pas peur d'attendre 5-10 min !

    Wipe
    Ce menu sert à effacer et formater des partitions sur votre appareil Android. Ne faites donc pas n'importe quoi !

    Effacer certaines partitions peut être nécessaire si vous installez une custom ROM par exemple. Le mieux est de suivre les recommandations du développeur.

    Soyez très attentif car ce qui va suivre n'est pas forcément intuitif. J'ai dû aller vérifier moi même dans le code source de TWRP car les gens racontent tout et leur contraire. Pour ceux qui sont intéressés ça se passe dans les fichiers partitionmanager.cpp, partition.cpp et partitions.hpp.
     
    Wipe Internal Storage
    Efface le contenu de ce qu'Android appelle Stockage interne. Attention ! Cela correspond seulement au répertoire /data/media qui contient tous vos fichiers personnels (photos, musiques, documents, téléchargements...).

    Wipe Data
    Efface le contenu de la partition /Data sauf /data/media !
    Le cache Dalvik/ART qui est stocké généralement dans cette même partition (/data/dalvik-cache) est supprimé. Il n'est pas possible de faire un wipe data si la partition est chiffrée. Il faut la formater.
    Un wipe data supprime donc toutes les applications et les données utilisateurs associées mais ne supprime pas les fichiers utilisateurs (photos, musiques, documents, etc).

    Wipe Dalvik / ART Cache
    Supprime le cache Dalvik/ART (/data/dalvik-cache).
    Un wipe de cette partition n'entraîne pas de pertes de données (juste du code régulièrement utilisé). Effacer cette partition sans raison entraîne en revanche une perte de performance et un drain de batterie plus élevé pendant plusieurs semaines, le temps que le cache se reconstitue.

    Wipe Cache
    Supprime la partition /cache qui contient les fichiers régulièrement utilisées par les applications (images, miniatures, données des applications...)

    Wipe Sytem
    Ne supprime que l'OS (partition /system) mais pas les données utilisateurs (qui sont sur la partition /Data).

    Factory Reset
    Revient à faire un Wipe Data + Wipe Cache
    Oui ! La restauration d'usine de TWRP conserve les fichiers personnels !

    Wipe Micro SD Card
    Simple : efface le contenu de la carte SD.

    Wipe USB OTG
    Efface le contenu du disque de stockage connecté en USB OTG

    Format Data
    Formate la partition /data. Il s'agit ici d'un formatage donc TOUT le contenu de la partition sera supprimé. Un formatage recrée la partition et fait donc enlève le chiffrement.

    Repair or Change File System
    Permet de réparer et changer le format de fichiers de la partition sélectionnée. Changer de format formate la partition en question.
    Remarque : Tous ces formatages ne sont que des formatages de haut niveaux ce qui veut dire que techniquement les données sont récupérables. Garder en tête qu'un formatage bas niveau sur de la mémoire flash n'est pas vraiment possible.

    En cas de vente d'un smartphone, la solution la plus simple consiste à faire un factory reset + wipe Internal Storage sur un téléphone chiffré. Faire ensuite un format Data et réinstaller proprement la stock ROM (avec chiffrement).
     Pour aller plus loin : Dalvik/ART
    Comme vous le savez peut-être, les applications Android s'exécutent dans une machine virtuelle (VM). Chaque processus tourne dans une machine virtuelle. Le système Android lui-même (composé d'une multitude de processus) s'exécute au travers de machines virtuelles. Pourquoi ?

    1) Pour des raisons de sécurité. En théorie, l'application est totalement isolée du reste du système par la machine virtuelle. En pratique, il est déjà arrivé que le code d'une application s’exécute en dehors de la VM en exploitant des failles de sécurités dans l'implémentation de cette VM par exemple. Cette compartimentation reste tout de même une très bonne chose.

    2) Parce que les développeurs sont des feignasses. Pour exécuter le même programme sur une grande variété d'appareils, quelles que soient leurs caractéristiques techniques. Android peut s'exécuter sur des appareils avec différentes architectures (ARM, MIPs, x86). La virtualisation permet ainsi d'éviter de devoir s'adapter à chaque architecture à chaque fois que l'on veut développer un truc. L'architecture (le hardware) n'a plus d'importance à l'intérieur de la machine virtuelle.



    Cette machine virtuelle, optimisée pour l'environnement mobile, a évolué au fil des ans. Au départ, les développeurs d'Android utilisaient Dalvik. Aujourd'hui, Dalvik a été remplacé par ART mais le répertoire contenant le cache ART s'appelle encore Dalvik, d'où la mention des deux dans TWRP.

    Un principe clef en informatique pour accélérer le lancement d'un programme c'est de le pré-compiler avant son utilisation. Compiler ça veut dire transformer le code source du programme en binaire (ou langage machine ou encore langage natif), le seul langage qu'une machine comprenne. C’est justement ce que fait ART. L’application peut être compilée dès lors qu’elle est installée. Ce code binaire est stocké dans ce qu'on appelle le cache Dalvik/ART. Au lancement d'une application, Android peut directement exécuter le code binaire et ne pas perdre de temps avec la compilation puisqu'elle a déjà été faite.
     Pour aller encore plus loin : Dalvik/ART
    Il faut savoir qu'Android (comme la plupart des applications Android) a été écrit en Java. Ce n'est d'ailleurs pas un hasard puisque ce langage a été spécialement conçu pour être indépendant de la plateforme hardware. En gros, le code source Java est compilé en bytecode, un langage semblable à l'assembleur et indépendant de la plate-forme d'exécution. Ce bytecode est ensuite exécuté dans une JVM (Machine Virtuelle Java, un programme écrit spécifiquement pour la machine cible) qui se chargera soit de l'interpréter (exécuter directement les instructions) soit de le compiler en langage machine. Dalvik est très similaire à cette JVM. Elle est juste optimisée pour les téléphones.

    Le principe de Dalvik repose sur la compilation just-in-time (JIT). Durant l'exécution du programme, le compilateur JIT va compiler le bytecode associé au morceau de code (plus exactement aux méthodes) à exécuter en langage machine juste à temps pour l'exécuter. Une fois la méthode compilée, Dalvik utilise le code compilé au lieu de l’interpréter, améliorant ainsi les performances. La compilation JIT peut aussi optimiser le code en fonction de l'usage du programme. Seul problème de JIT, il faut recompiler à chaque exécution. Le temps de lancement d'une application et l'autonomie du téléphone (la compilation consomme) en sont ainsi significativement impactés. 

    Pourquoi recompiler avant chaque exécution et ne pas garder dans un coin le code machine ? Et bien c'est oublier la taille du stockage dans les années 2008. Cette idée n'était tout simplement pas envisageable. C’est justement ce que va proposer, quelques années après, l’ART qui implémente dès sa conception le principe AOT, Ahead-Of-time : la compilation anticipée. ART peut compiler l'application avant son utilisation et stocker le code dans le cache Dalvik/ART.

    Depuis Android Nougat (7), une combinaison d'AOT, JIT compilation et d'interprétation est utilisé.



     Pour aller toujours plus loin : Dalvik/ART
    Rentrons légèrement dans les détails. 

    D'accord j'ai compris...

    Si vous vous demandez ce qu'il faut wiper avant l'installation d'une ROM, allez jeter un œil à ma FAQ [en cours de rédaction]
    Backup
    Voici le menu pour créer des sauvegardes. TWRP est capable de faire des Nandroid backup. En clair, une image parfaite de la mémoire de votre téléphone.
     NANDROID
    Peut-être que le mot NAND vous évoque quelque chose. Il s'agit en effet d'un opérateur logique en algèbre de Boole (Eh oui la notion de valeur booléenne ça vient de lui !). Les cartes SD actuelles reposent sur la la technologie flash NAND. Sans rentrer dans les détails vos cartes SD sont constituées de milliards de transistors. Ces transistors sont agencés en série de manière à créer une porte logique NAND. Cela forme une cellule mémoire qui stocke un ou plusieurs bits de données.

    Pourquoi je parle de ça ? Parce que NANDROID est la contraction de NAND et Android tout simplement.
    --------------------------------------------
    Si vous voulez en savoir plus sur l'algèbre de Boole et toute la logique utilisée en informatique je vous recommande chaudement la lecture du tutoriel sur Zeste de Savoir de @Pierre_24 : De la logique aux processeurs.
    Pour plus de détails sur le fonctionnement de la mémoire flash d'un SSD, allez jeter un oeil à cet article de Couleur-Science.

    Théoriquement donc une nandroid bakcup est une copie bas niveau. Tous les bits sont copiés un par un.

    Regardons ce que TWRP propose de sauvegarder :
     Boot : partition /boot
     Recovery : partition /recovery
     System : partition /system
     Data (excl. storage) : partition /data sauf /data/media
     Cache : partition /cache
     Baseband : partition /radio ou /modem
     EFS : partition /EFS
     Baseband -- Le firmware caché de votre téléphone
    Eh oui, Android n'est pas le seul firmware sur votre téléphone. Ce qu'on appelle couramment Baseband (ou modem ou encore radio) est un système sur puce (SoC) qui gère les communications avec le réseau mobile. Il s'agit donc d'un système complet embarqué sur une seule puce, avec sa propre mémoire, son propre processeur ! (CP -- Cellular Processor ou BP Baseband Processor) et son propre firmware. Ce firmware est stocké sur la même mémoire flash (eMMC pour être exact) mais sur une partition bien à part : /modem ou /radio selon les fabricants.


    Baseband processor SiTel SC14434

    C'est lui qui gère toutes les fonctions radio (toute fonction qui nécessite une antenne plus généralement), le Wi-Fi et le Bluetooth exclus (sauf sur les anciens téléphones). Il décode le signal avant de l'envoyer au processeur principal (AP -- Application Processor).

    Ce baseband firmware est particulièrement dépendant de votre opérateur et du pays dans lequel vous utilisez votre téléphone. Installer une version inadaptée entraînera une baisse notable de vos performances réseau et de l'autonomie de votre téléphone.
    ==> Comment choisir correctement son baseband firmware [FAQ en cours de rédaction]
     EFS
    EFS est une partition qu'il ne faut jamais supprimer. C'est d'ailleurs pour cette raison qu'elle n’apparaît même pas dans la section WIPE de TWRP.

    EFS signifie Encrypted File System et bien que le contenu de cette partition soit chiffré, son nom ne nous apprend rien sur son utilité. En fait cette partition est essentielle car elle contient tout ce qui permet d'identifier votre téléphone :

    1) L'IMEI, (International Mobile Equiment Identity), un numéro qui permet d'identifier de manière unique votre téléphone dans le monde.

    2) MAC Adresse (adresse unique de votre carte réseau) et adresse bluetooth

    3) Numéro de série de votre téléphone et données liées au signal réseau et à la carte SIM.

    Il est fortement recommandé de faire une sauvegarde de cette partition.
    Sauvegarder la partition /data
    Sauvegarder la partition /data entièrement via TWRP n'est pas possible. Par défaut, TWRP exclut /data/media qui contient toutes vos fichiers personnels (photos, vidéos, documents, téléchargements...) ! C'est un choix qui vous parait sans doute étrange. Voici une explication d'un des développeur si ça vous intéresse.

    Bref, pensez à sauvegarder à la main /data/media.
    ==> Comment sauvegarder /data/media facilement [FAQ en cours de rédaction]

    Que sauvegarder via TWRP ?
    Ce qui est pratique avec TWRP c'est vous avez toujours la possibilité de choisir quelles partitions restaurer depuis une sauvegarde multi-partitions. Concrètement si vous avez sauvegardé /boot et /system et qu'un jour vous cassez le démarrage en installant un mauvais kernel par exemple, vous pourrez utiliser cette sauvegarde pour ne restaurer que le /boot.

    Normalement vous devez vous douter de ce qu'il est nécessaire de sauvegarder : EFS + data + system + boot.
    En théorie, vous ne toucherez jamais à la partition /modem mais si vous avez peur de faire une bétise, ça ne coûte pas grand chose de sauvegarder le baseband (ça doit faire moins de 50Mo).
    Vous pouvez utiliser le bouton Change storage pour basculer sur la carte SD et stocker la sauvegarder dessus. Si votre téléphone supporte USB-OTG vous pouvez aussi la stocker sur votre disque dur connecté en USB-OTG.
    Regardons maintenant du côté des options.
    Enable Compression : active la compression de la sauvegarde. Il n'y a aucune raison de ne pas l'activer ! Pour info TWRP utilise pigz, une implémentation parallèle de gzip. Vous pouvez facilement diviser par 1,5 la taille de votre sauvegarde avec. Skip Digest generation during backup : Saute la création de la somme de contrôle (checksum) qui permet de vérifier l'intégrité de la sauvegarde.  Disable free space check before backup : Désactive la vérification d'espace libre avant la sauvegarde. Il faut savoir que cette vérification d'espace libre considère la taille de la sauvegarde sans compression. C'est pour cette raison que dans certains cas, cela peut être utile de désactiver cette vérification.  Digest
    Sauter la création du checksum peut faire gagner beaucoup de temps (jusqu'à 2 fois plus rapide) mais il n'est pas conseillé de le faire.

    Pour expliquer (un peu mais pas trop), une somme de contrôle est généralement le résultat d'une fonction de hachage que l'on ajoute à la fin d'un fichier. TWRP utilise la fonction SHA-256.

    En gros, une fonction de hachage prend une donnée en entrée (la sauvegarde par exemple) et calcule une empreinte numérique "unique" de cette donnée que l'on appelle hash ou digest.
    Pour vérifier si la donnée d'origine n'a pas été corrompue, il suffit de refaire le calcul. Si l'empreinte est la même c'est que tout va bien.
    C'est plus compliqué que ça en réalité mais j'ai dit que je restai concis !
    --------------------------------------------
    Pour les curieux comme toujours : 
    https://www.wikiwand.com/fr/Fonction_de_hachage
    https://fr.wikibooks.org/wiki/Les_fonctions_de_hachage_cryptographiques

    Parlons un peu de la possibilité de chiffrer votre sauvegarde. Bonne idée me diriez vous !
    Et bien malheureusement, c'est nul. Vous pouvez chiffrer votre sauvegarde mais c'est limite inutile  puisque que l'implémentation de la cryptographie est faite maison et donc très peu fiable. Ce n'est pas du tout leur priorité et la faiblesse de leur crypto est connue.
    Bref, pas la peine d'utiliser le chiffrement de TWRP dans son état actuel (je mettrai à jour ce passage quand cela changera). En revanche, il est préférable de stocker cette sauvegarde sur une partition chiffrée.
    Où sont stockés mes sauvegarde TWRP ?
    Par défaut, elles sont créées dans /data/media/0/TWRP/BACKUPS.

    En les laissant ici, TWRP évite de sauvegarder des sauvegardes (puisque, je le rappelle, /data/media n'est jamais sauvegardé par TWRP).

    C'est une bonne idée de les laisser ici, d'autant plus si le chiffrement est désactivé. Avoir un double sur son PC reste une bonne précaution.
    Restore
    Simple et efficace. Cette section vous permet de choisir les partitions à restaurer depuis une sauvegarde.

    Si vous n'avez pas désactivé la création du checksum pendant la backup, pensez à cocher la case Enable Digest Verification of Backup Files afin que TWRP recalcule le hash du fichier pour vérifier que la sauvegarde n'a pas été altérée.
    Mount
    Il est important de comprendre à quoi sert le montage/démontage d'une partition car c'est de cela qu'il s'agit dans cette section.

    Pour comprendre cette notion, il faut d'abord être au point sur le système de fichier de Linux. J'en ai déjà parlé dans la partie 1 de mon guide #Libérez votre smartphone mais je vais ici entrer un peu plus dans les détails.
     Système de fichiers et point de montage
    Je ne l'ai jamais explicitement dit mais vous l'avez peut-être déjà compris, Android est basé sur le noyau Linux. Pour simplifier, le rôle du noyau est de faire communiquer la partie matérielle (hardware) avec la partie logicielle (software).

    Petit rappel : un système de fichiers est une façon de stocker les informations et de les organiser dans des fichiers. Sans système de fichiers, les données stockées sur un disque dur seraient un seul corps de données et il serait impossible de déterminer où est ce qu'une donnée s'arrête et la suivante commence. En séparant les données en morceaux (appelés fichiers) et en leur donnant à chacun un nom, cela devient tout de suite plus simple.
    Pour citer quelques systèmes de fichiers, vous connaissez sans doute ceux utilisés par Windows : FAT32 (ancien) et NTFS. Linux et donc Android utilisent quant à eux ext4.

    Sous Windows, les périphériques de stockage et les partitions sont affichés comme des lecteurs indépendants en haut de leur propre arborescence. Sous Linux, en revanche, ils sont inclus dans l'arborescence, car Unix traite aussi les partitions et périphériques de stockage comme des fichiers :



    Un point de montage n'est autre qu'un répertoire à partir duquel sont accessibles les données d'une partition.


    Votre téléphone a booté sur la partition recovery. Cette partition est donc forcément monté. Pourquoi vouloir monter la partition /cache ou /system si on ne l'utilise pas ?
    En temps normal vous n'aurez pas à toucher à cette section. Lorsque vous flashez, wipez ou formatez des partitions elles sont automatiquement montées au besoin. Les points de montages sont plus où moins différents entre les téléphone et TWRP les a choisi pour vous.

    Si par exemple vous ne voyez pas apparaître votre carte SD dans le gestionnaire de fichiers c'est que la partition associée est démontée. Il faudra donc la monter depuis cette section.
     Chiffrement et partition /data
    TWRP vous a sûrement demandé votre code pour déchiffrer la partition /data. Cela est nécessaire pour monter la partition /data.
    Je vous renvoie à ma FAQ [en cours de rédaction] si vous avez des problèmes avec ça.
    Mount system partition read-only : je ne vois pas du tout l'intérêt de monter la partition système en read-only (lecture seule). Settings

    La section des options est découpée en 5.

    : Gestion des vibrations. Personnellement je baisse toutes les options par défaut. C'est bien trop fort !
    : Gestion du fuseau horaire. Celui par défaut n'est pas le bon et à moins que vous vouliez absolument avoir l'heure, ce n'est pas important du tout.
    : Gestion de la luminosité. Très forte par défaut. À baisser.
    : Choix de la langue. Je conseille de laisser en anglais pour apprendre le vocabulaire en anglais qui est beaucoup plus courant.
    : Paramètres divers. Me concernant je ne coche aucune case.
    Zip signature verification : La signature ZIP permet de vérifier l'authenticité du fichier ZIP avant de la flasher. Si la signature n'est pas la même que celle aposée par le dévelopeur alors TWRP empêche le flashage.
    Si tous les développeurs signaient leur fichiers zip ça serait une option très utile mais ce n'est malheuresement pas le cas... Reboot after installation is complete : Redémarrer automatiquement après le flashage terminé. Use rm -rf instead of formatting : Utiliser la commande unix rm -rf au lieu de formater. Si vous n'avez pas de problèmes de corruptions de partitions après des formatages via TWRP, il n'est pas nécessaire de toucher à ça. Disable free space check before backup : J'ai déjà évoqué son utilité dans la section Backup. Skip digest generation during backup : Idem Use 24-hour clock : Utiliser l'horloge 24H au lieu de 12. Purement cosmetique. Reverse nav bar layout : Inverse le sens des bar des navigation (quand vous faites glisser votre doigt de haut en bas, le contenu descend). Prompt to install TWRP app if not installed (coché par défaut) : Propose d'installer l'application TWRP si ce n'est pas déjà fait. Décochez moi ça. C'est juste pénible puisque vous ne voulez pas de cette appli.
       L'application TWRP
    L'équipe derrière TWRP propose aussi une application non open-source et uniquement disponible sur le PlayStore (ou directement sur le site officiel de TWRP). Certes elle facilite (un tout petit peu) l'installation des mises à jour de TWRP mais je déconseille son utilisation.

    Au moment de redémarrer, si vous avez oublié de décocher l'option mentionné plus haut, cet écran va apparaître. Décochez Prompt to install TWRP app if not installed puis cliquez sur Do Not Install.

    C'est un des gros points noir de TWRP. C'est limite s'ils ne forcent pas son installation. Il faut aussi savoir que l'application peut collecter des données de connexion. L'équipe derrière TWRP a conclu un partenariat avec l'entreprise P3 qui s'occupe d'une partie du développement et de proposer une fonction de monitoring de votre connexion réseau :
    ==> Détails de l'équipe TWRP

    Je vous laisse vous faire votre avis
    Advanced

    Quelques fonctionnalités supplémentaires :

    Copy Log : Permet de copier le journal du recovery à la racine de la mémoire interne du téléphone. Pratique pour identifier des anomalies. ADB Sideload : Mode particulier d'ADB qui permet d'installer des applis depuis votre PC en une seule commande. C'est surtout utile aux développeurs. Terminal : Pour faire la même chose qu'avec l'interface graphique mais en ligne de commande. La liste des commandes disponibles se trouvent ici. File Manager : Gestionnaire de fichiers minimaliste avec accès root permettant de copier, déplacer, renommer, supprimer et changer les permissions. Reboot

    Je ne pense pas que cette section mérite des explications. Just un petit rappel : Download correspond au Fastboot mode.

  3. Mreve
    Les chouettes personnages illustrés ont été dessinés par Simon "Gee" Giraudo. Le texte dans les bulles est de moi. Les illustrations sont sous licence Creative Commons By Sa.
    Avant de commencer les manipulations, vérifiez que votre téléphone est parfaitement à jour et faites une sauvegarde de toutes vos données importantes (contacts, photos etc...).

    Déverrouillage du bootloader
    Vous allez voir, en fonction des marques c'est plus ou moins facile (voir impossible). Si la marque de votre téléphone vous empêche de déverrouiller votre bootloader, ne vous inquietez pas, j'ai encore des choses en partie 3.
    1) Téléchargez ADB sur votre PC
    Liens de téléchargement direct depuis le site officiel developer.android.com :
    Windows / Linux / MacOS  ADB
    Android Debug Bridge (ADB) est un outil en ligne de commande qui permet de communiquer avec un appareil Android. Il fait partie du kit de développement (SDK) d'Android utilisé par les développeurs Android.
    ADB est un peu le couteau suisse du développeur. Il est par exemple très pratique pour installer/désinstaller directement des applications depuis un terminal, déboguer des applications et avoir accès à des fonctionnalités cachées (pour développeurs). 

    Il permet aussi d'utiliser les puissantes commandes Unix pour faire de chouettes scripts (j'en reparlerai).

    De nombreux logiciels d'installation d'ADB fleurissent sur les fora. Je ne les recommande pas. La plupart du temps il sont périmés et installent une vieille version du SDK Android. En plus il ne sont quasiment jamais open-source donc on n'est jamais trop sûr de ce qu'ils font réellement.
    La méthode la plus fiable et la plus efficace, c'est de récupérer l'archive de du SDK comme je le propose plus haut.
    Pour les utilisateurs Linux, le paquet plateform-tools est sûrement disponible dans les dépots officiels de votre distribution. Dans ce cas, il est plus pratique de procéder de cette façon.
    Comment accéder aux commandes ADB ?
    Utilisateurs de Windows, on ne va pas se mentir, l'invité de commande est le pire terminal du monde. Pour le peu qu'on va s'en servir, ce n'est pas très grave mais si vous voulez utiliser un meilleur terminal je vous conseille d'installer Cmder.

    Pour pouvoir utiliser les commandes du SDK Android, il faut ouvrir un terminal directement dans le dossier plateform-tools provenant de l'archive téléchargée plus haut.

    Sous Windows
    Depuis l'explorateur de fichiers, dans le dossier plateform-tools, maintenez la touche Maj.⇑ enfoncée, et faites un clic droit. Cliquez alors Ouvrir une fenêtre de commandes ici.

    Sous Linux
    Même principe mais il suffit de faire un clic droit à l’intérieur du dossier pour obtenir l'option Ouvrir un terminal ici. Dans le cas où vous avez installé le paquet plateform-tools depuis un dépot, les commandes du SDK devraient être disponibles partout sur votre machine.

    Sous MacOS
    Je vous conseille d'installer OpenTerminal, un petit logiciel qui vous donnera l'option d'ouvrir un terminal depuis l'explorateur de fichier. Cela sera plus pratique pour la suite. Je vous renvoie chez Korben pour un petit guide d'installation.

    Si vous n'avez pas envie d'installer quoi que ce soit, sachez que vous pouvez très bien ouvrir votre terminal n'importe où et naviguer jusqu'au dossier plateform-tools avec la commande unix cd.
     
    2) Désactivez le verrouillage OEM de votre téléphone
     Le verrouillage OEM
    Aussi appelé fastboot oem lock, il s'agit d'une fonctionnalité de sécurité qui empêche le bootloader de remplacer la stock recovery. Par extension, si on ne peut pas installer de custom recovery alors on ne peut pas installer de custom ROM.
    Il n'est malheureusement pas possible de réactiver le verrouillage OEM une fois TWRP installée.
    Allez dans les paramètres de votre téléphone puis dans À propos du téléphone Rendez vous dans Informations sur le logiciel (cette étape n'est pas nécessaire sur tous les téléphones) Appuyez 7 fois sur Numéro de version pour activer les options de développeur Retournez en arrière et allez dans la section Options de développeur qui vient d'apparaître. (en fonction de votre téléphone, elle peut se trouver dans la sous-section Paramètres supplémentaires) Activez la case Déverrouillage OEM et confirmez. Ne quittez pas les options de développeur.
    3) Activez le debogage USB sur votre téléphone
     Le debogage USB
    Activer cette fonctionnalité permet d'utiliser toutes les commandes du Android SDK. Le débogage USB est indispensable pour installer TWRP (la custom recovery).

    NB : Le débogage USB n'est pas nécessaire pour débloquer un bootloader mais nous en auront besoin après.
    Toujours dans les options de développeur, activez la case Débogage USB.
    Lorsqu’un PC voudra accéder à votre périphérique Android, vous devrez autoriser le débogage USB pour celui-ci (un fenêtre apparaîtra à l'écran) :

    Si vous voulez toujours autoriser cet ordinateur à avoir accès au débogage USB, vous pouvez cocher la case correspondante.
    4) Installez les drivers USB
    Cette étape est uniquement nécessaire pour les personnes sous Windows.
    Rendez vous ici pour téléchargez les drivers adaptés à votre téléphone.

    Si vous avez un Xiaomi vous allez tomber sur une page tout en chinois. Pour vous faire gagner du temps, voici le lien direct du téléchargement.
    Si vous avez un téléphone Google (Pixel), les drivers sont disponibles ici.
     
    5) La suite varie en fonction de la marque de votre téléphone
    Une chose reste commune, il faudra entrer en fastboot mode pour finalement déverrouiller le bootloader.
    Vérifiez dans un premier temps que votre PC peut bien communiquer avec votre téléphone en utilisant la commande suivante depuis un terminal ayant accès aux commandes ADB :
    adb devices Si un appareil est détecté tout va bien.
     
     Fastboot
    C'est un protocole utilisable lorsque le téléphone est en bootloader mode (on parle plus souvent de fastboot mode). Cela permet d'agir directement au niveau de bootloader. Ce mode permet notamment de flasher des partitions et de déverrouiller le bootloader !
    Comment entrer en fastboot mode ?
    Sur la majorité des téléphones, il faut redémarrer le téléphone puis rester appuyé sur les boutons Volume bas et Power jusqu'à entrer mode fastboot.

    Sur les téléphones Samsung, il faut en plus rester appuyé sur le touche Home.

    Une petite astuce : Vous pouvez utiliser la commande ADB suivante pour redémarrer directement en mode fastboot : adb reboot bootloader (ou adb reboot download pour les téléphones Samsung)
    Récupérer son numéro IMEI
    Dans certains cas, vous aurez besoin de votre numéro IMEI pour déverrouiller le bootloader. L'International Mobile Equipment Identity (IMEI) est un numéro qui identifie de manière unique un téléphone portable.

    Vous le trouverez en "appelant" le *#06# (ce n'est pas un numéro, juste un code pour afficher l'IMEI).
    Xiaomi
    Créez un compte Mi depuis votre téléphone (Paramètres --> Compte Mi) Téléchargez Mi Unlock sur votre PC (uniquement pour Windows malheureusement) Connectez votre téléphone à votre PC via USB et lancez Mi Unlock. Allez dans les paramètres ( en haut à droite) et vérifiez l'installation des drivers. Il vous sera alors demandé de reconnecter le téléphone si ce n'est pas le cas. Débranchez le rebranchez le afin que les drivers Xiaomi s'installent sur votre PC.  Pourquoi je n'aime pas Xiaomi
    Xiaomi n'aime pas du tout qu'on déverrouille leur bootloader. Leur méthode pour le faire a beaucoup changé ces dernière année. Actuellement, ils ont mis en place un système extrêmement irritant. Il faut en effet attendre entre 72 et 720h !!! avant de pouvoir déverrouiller le bootloader avec Mi Unlock. Ne me demandez pas pourquoi certains ont 72h et d'autre 600h, personne ne le sait vraiment.

    Mais bon au moins, ils laissent encore la possibilité de déverrouiller leur bootloader.

    À ce stade il y a plusieurs possiblités :
    Si vous avez importé votre téléphone directement depuis la Chine (en l'achetant sur AliExpress ou GearBest par exemple) alors il y a un chance non négligeable que votre bootloader soit déjà déverrouillé ! Vous ne devez attendre que 72h donc ce n'est pas trop grave Vous ne voulez pas attendre et tentez la méthode des sioux du renard (elle n'est pas vraiment de moi en fait) Déjà allons voir ce que dit Mi Unlock : "Not connected to the phone"

    C'est normal. Suivez les instructions pour entrer en mode fastboot/booloader puis cliquez sur Unlock.
    Regardez si vous avez de la chance... ou pas.

    La méthode des Sioux
    Je tiens à préciser que cette méthode a l'inconvénient de faire une restauration d'usine. Je le répète donc, si ce n'est pas déjà fait, sauvegardez le nécessaire avant de continuer.

    - Fermez Mi Unlock
    - Téléchargez cette ancienne version de MiFlash Unlock
    - Réessayez de déverrouiller

    Vous n'avez normalement aucun temps d'attente.
     
    Samsung
    Youhou ! Il n'y a rien de plus à faire.

    À vrai dire, ce que je dis est vrai seulement si vous avez un téléphone Samsung européen. Avoir un téléphone en français n'est pas une garantie. En effet, il n'est pas si rare de trouver des téléphones Samsung américains reconditionnés en France.

    Pour info les téléphones Samsung américains n'ont pas le même processeur (Snapdragon pour eux) que les modèles européens (Exynos) et ont un bootloader verrouillé. Et quand je dis ça, cela implique qu'il est IMPOSSIBLE de le déverrouiller !

    Ne vous prenez pas la tête, si la suite ne fonctionne pas alors c'est que vous vous êtes fait arnaqué et que votre Samsung est un modèle américain.

    Huawei
    Il fut un temps où il suffisait de demander un code de déverrouillage à Huawei. Depuis mai 2018 ils ont tout simplement arrêté d'en donner. La raison ? Je vous le donne en mille : pour améliorer l'expérience utilisateur (et éviter les problèmes liés au flashing de custom ROM).
    Bref ! Pas de code, pas de chocolat !
    Si vous voulez vraiment rooter votre téléphone et changer de ROM, il est apparemment possible de trouver des codes valides en payant 50$. Je vous laisse chercher, je ne tiens pas à mettre un lien dans ce tutoriel vers les sites qui font ce business.

    Il se peut aussi que vous ayez récupéré un téléphone avec un bootloader déjà déverrouillé. C'est déjà arrivé à un de mes proches. C'est d'autant plus probable si le téléphone a été importé de Chine directement (via GearBest ou AliExpress).
    Pour le savoir, continuez à suivre ce tutoriel.

    Asus
    Mauvaise pioche. ASUS ne fournit aucun moyen de déverrouiller le bootloader de ses téléphones.

    OnePlus
    Bravo à OnePlus. Le déverrouillage est disponible sur tous leurs téléphones.
    Sur certains modèles (si vous êtes chez un FAI américain par exemple), il vous faudra votre numéro IMEI pour récupérer un code de déverrouillage depuis le site de OnePlus : exemple

    Sony
    D'après Sony, le bootloader n'est pas déverrouillable sur certains modèles. En Europe, il me semble que tout est ok (à confirmer).
    Pour le savoir, appelez le *#*#7378423#*#*. Pas d’inquiétude, il ne s'agit pas d'un numéro mais d'un code pour accéder à une section cachée du téléphone.
    Allez ensuite dans Service info > Configuration > Status Root. Si vous avez un Yes, vous pouvez continuez.
    Munissez vous de votre numéro IMEI puis rendez vous sur le site de sony pour obtenir votre code de déverrouillage.

    Google
    Cela peut paraître paradoxale mais il est très très simple de se dégoogliser avec un téléphone Google. Il n'y a pas de barrières supplémentaires pour déverrouiller leur bootloader.
     
    6) Étape finale pour le déverrouillage du bootloader
    Cette étape n'est pas nécessaire pour les utilisateurs d'un téléphone Xiaomi (l'outil Mi Unlock a déjà déverrouillé le bootloader) ou d'un téléphone Samsung (le déverrouillage OEM suffit).
    Une fois en mode fastboot, vérifiez que l'ordinateur reconnaît toujours le téléphone avec la commande :
    fastboot devices
    Si tout va bien, vous pouvez passer (enfin !) au déverrouillage du bootloader en exécutant, en fonction de votre cas, l'une de ces 3 commandes :
    * Si vous avez un téléphone Sony :
    fastboot oem unlock 0x<code_donné_par_sony> Exemple : fastboot oem unlock 0x5689f5
    * Si vous avez un téléphone Google : 
    fastboot flashing unlock Vous aurez un écran de confirmation. Appuyez sur le boutton Volume Haut pour sélectionner Oui et appuyez ensuite sur le bouton Power pour valider.
     
    * Si vous avez un téléphone OnePlus (sans code) :
    fastboot oem unlock
    * Pour les autres, essayez les deux dernières commandes.

    Si aucune erreur n’apparaît. Vous pouvez être content, vous avez réussi !

    Dans le triste cas où vous ne pouvez pas déverrouiller votre bootloader (attention à ne pas confondre avec une simple erreur de manipulation. Demandez moi en commentaire si vous n'êtes pas sûr), sautez la suite de ce tutoriel et rendez vous à la partie 3 de mon guide Libérez votre Smartphone.
    Laissez votre téléphone en mode fastboot pour la suite.
    Installation de la la custom recovery TWRP.
     Voici la SEULE étape qui demande d'être extrêmement vigilant, une mauvaise manipulation pouvant entraîner un blockage définitif du téléphone (brique). Ne paniquez pas, si vous suivez correctement mes instructions, il ne devrait rien vous arriver.
     Mon téléphone, une brique ?
    Si vous traînez sur les fora, vous avez déjà du voir ce terme : briqué/brické. L'image est assez parlante. On parle de téléphone briqué lorsqu'on ne peut plus rien faire avec. Il n'en devient alors pas plus plus utile... qu'une brique !
    Une fois TWRP d'installé, il est quasiment impossible de briquer son téléphone (si vous le faîtes vous êtes vraiment très fort !).
    Trouvez votre téléphone dans cette liste (et ne vous trompez pas).
    Trouver le modèle de son téléphone
    Le modèle de votre téléphone se trouve sur l'étiquette de sa boite (si vous l'avez gardée). Vous pouvez aussi le trouver dans la section À propos du téléphone des Paramètres.

    Téléchargez ensuite la dernière version de l'archive .tar de l'image TWRP (.img.tar) si vous avez un smartphone Samsung.
    L'image .img suffit pour les autres.
    À part pour Samsung, la méthode pour flasher TWRP est la même pour tous.
    Samsung
    Les téléphones Samsung n'ont pas de mode fastboot. Pour flasher une custom TWRP, il faut utiliser un logiciel spécial. Il y a 2 possibilités : Odin (développé par Samsung) ou Heimdall (développé par la communauté open-source).
    Je vais détailler l'utilisation uniquement de Odin car je m'en suis déjà servi à plusieurs reprises. Heimdall est apparemment moins dangereux à utiliser mais j'ai lu plus de problèmes impliquant Heimdall que d'Odin...
    Téléchargez et lancez la dernière version d'Odin Mettez votre téléphone en mode fastboot puis appuyez sur Volume Haut pour continuer en mode fastboot download. Odin doit alors détecter votre téléphone (ID:COM bleu 0:[COMX]) Cliquez sur AP et sélectionnez l'archive .tar de TWRP Allez dans Options et décochez Auto-reboot
    Appuyez sur Start pour flasher TWRP. Ne touchez à rien. Lorsque l'étiquette verte PASS apparaît, vous êtes bons !  Pourquoi dois-je décocher l'auto-reboot ?
    L'auto reboot fait redémarrer normalement le téléphone. C'est à dire qu'il ne démarrera pas en mode recovery. Ce qui est un problème car le téléphone va reflasher la stock recovery automatiquement. Il faut impérativement rebooter en mode recovery une fois TWRP flashée afin que TWRP bloque le reflashage automatique de la stock recovery.

    En vérité vous pouvez très bien laisser cette option cochée mais il faut vite faire la combinaison de touches pour rentrer en mode recovery. Je trouve plus tranquille de redémarrer soi-même.
    Redémarrez le téléphone en restant appuyé sur Power + Volume bas. Dès que l'écran vire au noir, appuyez sur Power + Home + Volume haut jusqu'à ce que vous voyez le logo de TWRP.
    Victoire ! Vous avez installé avec succès TWRP.
    Pour les autres smartphones
    La méthode est rapide et efficace. Mettez votre image de TWRP dans le dossier plateform-tools et, toujours depuis votre terminal, exécutez la commande :
    fastboot flash recovery image_twrp.img
    La magie d'ADB est grande mais vérifiez tout de même que le terminal ne renvoie pas d'erreur.
    Ensuite redémarrez en mode recovery. Pour redémarrer un téléphone en mode fastoot il faut rester appuyé sur Power + Volume bas.
    Comment entrer en recovery mode ?
    Sur la majorité des téléphones, il faut redémarrer le téléphone puis rester appuyé sur les boutons Volume haut et Power jusqu'à voir le logo de TWRP.

    Sur les téléphones Samsung, il faut en plus rester appuyé sur la touche Home.


    Une petite astuce : Il est possible de redémarrer directement en mode recovery depuis le mode fastboot en exécutant la commande : fastboot reboot recovery
    Cette commande n'étant malheureusement pas standard, elle n'est pas reconnue par tous les téléphones.
    ====> Libérez votre smartphone — Partie 3 <====
  4. Mreve
     Cette première partie sert de base théorique avant le passage en pratique en Partie 2.
    Les chouettes personnages illustrés ont été dessinés par Simon "Gee" Giraudo. Le texte dans les bulles est de moi (sauf dans le premier dessin). Les illustrations sont sous licence Creative Commons By Sa.

    Si vous avez l'habitude de fréquenter le forum, vous connaissez sans doute ma position très tranchée vis à vis de la collecte des données personnelles. Je suis en effet convaincu qu'il ne peut y avoir de démocratie et de liberté sans un réel respect de la vie privée. Il s'agit d'ailleurs plus d'une réalité que d'une conviction mais ce tutoriel n'est pas là pour vous convaincre de l'importance de la vie privée. Si vous êtes ici, c'est que vous êtes déjà sensibilisé et que vous voulez agir.

    Objectif de ce tutoriel :
    * Limiter au maximum la quantité de données que vous donnez aux géants du numérique (GAFAM et BATX pour ne citer qu'eux)
    * Remplacer un maximum d'applications propriétaires par des applications FOSS (libres et open-source)
    * Être capable d'installer un système d'exploitation alternatif sur son smartphone
    * Comprendre le jargon technique couramment utilisé et une introduction à l'architecture d'Android
    * Améliorer l'autonomie du téléphone en ne gardant que le nécessaire
    Surcouche et rootage
    Vous l'avez sûrement déjà constaté, lorsque vous achetez un téléphone, le constructeur vous empêche de faire certaines choses. Il vous est par exemple impossible de modifier ou supprimer des applications systèmes. C'est d'autant plus irritant que la plupart des fabricants préinstallent, en échange d'une jolie somme d'argent, des applications directement dans leurs produits.

    Difficile de d'obtenir les montants en jeu mais on sait par exemple que Google paie plusieurs milliards de dollars par an pour imposer ses applications sur les smartphones Android.
    Source
    Cette surcouche constructeur ajoute en plus un tas de fonctionnalités dont vous n'aurez sûrement jamais besoin mais qui elles ne manqueront pas d'avoir besoin de votre batterie !
    Si vous avez acheté votre smartphone avec un forfait ou bien directement dans la boutique d'un truand opérateur, vous pouvez être sûr qu'il vous a aussi laissé des surprises (applications, jeux, services...) découlant de partenariats douteux avec des entreprises tierces.
    La surcouche Google est la plus difficile à supprimer. Android a beau être un projet open-source (AOSP pour être exact), la version d'Android que vous avez sur votre téléphone contient énormément de composant de Google qui ne sont pas open-source eux. Bien qu'Android reste le noyau de votre système, les Services Google Play n'en sont pas moins devenus une brique bien trop importante...
    Bien qu'ils embarquent une multitude de fonctionnalités très pratiques pour les développeurs d'applications mobiles, les Services Google Play sont aussi un drain constant pour la batterie de votre téléphone. Notamment à cause de ses sous-services, comme la géolocalisation (Eh oui ! Comment pensez-vous que Google Maps puisse connaître en temps réel le trafic de la planète entière ?), soient très gourmands et non arrêtable facilement. Essayez de tuer les Services Google Play sur votre appareil pour voir ! Bref, ces restrictions d'utilisation en plus d'empêcher la suppression des surcouches, empêchent d'installer un autre système d'exploitation (OS).

    Quand je dis autre système d'exploitation, comprenez une distribution alternative d'Android. Vous ne pouvez pas installer Windows, MacOS ou GNU/Linux.
    Lever ces restrictions consiste à rooter son téléphone. En devenant root (aka administrateur sous Windows) l'utilisateur a tous les droits sur le système. Devenir root est nécessaire mais le rester constamment est dangereux car un contenu malveillant aura lui aussi les pleins pouvoirs. C'est entre autre pour cette raison qu'il est indispensable d'installer une gestionnaire de root.
    La référence en la matière est Magisk. Il est open-source (le code est disponible ici) et activement maintenu. Magisk Manager dispose de plein de fonctionnalités extrêmement utiles qui permettent de sécuriser votre téléphone rooté et d'étendre ses capacités (en installant des modules).
    Un téléphone rooté fait sauter la garantie de votre appareil ! Heureusement, le rootage est réversible.

    Certains applications (bancaires bien souvent) refusent de se lancer si le téléphone est rooté. Heureusement pour nous, Magisk est capable de cacher à n'importe quelle application que le téléphone est rooté !

    Le bootloader   Par sécurité mais aussi pour imposer leur système Android (on parle de stock ROM pour le système d'exploitation préinstallé par le fabricant), les constructeurs verrouillent le bootloader des téléphones. Pour faire simple il s'agit de la première chose qui se lance au démarrage d'un téléphone. C'est lui qui explique au téléphone où trouver le noyau du système (aka le kernel Linux, une partie fondamentale de l'OS). Étant le premier bout de code à être exécuté il est particulièrement lié au hardware (matériel électronique). C'est pour cette raison que chaque constructeur implémente différemment son bootloader. Il n'y a donc malheureusement pas de méthode universelle pour le déverrouiller.
    Vous l'aurez compris, le rôle du bootloader est vital et c'est pour cette raison qu'il est autant protégé par les constructeurs. Le déverrouillage du bootloader est une étape nécessaire d'une part pour installer une custom ROM (version d'Android modifiée) et rooter son téléphone. Un bootloader déverrouillé permet également d'utiliser une custom recovery. La recovery
    Une recovery est une partition bootable contenue dans la mémoire interne du téléphone. La recovery fournie par les constructeurs (stock recovery) sert principalement à faire une restauration système. En cas de problème au démarrage du téléphone, le bootloader charge le contenu de la recovery. Vous avez dit bootable ?
    Une partition bootable est étiqueté par un flag boot indiquant au bootloader qu'elle peut être exécuté. La partition recovery est par exemple chargée par le bootloader en cas de problème de boot.
    Les partitions dans un téléphone Android
    Elles sont généralement au nombre de 10. Je ne vais détailler que les plus importantes (nous concernant) :

    /boot
    C'est la partition qui contient tout le nécessaire pour faire démarrer Android. Elle contient uniquement le noyau (kernel) et un ramdisk (plus particulièrement le initrd)

    /system
    Cette partition contient le système d'exploitation Android.

    /data
    Aussi appelée userdata, elle contient les données utilisateur. C'est dans cette partition que se trouvent vos contacts, photos messages, applications que vous avez installés etc...
    Formater cette partition revient à peu de chose près à une restauration d'usine (factory reset).

    /recovery
    On en parlait justement. Cette partition peut donc être considérée comme la partition bootable de secours du téléphone. Les stock recovery permettent de faire des actions de maintenance basiques. Installer une custom recovery remplace le contenu de cette partition.

    /cache
    C'est ici qu'Android et les applications conservent (temporairement) les données fréquemment utilisées afin d'être plus faciles et rapide d'accès. On dit que ces données sont en cache. Vider cette partition n'est pas dangereux et n'affecte pas les données personnelles.

    /sdcard
    C'est un espace de stockage libre que vous pouvez utiliser pour stocker vos fichiers (en complément d'userdata). Les applications viennent très souvent stocker par défaut des données et des paramètres dans /sdcard.

    Sur les appareils ayant une carte SD interne et externe, la partition /sdcard est toujours utilisée comme référence à la mémoire interne. Par exemple sur les Samsung Galaxy S, la carte SD est représenté par /external_sd.

    /misc
    Comme son nom l'indique, elle contient des paramètres divers lié au matériel. Elle est utilisé durant le boot. Cette partition est crucial au bon fonctionnement de l'appareil.

    ----------------
    Pour aller plus loin :
    https://source.android.com/devices/bootloader/partitions-images
    http://newandroidbook.com/Book/2-Excerpt-Data.pdf
    Pour y a-t-il un / au début de chaque partition ?
    Les utilisateurs de Linux auront reconnu le système de fichier racine (root). En effet, ce / correspond à la racine des répertoires. Toutes les entrées, y compris les partitions montées, sont placées de façon hiérarchique, comme les branches d'un arbre, par rapport à la partition racine. La notation /XXX permet d'indiquer que XXX est directement accessible depuis la racine

    Remplacer la stock recovery par une recovery modifiée étend drastiquement les capacités du mode recovery de base.
    La référence en la matière s'appelle TWRP et est bien évidemment open-source. Elle donne notamment la possibilité de : Créer/restaurer une sauvegarde complète du téléphone (Image système / Nandroid Backup) Gérer les partitions Flasher ("installer") des ROM, applications, kernels… Avec TWRP d'installée, je vous assure que vous n'avez quasiment plus aucun risque de bricker votre téléphone (mais vous n’êtes pas à l’abri de grosses frayeurs en cas de mauvaise manip de votre part ! )

    Je vous rassure, c'est fini. C'était le dernier prérequis avant de pouvoir commencer à s'amuser (oui c'est amusant ! ). Toutes les manipulations pour arriver à ce stade seront détaillées dans la Partie 2 du tutoriel.
     
    ===>Libérez votre smartphone — Partie 2 <===
×
×
  • Créer...