Comments on Où je m'énerve une fois de plus sur la difficulté de migrer d'un Android à un autre (et j'explique quelques choses)

Cigaes (2019-09-13T12:05:00Z)

J'ai l'impression que certains passages appellent presque explicitement mon avis ;-)

Je suis aussi embêté par la pénibilité à mettre à jour un téléphone, conserver et synchroniser les données, mais je n'ai pas la même approche que toi.

Je trouve que la différence d'approche entre nous se relie assez bien à la différence d'approche sur d'autres sujets, en particulier le choix d'un ordinateur. Si je me souviens bien et que tu n'as pas changé d'avis, pour choisir un ordinateur, tu tiens à ce que tous les éléments mis en avant par la fiche commerciale soient utilisables sous Linux. Au contraire, je considère qu'un élément inutilisable n'est pas pire que s'il n'était simplement pas là, sachant que s'il a un impact sur le prix, l'autonomie ou autre, ça se verra là.

Le pendant de cette attitude pour les données du téléphone, c'est que je suis attaché aux données mais pas à leur incarnation dans le téléphone. Le téléphone est un objet de seconde zone dans ma hiérarchie.

Pour mes contacts, par exemple : ma base de données de contacts est sur mes ordinateurs, dans un format qui me convient, c'est celle-là qui fait autorité, c'est celle-là qui est précieuse. Sur mon téléphone, je m'efforce d'en mettre une approximation aussi pratique que possible, dans les limites de ce que permettent les logiciels inférieurs qui s'y trouvent, et en optimisant pour l'usage pratique que j'en aurai. Par exemple, j'ai finalement constaté que les groupes de contacts ne fonctionnent essentiellement pas (en particulier pas de possibilité de navigation hiérarchique), donc j'ai simplement décidé de ne pas m'en servir sur le téléphone.

En pratique, j'utilise un fichier vCard uploadé par script et importé dans les contacts. Quand je note un contact sur le téléphone lui-même, j'essaie de m'astreindre à le reporter sur la base de données centrale rapidement. En fait, en pratique, le plus souvent je ne crée pas un contact sur le téléphone : je m'envoie le numéro et le nom par Jabber de mon compte mobile à mon compte fixe, et j'ai une notification qui m'attend quand je me retrouve devant mon ordinateur pour m'en occuper au calme.

J'ai la même approche avec les SMS : depuis que j'ai tendance à les considérer comme des données précieuses plutôt que des extensions de la communication orale inarchivable, je m'efforce de les archiver, mais je ne tiens pas à ce qu'ils soient ad vitam æternam consultables dans l'application SMS de mon téléphone, qui elle aussi est médiocre. En fait, si j'étais moins paresseux, je virerais régulièrement les vieux SMS, parce que je ne vois pas vraiment l'intérêt que quelqu'un qui vole mon téléphone ou exploite un trou de sécurité ait accès à tant d'informations intimes.

Au sujet des lignes « deleted », l'explication donnée me semble raisonnable. Mais je suis toujours atterré de voir à quel point même des entités supposément très compétentes, comme les équipes de développement de Google, vont se laisser aller à utiliser un marteau pour que tout ressemble à un clou plutôt que de choisir une solution plus adaptée mais moins balisée.

Pour une base de données du volume de celle des contacts d'un téléphone et qui doit être synchronisée entre différents exemplaires, la meilleure manière de coder les données est à mon sens un journal de modifications. Un peu comme Git, où ce sont les commits qui font autorité. Si on est une fashion-victim de l'informatique, on dirait une blockchain. Chaque exemplaire est alors libre d'utiliser la structure de données la plus adaptée pour consolider le journal et consulter l'état de la base.

Nil (2019-09-13T09:18:44Z)

Concernant la lenteur des téléphones, je teste en ce moment une application (Killapps) qui permet de contrôler les applications exécutées en arrière-plan. C'est assez largement énervant de devoir installer une application pour ça (et peut-être un utilisateur avancé et rooté aurait une solution plus élégante), mais pour l'instant ça a transformé mon Fairphone 2 (Android 7.1.2) d'un truc à la limite de l'utilisable à très fluide. Apparemment Kaspersky proposerait une application similaire.

