Table des matières

Transférer des données vers son nouvel androphone

Cas d'utilisation

Objectif

Je souhaite transférer certaines données depuis un Honor 5X sous LOS-161) vers un Xioami Poco F3 sous LOS-19, sans utiliser les services de Google.

Configuration

Les deux androphones sont rootés et équipés de Titanium-Backup.

Préparatifs

Mettre à jour les applications dont on souhaite transférer les données Faire une sauvegarde intégrale des application et données de l'ancien androphone à l'aide de Titanium-Backup.

Installation de Calendar Import-Export

Pour le transfert des données du calendrier, j'utilise l'application Calendar Import-Export, disponible sur le magasin d'application F-Droid. L'application doit être installée sur les deux androphones.

Si l'application F-Droid2) n'est pas déjà installée, on peut profiter de l'occasion pour l'installer, comme décrit dans la fiche d'installation de F-Droid.

S'agissant d'une installation de circonstances 3), on peut choisir de récupérer le fichier APK disponible sur le site web de F-Droid puis de l'installer comme on le ferait avec tout fichier APK, après avoir vérifié sa signature.

Mettre à jour les applications

  1. Mettre à jour les applications dont on souhaite transférer les données.
  2. Faire une sauvegarde intégrale des application et données de l'ancien androphone à l'aide de Titanium-Backup.

Transfert

Je souhaite transférer les données locales4) de deux applications système : Contacts et Agenda. Le cas de l'application Mail ne se pose pas car elle a disparu des ROM LOS récentes5). Je leur applique une procédure particulière. Pour les application standard, j'utilise

Contacts

Contact est doté d'une fonctionnalité d'import-export vers un fichier. Le transfert est donc trivial.

  1. Sur l'ancien modèle
    1. ouvrir l'application Contacts
    2. sélectionner le compte que l'on veut transférer
    3. Paramètres > Export > Exporter vers un fichier VCF
    4. copier le fichier obtenu, par exemple, en reliant l'androphone à l'ordi, en mode partage de fichiers
  2. Sur le nouveau modèle
    1. récupérer le fichiers exporté, par exemple en le reliant à l'ordi, en mode partage de fichier
    2. ouvrir l'application Contacts
    3. sélectionner le compte où l'on souhaite importer les données
    4. Paramètres > Importer > Fichier .vcf
    5. choisir le fichier que l'on a récupéré

Agenda

