Exporter ses posts Google+ et Facebook vers Mastodon


#1

Hello, en ce moment il se passe une grosse opportunité de rameuter du monde dans le fédiverse, et pour faciliter le tout il faudrait que les gens puissent importer leurs status des plateformes fermées.

J’ai donc entrepris de me lancer dans une moulinette pour faire un import vers Mastodon.
Pour facebook ça va l’export des status est faisable en JSON, mais pour G+ étonnamment, je viens d’essayer un export avec takeout et impossible d’obtenir mes status.

si vous avez des suggestions, le fédiverse vous en sera éternellement reconnaissant.


#2

après un deuxième essai il se trouve que si si on peut bien obtenir ses posts en format JSON, c’est la partie “flux google+” dans Takeout.

voilà, faut je trouve comment combiner ça dans un export au format json/activitypub importable dans Mastodon et tout ce qui parle l’activitypub


#3

bon bon bon,
j’avais ouvert une issue sur le github du mastodon en disant que je me doutais que le format d’import était activitypub, que j’ai regardé la doc mais rien trouvé d’éloquent à propos d’une directive pour faire des imports de posts propres, que je m’attendais à une partie dans la doc décrivant ce à quoi devait ressembler un import.
et on m’a répondu que le format était de l’activity pub, avec un lien vers la doc qui fait 3km.

et ainsi s’est clos le billet.
wow.
je m’attendais à avoir un peu plus d’aide que ça je vous avoue, notamment parce qu’il y a autour de ce dépot sans doute pas mal de gens habitués à comprendre beaucoup mieux que moi l’activity pub.


#4

Salut @tykayn,

A mon avis, il n’y a pas un moyen simple d’importer des “status” depuis un réseau vers l’autre pour plusieurs bonnes raisons :

  • Chaque status a un identifiant unique, il faut donc ajouter les status un par un
  • Quid d’un status comme une réponse ? et que fais-tu des réponses à ces status ?
  • Quid aussi des liens entre status ou avec d’autres personnes du réseau ? (si j’écris “salut @tata”, que fais-je de ce @tata ? Est-ce un acteur de mon réseau ou d’un autre réseau ?
  • Idem pour tous les champs spécifiques ou pas d’un réseau vers l’autre

En gros, autant il peut être faisable de migrer un compte mastodon vers une autre instance, autant migrer un compte d’un réseau à un autre, je ne suis pas sûr que cela ait du sens.


#5

salut @Mindiell,
j’ai eu une réponse de la personne qui a clos le ticket. il n’y a pas pour le moment de moyen d’importer de l’activitypub dans mastodon.
bon, du coup je me demande bien comment ça marche l’import d’un compte à un autre, puisque ça fonctionne. Mais je vais devoir prendre ma journée pour fouiller dans le ruby. bon breffe.
il m’a orienté vers un ticket d’issue plus ancien ou là aussi beaucoup d’encre à coulé mais personne ne s’est jeté à l’eau pour faire une merge request qui va bien.

très bonnes remarques à propos de la structure des données, il se trouve que les JSON de takeout de FB et G+ ont des structures bien détaillées. pour te répondre:

  • quand on fait un import, les identifiants de l’ancien message n’ont pas d’importance car je ne cherche pas a faire un lien vers un site mort (g+, fb…) mais a importer un message. Il incombe donc au serveur qui reçoit l’import d’attribuer un ID unique. peu importe que je les génère dans mon logiciel d’import (en ligne) à l’avance, ou qu’ils soient générés par mastodon.
  • les status avec un caractère de réponse sont précisés comme tels par un attribut. Je ne suis pas trop certain de comment je pourrais les rendre, surtout qu’il n’est pas question de créer des posts placeholder de faux compte tiers entre deux réponses.
  • on pourrait importer seulement les premiers posts où nous sommes la personne qui a démarré une conversation. ça ferait du coup moins de posts à importer, il faudrait y réfléchir. une autre possibilité serait d’importer tous nos posts de réponse publiques, mais on aurait pas le reste de la conversation, ce qui serait curieux.
  • pour les mentions @bidule, on pourrait les échapper en simple texte sans lien hypertexte. à moins qu’il n’y ait de contrainte particulière à ces mentions côté mastodon. en tous cas je ne me vois pas faire du @bidule@fb.com ou @machine@gplus.com
  • les champs trop spécifiques ne seraient tout simplement pas importés car ils n’auraient pas de destination. à moins que je ne m’amuse à faire une merge request qui modifierait la base de données de mastodon pour qu’il prenne en compte, rien qu’au niveau stockage de données les champs particuliers des autres plateformes. mais c’est casse gueule.

Donc en premier jet je ferai bien un import minimal de posts publics avec un minimum d’infos.


#6

Suite à tes réponses, j’ensuis vraiment à me demander si ça vaut le coup de déplacer ses anciens status. Une conversation d’il y a un mois a-t-elle toujours autant d’intérêt ?

Les contacts (followers, ou followed) pkoi pas, mais les status, est-ce vraiment si utile que ça ? ;o)


#7

pour les contacts il existe Twitter bridge actuellement, mais c’est tout a ma connaissance. si ça se trouve ça se développe.
je me demande bien comment ils font pour la recherche de correspondance. je flaire le brute force de recherche.

mais a part ça oui, ça vaudrait le coup d’importer des statuts. ça aiderait sûrement beaucoup de gens a se sentir chez soi, plus qu’une couverture personnalisée


#8

Encore une fois, je ne vois pas l’intéet. Si tu as un cas précis, ça m’intéresse. Parce qu’une conversation (c’est souvent des conversations) avec un seul côté n’a pas d’intérêt. Si c’est juste un status (typiquement :“Wow, regardez ce plat que je viens de commander (photo)”, logiquement il peut être intéressant sur le coup, mais plus après.

Donc déjà on est passé de “tous les status” à “quelques status”. Tu les sélectionne comment ? À mon avis, c’est un sujet potentiellement hyper complexe pour un résultat somme toute assez faible. Mais ce n’est que mon avis ! :o)