Arnaud Spiwack (2019-09-11T16:40:28Z)

Je peux apporter un complément d'information (spéculatif) sur les objets deleted qui persistent dans la database.

C'est probablement pour la synchronisation: on doit pouvoir distinguer un objet deleted dans une réplique de tes contacts d'un objet qui n'a jamais été entré, afin que quand tu le synchronise avec une autre réplique, la donnée que tu as effacée ne va pas miraculeusement réapparaître, au lieu d'être enlevée de l'autre réplique.

C'est un exemple de two-phase set comme décrit ici: https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type#2P-Set_(Two-Phase_Set)

Après, je ne sais rien des entrailles d'Android etc… mais disons que si je devais faire un machin qui doit synchroniser des delete, je m'y prendrais probablement plus ou moins comme ça (même si il faut bien avouer que ça pose plein d'autres problèmes par ailleurs).

Ruxor (2019-09-11T13:22:58Z)

Sinon, pour ceux qui s'intéressent aux aspects techniques, je viens de faire une addition à la fin de cette entrée avec quelques compléments sur la migration des SMS+MMS et des données d'autres applications (surtout pour m'en souvenir la prochaine fois).

Ruxor (2019-09-11T13:20:42Z)

@Mouton: Effectivement, j'oubliais l'existence de ce truc. J'hésite à effacer ainsi les contacts qui sont encore présents et valables sur mon téléphone (et toujours liés au compte Google même si la synchro est désactivée) de peur qu'une réactivation accidentelle de la synchronisation les efface, mais pour ceux qui ont de toute façon été supprimés et n'ont plus d'intérêt, il n'y a pas de raison.

Mouton (2019-09-11T09:18:35Z)

Pour les contacts qui restent chez gmail et qui te polluent, tu as essayé de juste les détruire sur ton compte google ?

Ça se passe sur contacts.google.com, et tu peux supprimer ~300 comptes d'un coup, ça évite qu'il t'embête avec ensuite.

JML (2019-09-09T22:28:06Z)

Merci pour la réponse ! Je croyais effectivement qu'Android était comme une distro Linux et qu'un smartphone était comme un PC. Ça va être dur de garder mon smartphone 10 ans comme le dumbphone que j'avais avant qui a cassé, quelle poisse :(

Merci aussi pour les arguments sur l'absence de backdoor.
Suggestion de billet « ce que Big Tech pourrait nous faire dans 20 ans avec les données (individuelles) que nous lui envoyons aujourd'hui » – ça m'intéresserait d'avoir un point de vue pas trop paranoïaque sur la question :)

Ilia (2019-09-09T21:44:58Z)

Je suis par ailleurs actuellement confronté à un problème similaire… Mon vieux téléphone (un BlackBerry 8520 - oui, pas qu'un peu vieux…) a son clavier qui est mort il y a quelques mois, rendant du coup inaccessible ma liste de contacts et l'archive de mes SMS. J'ai fini par réussir à faire réparer le clavier (mais je ne sais pas combien de temps il tiendra). Du coup j'ai récupéré les contacts (en recopiant à la main, chose que j'ai complétée par une copie sur la carte SIM des contacts les plus importants).

En revanche, je me demande quoi faire pour les SMS (pour le coup, clairement, je ne suis pas prêt à retaper 10 ans d'archive à la main !!) Je suis prêt à renoncer à les avoir sur mon futur nouveau téléphone, et je ne tiens même pas à les avoir sous un format propre. Tout ce que je voudrais, c'est un dump où les informations importantes (essentiellement au nombre de 3 : contenu du message, numéro de téléphone du correspondant et timestamp ; le nom du contact se retrouve à partir du numéro…) apparaissent de façon non cryptée, de sorte que ce soit greppable ; et qu'on puisse associer ces trois informations ensemble (quitte à devoir plisser les yeux un peu). Je me demande si c'est possible, ou bien si même ça, compte tenu de l'âge et du caractère propriétaire de la bête, c'est déjà trop demander…

Laurent (2019-09-09T21:31:36Z)

Un rien hors-sujet, mais pour toi qui es un peu féru de linguistique, je crois qu’il faut chercher la “vraie” origine du nom de l’Ogre de l’Internet, ci-devant Grand Dévoreur de Données Personnelles (Google, bien sûr!) du côté de l’arabe, tant l’euphonie au moins est évidente : c’est La Goule [الغول, al-ghoûl, « l’ogre », nom masculin en arabe], apparentée à nos figures mythologiques occidentales de Gorgonne, Hydre, Léviathan, Basilic, etc.
…Et d’où vient aussi le nom de l’étoile Algol (β Persei, visible en cette saison dans les ciels nocturnes pas trop pollués) ; ainsi que du langage informatique éponyme.

Ilia (2019-09-09T21:29:20Z)

Je comprends (et partage en grande partie) ton obsession à ne pas vouloir détruire d'information. En revanche, as-tu vraiment besoin que toute cette information soit sous une forme immédiatement prête à l'emploi ?

Je veux dire, ne peut-on pas envisager une approche mixte comme ceci :
- tu copies les contacts de façon grossière (en passant par la carte SIM, ou carrément à la main - je suis prêt à parier que, même à la main, ça aurait pris moins de temps que tout le temps que tu as passé à essayer de le faire proprement…) ;
- et à côté, pour assurer la pérennité de l'information, tu extrais la base de données brute et tu l'archives sur ton disque dur. De cette façon, si tu as un doute sur un point fin concernant un de tes contacts, tu peux toujours faire appel à ce fichier pour vérifier. Toute l'information y est, peut-être sous une forme qui demande, pour chaque requête, un peu d'efforts pour déchiffrer - mais, encore une fois, je doute que le temps cumulé passé à faire chacun de ces déchiffrages puisse excéder le temps que tu as passé à essayer de la convertir sous un bon format une bonne fois pour toutes…

PlopProut (2019-09-09T20:22:13Z)

Perso, pour mes contacts et mon agenda, j'ai pris le taureau par les cornes il y a déjà longtemps : j'ai un service CalDav/CardDav sur mon Synology, et j'utilise CardDav-Sync pour les contacts et DAVx² pour le reste (tâches et agenda). L'avantage est que, comme ce sont des protocoles avec plusieurs implémentations, on peut s'en sortir même avec un serveur qui supporte PHP (qui peut émuler un WebService salement, mais ça se fait).
Ça évite de ne concevoir la chose que comme une étape de migration d'un téléphone à l'autre (donc ça évite de péter les plombs quand on perd son téléphone ou qu'il faut le réinitialiser).
Pour les documents et photos, je ne fais rien ; mon téléphone ne me sert pas de stockage actif, mais de stockage temporaire (soit que ça aille après sur mon serveur de fichiers pour les photos prises, soit que ce soit des trucs à lire ou à écouter que j'ai déjà récupéré par ailleurs).
Pour les SMS, c'est plus gênant, je n'ai pas d'outil de synchro ; du coup, comme ça a déjà été cité plus haut, j'utilise SMS Backup & Restore.

fakbill (2019-09-09T19:30:19Z)

Pour les sms/journal d'appel tu as sms backup & restore qui fait parfaitement le boulot.

Firefox bah il y a la sync de firefox.

Pour les contacts, si tu crois que google a qqch à faire des tiens alors la vcard est une bonne solution.

Bref tout cela juste marche sans presque rien avoir à faire…pour une fois :)

ooten (2019-09-09T18:44:58Z)

Pour anecdote, sur les produits Apple et notamment sur l'iPhone, il y a une fonctionnalité qui permet de recopier à l'identique les données contenues depuis l'ancien vers le nouveau appareil via le Bluetooth ou le Wifi mais je ne connais pas quel est le niveau de précision de cette recopie vu que je n'ai pas eu encore l'occasion de l'utiliser. En outre sur son iCloud personnel, est stockée la configuration de son appareil qui permet de la restaurer sur autre mais là aussi je n'ai pas eu l'occasion de tester cette fonctionnalité. Sinon Apple se vante de ne pas collecter les données de ses utilisateurs à des fins commerciales et j'ai cru comprendre que les fichiers stockées sur l'iCloud sont cryptées.
Sinon je ne comprends pas pourquoi google complique inutilement son schéma de base de données.

Immae (2019-09-09T17:30:17Z)

Concernant les backup+recovery, ce que j’ai été amené à faire, c’est de ne plus dépendre de mon téléphone pour du stockage longue durée :
- Mes contacts et mes calendriers sont tous synchronisés avec mon serveur. C’est donc le serveur la source vérité. DavX5 permet de fignoler assez bien comment synchroniser ça (à chaque modif, par exemple)

- Mes SMS, MMS et journaux d’appels sont synchronisés avec SMSBackup+ (via IMAP), dont la synchronisation est complète pour autant que je voie (je ne sais pas si la restoration est complète, mais elle ne m’intéresse pas, pour la raison donnée au dessus). Ensuite j’ai des scripts pour lire ces informations depuis mon pc de façon "agréable".

- Mes photos/données de la carte sont généralement synchronisés (via nextcloud)

- Avant chaque mise à jour de mon téléphone (qui est prévu pour avoir des MAJ pendant au moins encore 3-4 ans) je fais un backup avec "oandbackup" (+ dd de la carte, juste au cas où), et si la maj se passe mal je rétablis au cas par cas mais je sais que j’ai toutes les informations dont je peux avoir besoin (je n’ai pas tenté l’opération inverse avec oandbackup, mais elle est théoriquement supportée) Du coup j’ai bon espoir que cela fonctionnera aussi si je dois changer de téléphone au passage.

Jusque là je n’ai rien perdu donc je suis plutôt satisfait de ma procédure.

Ruxor (2019-09-09T16:46:15Z)

@JML:

Ben il faut que quelqu'un fournisse la mise à jour, quand même ! Le gros problème d'Android (c'est même une absurdité totale), c'est qu'il faut l'adapter pour CHAQUE téléphone, il n'y a pas juste un Android qu'on peut mettre partout comme sur les PC il y a un Linux. Du coup, chaque téléphone à maintenir coûte en temps humain, et LineageOS n'a que celui des volontaires qui veulent s'en occuper… je suppose qu'ils s'occupent de la partie commune et chacun de son propre téléphone : comme ça, le support dure un peu plus longtemps que chez le fabricant d'origine, mais pas indéfiniment. Je pourrais évidemment en principe faire des mises à jour moi-même, mais comme la branche 7.1 d'Android n'est plus du tout maintenue et qu'adapter le téléphone à la branche 9.0 serait vraiment difficile, ben ce serait un gros boulot. (Par ailleurs, compiler Android est extrêmement long et difficile.)

Pour ce qui est de données envoyées à Google, évidemment il y a des choses que j'ai acceptées (ma localisation, par exemple), mais je ne crois pas du tout au complotisme consistant à penser que Google a plein de backdoors dans Android qui envoient des données en secret : le business model de Google, c'est de connaître plein de choses sur plein de gens, et pour ça, de leur faire accepter d'envoyer des données sans qu'ils s'en rendent compte, avec plein de dark patterns et de services liés comme le système de synchronisation que je décris, ça ne les intéresse pas du tout de cibler des individus qui ne veulent pas leur envoyer leurs données, ce qui les intéresse c'est de gros volumes de données, pas des données individuelles. Et l'effet PR d'une backdoor découverte dans Android serait beaucoup plus nuisible que ce qu'ils ont à y gagner.

JML (2019-09-09T15:55:01Z)

Pourquoi n'y a-t-il plus de mises à jour sur ton ancien téléphone ? Je croyais que rooter un téléphone permettait de le mettre à jour sans dépendre de personne…

Je me demande aussi dans quelle mesure un contact ou autre donnée n'est vraiment jamais envoyé à Google.
Bon courage en tout cas !


You can post a comment using the following fields:
Name or nick (mandatory):
Web site URL (optional):
Email address (optional, will not appear):
Identifier phrase (optional, see below):
Attempt to remember the values above?
The comment itself (mandatory):

Optional message for moderator (hidden to others):

Spam protection: please enter below the following signs in reverse order: c4058d


Recent comments