====== Sauvegarder le Poco F3 ====== ===== Cas d'utilisation ===== Cette fiche est focalisée sur la **sauvegarde préalable à l'installation manuelle d'une mise à jour majeure** de LineageOS. Elle évoque également d'autres cas d'utilisation tels que : * la sauvegarde périodique et automatisée des applis, de leurs données et réglages * la sauvegarde de l'espace de stockage personnel (documents, photos, vidéos, musiques…) ===== TWRP first ===== Si //TWRP// est pleinement opérationnel sur votre F3((Cela dépend de la version de système et de paramètres de configuration tels que le chiffrement des données.)), les fonctionnalités de sauvegarde de ce recovery sont une option à considérer en premier. En effet, une sauvegarde intégrale((Système, applications, données et réglages des applications, données de configuration personnelles. Les fichiers et répertoires que l'on a créés manuellement ne sont pas pris en compte.)) permettra de rétablir à l'identique l'état de l'androphone après des opérations destructives telles que l'installation d'un autre système (ROM), l'effacement des données((Attention ! Des significations diverses sont attachées au terme //données//. Ici, "données" désigne l'espace //data// tel qu'opposé à //storage//, dans la terminologie usuelle Android. Le premier désigne les données sur lesquelles l'utilisatrice n'est pas censée intervenir directement. Le second désigne les fichiers et répertoires qu'elle gère librement comme elle le ferait sur un ordi. Discuter la distinction ainsi opérée sort du cadre de cette fiche ;-) )), le retour aux réglages d'usine (RAZ)… ===== Sauvegarde intégrale ===== ==== Principe ==== Cette technique est particulièrement adaptée au cas d'utilisation envisagé. En effet, elle effectue une sauvegarde complète, d'un seul coup, sans avoir à se demander ce qu'il faut sauvegarder. La même simplicité se retrouve lors de la restauration puisqu'on n'a pas se demander ce qui doit être restauré au pas. Techniquement parlant, cette technique s'appuie sur la notion d'//image disque//. Elle consiste à copier, bit par bit, le contenu d'une partition du dispositif de stockage du F3. Elle s'effectue à l'aide d'un ordi auquel le F3 est connecté. ==== Précautions ==== Ce type de sauvegarde va créer, sur l'ordi, un fichier unique qui aura approximativement la taille de l'espace de stockage de votre F3 (potentiellement 256 Go). Il faut s'assurer que le disque/partition de destination a une capacité suffisante et que son système de gestion de fichiers accepte des fichiers de 256 Go (FAT32 ne le permet pas !). Il faut également s'assurer que l'on sauvegarde la bonne partition de l'espace de stockage du F3. Dans le cas d'utilisation présenté, cette partition était nommée "/dev/block/sda". On peut s'en assurer de [[phone:backup-poco-f3#identification_precise_de_la_partition_a_sauvegarder|manière directe, attentive mais précise]]. On peut également le faire de manière simple mais indirecte : le nom de partition est reconnu et la taille du fichier de sauvegarde avoisine la taille du stockage interne du F3. Le volume de données transféré étant important, on prendra soin d'établir une connexion performante((Idéalement, une connexion USB-C de bout en bout : port USB-C du F3, port USB-C de l'ordi, câble certifié USB-C.)) entre l'ordi et le F3. ==== Sauvegarde ==== Le F3 étant connecté à l'ordi et le mode adb étant fonctionnel, la forme générale de la commande de sauvegarde est tout simplement : adb pull par exemple adb pull /dev/block/sda sda.img La commande affiche la progression sous forme du nombre d'octets transférés. Ça peut être long… ==== Restauration ==== Il est extrêmement important d'avoir pris note du nom de la partition utilisée lors de la sauvegarde. En effet, la restauration va écraser le contenu de la partition que l'on désignera comme destination. Pour effectuer la restauration, le F3 doit être redémarré en mode //recovery//. Le F3 étant connecté à l'ordi et le mode adb étant fonctionnel : * sur l'ordi * adb reboot recovery * sur le F3 * Advanced > Enable ADB * sur l'ordi * adb push * soit, dans l'exemple précédent : adb push sda.img /dev/block/sda Une fois le transfert terminé, il ne reste plus qu'à redémarrer le F3. Tout changement effectué sur le F3 depuis le moment de la sauvegarde sera effacé : nouveau système, applis, réglages, données, etc. ==== Identification précise de la partition à sauvegarder ==== L'identification précise de la partition demande une lecture attentive mais n'est pas particulièrement complexe. La procédure est décrite dans un fichier {{ :phone:f3_full-backup-restore.txt |indépendant de cette fiche}}. ==== Limite ==== Idéalement, la sauvegarde devrait être effectuée depuis le //recovery//. En effet, la technique employée sauvegarde l'état courant d'un F3 en cours d'utilisation ordinaire. Pour dépasser cette limite, il faut démarrer le système en mode //recovery// puis monter manuellement la partition identifiée selon la méthode fine. Cette opération sort du cadre de cette fiche. ===== TWRP partiel ===== Si l'on a choisit de chiffrer nos données (partition ///data//), //TWRP// ne peut pas les sauvegarder((Juillet 2023.)). En revanche, ce //recovery// permettra de sauvegarder et restaurer fidèlement tout le reste, notamment le système et les applications. En effet, cette sauvegarde comprend la "super-partition" utilisée par le nouveaux androphones utilisant les [[https://source.android.com/docs/core/ota/dynamic_partitions/implement?hl=fr|partitions dynamiques]]. Le mode partiel de //TWRP// offre donc une solution envisageable, sachant qu'il faudra compléter la sauvegarde par d'autres opérations/outils afin d'y inclure les données. La solution présentée ici ne requiert pas que TWRP soit installé (flashé) dur le F3. ==== Préparation ==== Depuis un ordi, télécharger la dernière version de TWRP pour le F3, depuis le [[https://dl.twrp.me/alioth/|site officiel de TWRP]]. On ne télécharge pas l'installateur mais le fichier ".img", par exemple "twrp-3.7.0_12-0-alioth.img". On télécharge également le fichier ".sha256" correspondant qui permet de vérifier l'__intégrité__ du fichier téléchargé, par exemple "twrp-3.7.0_12-0-alioth.img.sha256". Ne pas négliger de télécharger le fichier ".asc" correspondant qui contient la signature PGP permettant de garantir la __validé__ du fichier ".img" récupéré, par exemple "twrp-3.7.0_12-0-alioth.img.asc". La marche à suivre est détaillée dans la [[phone:install-twrp-poco-f3#preparation|fiche consacrée à TWRP]]. Un exemple de vérification de signature PGP est donné dans la [[phone:f-droid-verification#installer_la_cle_publique|fiche consacrée à F-Droid]]. ==== Chargement et utilisation ==== Mémo : * relier le F3 à l'ordi * adb devices * adb reboot bootloader / attendre l'affichage de "FASTBOOT" sur l'écran du F3 * fastboot devices * fasboot boot twrp-3.7.0_12-0-alioth.img / attendre l'affichage de l'écran d'accueil de TWRP sur le F3 * déconnecter le F3 e l'ordi * dans le port USB-C du F3, insérer un support de stockage externe reconnu par le F3 (clé USB, disque…) * Backup > Select Storage > USB Storage / il __faut__ sélectionner //USB Storage// pour que la capacité s'affiche * sélectionner toutes les partitions autres que //Data// * lancer la sauvegarde (Swipe to Backup) / attendre la fin * Backup > Reboot > Power off * déconnecter du F3 le support de stockage * démarrer le F3 pour une utilisation ordinaire ===== Sauvegarde des données ===== Dans Android, le terme données est utilisé pour désigner deux espaces de stockage : * les données système et applicatives conservées dans le stockage dit "interne" ou "téléphone" de l'androphone (**//data//**) * les fichier et répertoires figurant dans un espace de stockage dit "externe" ou "sd" ou "shared storage" de l'androphone (**//storage//**) Les appellations varient selon les modèles, les fabricants, les versions et les rédactrices. Elles sont plus ou moins heureuses et pertinentes… D'où l'intérêt des termes barbares "data" et "storage" qui renvoient à une organisation logique décorrélée de toute caractéristique physique. Une manière d'expliciter la //logique// qui sous-tend cette distinction est de considérer que ce qui se trouve dans //data// est effacé lorsqu'on rétablit la configuration d'usine d'un androphone alors que ce qui se trouve dans //storage// n'est nullement affecté. Suivant cette même logique, l'effacement complet de ce qui se trouve dans //storage// ne doit rien changer au système et applications disponibles sur l'androphone, ainsi qu'à leur fonctionnement. Cette logique technique sous-tend, avec plus ou moins de bonheur, une logique d'usage. L'espace de données //data// serait géré par le système et les applications. L'utilisatrice n'est censée y accéder qu'à travers les interfaces proposées par les applications ou le système. Elle peut utiliser ce qui s'y trouve mais ignore complètement comment cet espace est organisé((Dans quel fichier et que sous-dossier se trouve telle information ? Quel fichier est vital pour le bon fonctionnement d'une appli ? Quel fichier n'est qu'un cache qui serait automatiquement reconstruit en cas d'effacement ?)). L'espace de données //storage// serait géré par l'utilisatrice. Elle saurait donc ce qui s'y trouve et pourrait en modifier le contenu et l'organisation comme elle gère les répertoires sur un ordi((Bien sûr, cela suppose qu'elle sait et reste maîtresse de ce qu'elle fait.)). En termes de sauvegarde, les implications de cette distinction, sont extrêmement fortes. La sauvegarde du contenu de //storage// n'est guère plus complexe que la sauvegarde d'un répertoire, sur un ordi. Certaines utiliseront tout simplement la fonctionnalité de partage de fichiers, avec un ordi ou un autre androphone pour faire une copie des données qu'elles souhaitent sauvegarder. D'autres préféreront brancher une clé-USB au port USB du F3 et utiliser l'explorateur de fichier pour copier les données voulues du F3 vers la clé. Des applications spécialisées peuvent également proposer d'autres destinations. L'important reste que l'utilisatrice sait où se trouve et quelles sont les données qu'elle souhaite sauvegarder. La sauvegarde du contenu de //data// est beaucoup plus problématique. Contenant des données organisées de manière inconnue et manipulées en continu par le système et des applications, une sauvegarde totalement rigoureuse ne peut se faire qu'en dehors du système. C'est pourquoi les sauvegardes de //data// sont proposées depuis les //recovery//. Des outils spécialisés proposent néanmoins d'effectuer des sauvegardes de //data// depuis Android lui-même. ===== Titanium Backup ===== Cette application fonctionne sur une système rooté. Elle permet de sauvegarder et restaurer les applications, réglages et données applicatives. Dans le cas d'une sauvegarde préventive en vue de restaurer à l'identique un système, elle fonctionne de manière très satisfaisante. En cas de mise à jour majeure ou de changement de système, je conseille d'utiliser les fonctionnalités de restauration au cas par cas. Si la configuration de l'application ne semble pas être correctement restaurée, un effacement complet des données de l'appli installée suivi d'une nouvelle restauration des données peut rétablir le fonctionnement attendu. ===== SeedVault ===== //SeedVault// est l'outil de sauvegarde intégré dans LineageOS((Vérifié sur 19.1. et 20.)). Les **fonctionnailtés** de sauvegarde **directement disponibles** sont **très limitées. ** ==== Accès ==== Paramètres > Système > Sauvegarde Si //SeedVault// n'est pas indiqué comme fournisseur de sauvegarde, sélectionner "Modifier le fournisseur de sauvegarde" et choisir //SeedVault//. ==== Emplacement des données ==== Les données sauvegardées sont placées dans le répertoire ".SeedVaultAndroidBackup" situé à la racine du support de stockage.