En l'absence de fonctionnalité import-export, on a recours à l'application Calendar Import-Export.

  1. Sur l'ancien modèle
    1. ouvrir l'application Importation/exportation d'agendas
      1. sélectionner le compte local (menu déroulant)
      2. choisir exporter et désigner le fichier qui contiendra l'export
    2. transférer le fichier d'export (comme on l'a fait pour Contacts)
  2. Sur le nouveau modèle
    1. récupérer le fichier précédemment exporté (comme on l'a fait pour les Contact)
    2. ouvrir l'application Agenda
      1. si nécessaire créer un calendrier local : Paramètre > Ajouter un calendrier hors ligne
    3. ouvrir l'application Importation/exportation d'agendas
      1. sélectionner le compte local (menu déroulant)
      2. choisir “Importer un fichier” (l'appli recherche dans la mémoire les fichiers potentiellement importables et met à jour le menu déroulant)
      3. sélectionner le fichier précédemment récupéré (dans menu déroulant)
      4. choisir charger (l'appli analyse le contenu du fichier,fait un compte rendu et propose d'insérer les entrées trouvées)
      5. choisir “insérer les entrées
Dans mon cas, le calendrier a été parfaitement importé6) MAIS les événements n'étaient pas modifiables :-( Mes tentatives de modification des paramètres d'export ou d'import ont été infructueuses. J'ai utilisé une méthode assez sale mais qui a fonctionné.

Autres applications

Pour les autres applications, j'utilise TitaniumBackup.

Transfert de la sauvergarde TitaniumBackup

On commence donc par récupérer, sur le nouvel androphone, l'arborescence de sauvegarde faite sur l'ancien androphone. Elle se trouve à la racine de l'espace de stockage : /TitaniumBackup.

Dans le cas d'utilisation traité, sur le nouvel androphone, les applications concernées sont vides de données. Sinon, effectuer une sauvegarde préalable7).

Comme pour les données des applications système, je choisis de passer par l'intermédiaire d'un ordi :

  1. relier l'ancien androphone à l'ordi, en mode partage de données
  2. copier l'intégralité du répertoire /TitaniumBackup sur l'ordi
  3. relier le nouvel androphone à l'ordi, en mode partage de données
  4. copier l'intégralité du répertoire /TitaniumBackup sur le nouvel androphone

Restauration de données

La restauration des données d'applications non-système ne présente pas de particularité par rapport à un usage classique de TitaniumBackup. Les sauvegardes disponibles sont affichées. On ne restaure que les données.

Pour certaines application, il existe plusieurs ressources. Être attentive à laquelle on restaure. Ne pas craindre les essais-erreurs. En cas d'échec, ne pas oublier d'effacer les données de l'application.

Exemples de données restaurées avec succès : Color Note, Feedly, Compte Ameli, Sncf Connect, Firefox…

SMS/MMS ?

J'ai profité du changement de smartphone pour faire une R.A.Z. :-D J'avais cependant repéré une application open source, Backup+ (non testée) qui aurait pu faire l'affaire.

Patch du fichier d'agenda exporté

Le problème

Comme indiqué plus haut, l'import du fichier d'agenda dans le nouvel androphone était complet mais les événements n'étaient pas modifiables. En revanches, les événements ajoutés manuellement8) étaient modifiables. Les spécialistes d'iCal trouveront sans doute une solution simple. J'ai tâtonné et fini par résoudre très salement le problème. Je l'indique ci-après au cas où cela pourrait donner des idées.

Première tentative

J'appelle old-calendar.ics le fichier d'export obtenu sur l'ancien androphone. J'en fait une copie sur mon ordi que je nomme old-calendar_KDE.ics. J'ouvre cette copie dans KDE-Korganizer, en tant que nouvel agenda9) Je transfère le fichier au nouvel androphone ce qui me permet de l'importer dans un nouvel agenda, comme précédemment décrit dans la procédure.

La restauration est complète, les événement sont modifiables MAIS la durée de nombreux événements se trouve raccourcie d'une heure, alors qu'il s'affichaient correctement dans Korganizer.

Analyse

D'un côté, je dispose d'un fichier (old-calendar.ics) que l'application d'import-export restaure complètement, avec les bonnes durées mais dont les événements ne sont pas modifiables. De l'autre un fichier (old-calendar_KDE.ics) qui se restaure complètement, avec des événements modifiables mais écourtés. Une analyse du contenu des fichiers laisse apparaître une différence de notation des fins des durées d'événements, par exemple :

old-calendar.ics

DTSTART;TZID=Europe/Paris:20230402T140000
DTEND:20230402T150000Z

old-calendar_KDE.ics

DTSTART;TZID=Europe/Paris:20230402T140000
DTEND;TZID=UTC:20230402T150000

Solution

La première notation de la date de fin est correctement interprétée après l'import. La seconde ne l'est pas. J'ai donc modifié la notation utilisée dans le second fichier pour l'aligner sur celle du premier, en utilisant les expressions rationnelles10).

cat old-calendar_KDE.ics | sed -r 's/DTEND;TZID=UTC:(.{15})/DTEND:\1Z/' > old-calendar_KDE_mod.ics

Le fichier old-calendar_KDE_mod.ics ainsi obtenu est importé dans le nouvel androphone, en suivant la procédure précédemment décrite.

Les événement sont entièrement restaurés et modifiables.

1)
LOS=LineageOS
2)
App donnant accès au magasin d'applications éponyme, tout comme l'app Play Store pour le magasin Google.
3)
On n'a pas de raison de conserver l'application sur ses androphones.
4)
Appareil.
5)
Mon choix s'est porté sur K9, très proche en termes d'interface utilisatrice et libre.
6)
Tous les champs présents, les répétitions, les rappels.
7)
La version gratuite de TitanimBackup ne conservant qu'une seule sauvegarde, on aura pris soin de sauvegarder la sauvegarde (un simple renommage suffit) avant de transférer l'arborescence récupérée sur l'ancien androphone
8)
Via l'application Agenda.
9)
old-calendar_KDE.ics devient une ressource locale gérée par Korganizer). La restauration est complète, les événements sont modifiables. Au passage, Korganizer effectue des modifications dans le fichier pour l'adapter ses propres conventions de notation. Je détache le fichier de Korganizer((Commande “Supprimer le calendrier”.
10)
Un éditeur de texte disposant des expressions rationnelles dans sa fonction de recherche/remplacement fera le job.