Blog de Djan GICQUEL

Informagicien, crypto-convaincu, adorateur des internets 2.0, des chats et des logiciels libres

Mon protocole de sauvegarde sur smartphone Android

Publié le lundi 28 août 2023, par Djan

Mis à jour le vendredi 22 décembre 2023

Mots clés : Android, sauvegarde, stockage,

Avant-propos

Mon système de sauvegarde Android actuel me permet de remonter jusqu’en 2017. Il est un peu ardu à mettre en place, mais il s’adapte à tout type de smartphone Android.
Il est efficace ; il permet effectivement de remonter dans le temps.
Il est efficient ; une fois mis en place il ne demande qu’une maintenance minimale pour un résultat optimal.

Il suppose une certaine situation de départ

  • on ne compte pas sur le protocole MTP qui ne fonctionne pas ou de façon aléatoire (ce qui m’est arrivé assez souvent)
  • le smartphone est chiffré (on n’est jamais trop prudent)
  • le dossier qui va recevoir les données de transit sur l’ordinateur est chiffré (on n’est jamais trop prudent)

Et certains prérequis logiciels

  • utiliser GNU/Linux (la distribution importe peu)
  • savoir installer des paquets sur sa distribution, je ne détaillerais pas ici les procédures d’installation je pars du principe que vous savez le faire
  • avoir installé un logiciel de chiffrement [1] idem je ne détaille pas non plus comment chiffrer ses données
  • avoir installé Syncthing, un logiciel de synchronisation sans cloud
  • avoir installé BorgBackup, ou si vous êtes débutant borg-zenity, un logiciel de sauvegarde puissant
  • avoir installé le dépôt d’applications libres F-droid sur son smartphone

Évidemment ce système correspond parfaitement à mes besoins mais pas forcément aux vôtres. Vous pouvez vous en inspirer mais en l’adaptant à votre modèle de menaces. La maîtrise de la ligne de commande permet une plus grande efficience.

Description du système de sauvegarde

Syncthing est paramétré pour synchroniser les données essentiels de mon smartphone Android vers mon PC fixe. Le dossier personnel sur mon PC fixe est chiffré avec LUKS. Si votre home n’est pas chiffré, je vous conseille a minima de garder le dossier de réception de Syncthing dans un conteneur chiffré.

Paramétrage de Syncthing sur Android

Pour échanger les données entre le smartphone et le PC j’utilise Syncthing, un logiciel de synchronisation de données qui ne passe pas par le cloud. Pour cela il faut déjà avoir installé F-droid sur Android.

Ensuite on se rend dans F-droid pour télécharger Syncthing-fork, cette version donne des détails intéressants sur l’avancement des synchronisations en cours.

Une fois ceci fait, j’ai créé autant de partages que nécessaire pour toutes les données que je veux sauvegarder. Pour ma part je sauvegarde les dossiers suivant de mon smartphone : Backups, Conversations, DCIM, Documents, media.

J’ai ajouté quelques exclusions (voir le tutoriel Syncthing) pour les dossiers que je considère non essentiels. Je ne sauvegarde pas mes fichiers NextCloud, car ils sont déjà sauvegardés 2 fois  ; une fois sur la sauvegarde de mon serveur, une autre fois dans la sauvegarde de mon dossier maison sur mon PC fixe. J’exclus les cartes OpenStreetMap qui peuvent être téléchargées. J’exclus aussi les répertoires de cache.

Voilà à quoi ressemble mon fichier d’exclusions Syncthing sur Android.

Sauvegarder les SMS

Pour sauvegarder les SMS j’utilise SMS backup and restore [2], une application privatrice mais utilisant un format standard XML. En prenant soin de régler l’application pour qu’elle stocke la sauvegarde dans un dossier local (backups dans mon cas) et non sur le cloud.

Listes de lecture

Depuis que je suis passé sur Android 11 aucune application de sauvegarde des listes de lecture ne fonctionne. J’ai donc changé d’approche. Je copie mes listes de lecture au format m3u qui sont déjà sur mon ordinateur sur mon smartphone. VLC est capable de lire et d’importer automatiquement les listes de lecture au format m3u. Je n’ai plus qu’à paramétrer un partage dans Syncthing avec le dossier contenu les listes.

