Exporter sms pour qu'il soient lisibles sur un PC. En .txt?

Bonjour,
Je n’ai pas encore trouvé comment exporter tous mes messages sms pour qu’il soient lisibles sur un PC

Idéalement en fichier txt, un fichier txt par conversation ça serait bien.

avec la synchronisation du compte /e/ ?

Avez vous s’il vous plait une solution, une idée ?

On peut sauvegarder ces SMS mais ils seront sauvegardés au format JSON qui est un format pratique pour l’import / export de textes.

À partir de là, vous aurez les messages organisés de cette manière :

		{
			"type": 1,
			"address": "123",
			"date": 1680185640017,
			"dateSent": 1680185635000,
			"read": true,
			"status": -1,
			"body": "Info SFR : Répondeur - 3 nouveau(x) message(s); dernier appel le 30/03/2023 à 16:13 du 06XXXXXXXXX. Rappelez 123. Merci de votre confiance.",
			"protocol": 0,
			"locked": false,
			"subId": 1
		},

On peut ensuite le traiter avec Python par exemple pour ne garder que la date, le numéro de téléphone et le body.

Merci pour votre retour intéressant,
Avec quelle application réalisez vous l’export Json ?

Avec l’App par défaut

bonjour,
avec l’appli SMS “par défaut”, Message 3.9.4, en sélectionnant une conversation pour tenter l’export des échanges comme évoqué ici, j’ai fini par la perdre après avoir amorcé les choix de menu possibles sauf le dernier message mais avec un expéditeur sans rapport ! … redémarrage … en fait non, c’est parti dans les “archivées” … que je ne sais pas remettre dans les “en cours”, mais dans ces “en cours” l’anomalie est toujours là dans les sms .
Teracube 2e

La conversation est reapparue apres avoir amorce u’n sms au destinataire via option SMS de l appel telephone!?

merci à Bristow pour réaliser un export facilement.

Solution préconisée pour l’instant et en cours d’amélioration :

on peut tout simplement “exporter” les messages dans un fichier Json.

  1. Dans /e/
    Ouvrir l’application SMS par défaut,
    Et haut à gauche cliquer sur les 3 petites barres horizontales
    Puis sur sauvegarde et restauration.
    (si vous n’êtes pas avec /e/, essayez avec un export depuis une appli du genre sms import/export, … )

  2. récupérer le fichier json créé dans votre PC, et retraiter ce fichier pour l’intégrer dans libre office Calc :
    Sous linux (mageia) avec un srcipt bash
    dans le même répertoire que votre fichier d’export, créer un fichier txt, le renommer importsms.sh et coller les instructions suivantes dedans :

#!/bin/bash
# Vérifier si le fichier messages.ndjson existe
if [ ! -f messages.ndjson ]; then
    echo "Le fichier messages.ndjson n'existe pas"
    exit 1
fi
# Créer le fichier csv avec les entêtes de colonnes
echo '"Id","Quand","Numéro","Qui","Envoyé-Reçu","Message"' > messages.csv
# Parcourir le fichier messages.ndjson ligne par ligne
cat messages.ndjson | while read line; do
    # Extraire les valeurs des rubriques nécessaires
    id=$(echo "$line" | grep -Po '(?<=_id":")[^"]+')
    date=$(echo "$line" | grep -Po '(?<=date":")[^"]+')
    date_formatted=$(date -d @$(($date / 1000)) +"%Y %m %d %H:%M:%S")
    from=$(echo "$line" | grep -Po '(?<=address":")[^"]+')
    __display_name=$(echo "$line" | grep -Po '(?<=__display_name":")[^"]+')
    type=$(echo "$line" | grep -Po '(?<=type":")[^"]+')
    message=$(echo "$line" | grep -Po '(?<=body":")[^"]+')
    # Ajouter les valeurs extraites dans le fichier CSV
    echo "\"$id\",\"$date_formatted\",\"$from\",\"$__display_name\",\"$type\",\"$message\"" >> messages.csv
done
echo "Conversion terminée, le fichier CSV messages.csv a été généré avec succès"

lancer votre script en console avec un
./importsms.sh

A l’ouverture du fichier csv par calc de libreoffice, sélectionner seulement en séparateur TABULATION

Si besoin, vous pouvez adapter les colonnes à sélectionner. Il suffit d’ajouter, supprimer, modifier des titres de rubriques/colonnes, dans l’entête du fichier, dans la ligne correspondante dans la boucle en respectant le même modèle, et dans l’écriture des champs dans le fichier CSV

il y a encore un problème dans le script, le contenu des messages est tronqué s’il contient une guillemet.

Voilà le résultat du script ci dessus :
voilà le résultat dans Libre Office Calc :

Avec le filtre sur la personne, on peut suivre une convesrsation.
Faire une recherche dans tous les messages,
c’est très pratique.