Applications et exports de sauvegardes

Un certain nombre d’applications libres sous Android gèrent l’export de sauvegarde dans des formats standards. Voici la liste des applications dont je fais un export de données régulier. Il suffit de regarder dans les paramètres des applications pour trouver comment exporter les données.

  • Conversations : format ceb (binaire chiffré avec le mot de passe du compte)
  • AntennaPod : format SQLite
  • SMSbackupandrestore : format XML
  • Car Report : format SQLite
  • Any Soft Keyboard : format XML
  • Syncthing : configuration au format XML, clé de chiffrement au format PEM
  • Tasks : format JSON (export automatique tous les soirs)
  • Loop : format SQLite (export automatique tous les soirs)

Protocole de sauvegarde

  1. Je réalise un export de toutes les applications qui le permettent. (voir point au-dessus)
  2. Je synchronise les données des partages via Syncthing sur mon ordinateur
  3. Étant sur Android 11, Syncthing n’a pas l’autorisation de naviguer dans Android/data pour ce dossier j’utilise une synchronisation maison en utilisant Material Files et son serveur FTP côté Android et un script lftp côté PC fixe
  4. Une fois les synchronisation terminée je lance la sauvegarde sur le PC fixe à l’aide de BorgBackup ce qui ne prend que quelques secondes
  5. Je supprime les données des sauvegardes du dossier backup sur Android (sms, certificats et configuration Syncthing, export Conversations et export AntennaPod)

Conclusion

Le paramétrage initial peut prendre un peu de temps prévoir une bonne demi-heure.
Syncthing ne transfert que les nouvelles données, la synchronisation est donc rapide. Certes l’espace disque est utilisé 2 fois (une fois sur mon smartphone et une autre fois sur mon ordinateur) mais cela simplifie grandement les choses. Une fois paramétré et les synchronisations initiales complétés, le protocole au complet me prend au maximum 5 grosses minutes. Ce qui n’est pas excessif pour la tranquillité d’esprit assuré.

Un message, un commentaire ?

Si la question concerne un script que j'ai écrit, merci de me contacter par courriel.

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)


Dernières brèves

Une faille de sécurité sur Azure exposait des fichiers internes de Microsoft 18 avril

Étude de grande ampleur sur les sites web respectant le RGPD 17 avril

Une bulle d’intelligence artificielle et de stupidité naturelle 14 avril

La CNIL a aidé la société VALIUZ à réaliser un profilage de masse des Français 1er avril

La nouvelle informatique 25 mars

Fin des cookies tiers : quelle efficacité pour la vie privée ? 25 mars

France Travail, fuite de 43 millions de comptes 15 mars

À partir de juin 2024 les bloqueurs de publicité seront pourris sur Chrome 9 mars

Polyfill a été revendu à une boite chinoise 4 mars

Quand la complexité prend le pouvoir 27 février

Dernière brève et flux RSS 24 décembre 2023

Cyberattaque : la carte des villes, départements et hôpitaux victimes en 2023 19 décembre 2023

Google Drive et le voyage dans le temps 4 décembre 2023

Outlook copie vos données vers les serveurs Microsoft 15 novembre 2023

Les VPN sont-ils utiles ? 1er novembre 2023


Articles épinglés

Rechercher

Agenda du libre en Alsace

Metz : atelier pratique : les systèmes d’exploitation sous Linux, Le samedi 18 mai 2024 de 14h00 à 16h00.

Reims : Visioconférence : Confort ou Liberté, des concepts opposés ?, Le jeudi 9 mai 2024 de 18h30 à 21h00.

Vandoeuvre-lès-Nancy : Ateliers métacartes Numérique éthique, Le samedi 22 juin 2024 de 10h00 à 12h00.

Vandoeuvre-lès-Nancy : Réunion OpenStreetMap, Le mercredi 22 mai 2024 de 18h00 à 20h00.

Vandoeuvre-lès-Nancy : Sciences participatives, Le mardi 28 mai 2024 de 18h00 à 20h30.


no-gafam-zone
Onestlà!
Web0 manifesto