J’avais ouvert un sujet (Migration from Yahoo! Groups) pour obtenir des conseils à ce sujet, et un autre sujet (Yahoo Groups to Discourse migration?) en parle également. Voici donc ce que j’ai mis au point pour effectuer la migration.
Contexte
Yahoo a annoncé il y a quelques semaines qu’il réduisait considérablement les services disponibles via Yahoo Groups. À partir du 28 octobre 2019, ils ont désactivé le contenu téléchargé par les utilisateurs. Le 14 décembre 2019, ils ont indiqué qu’ils supprimeraient tout le contenu téléchargé, y compris les archives de messages. J’ai mis ce dernier point en gras car il ne m’était pas évident au début, et cela a rendu la migration du groupe beaucoup plus urgente. Ils indiquent qu’à ce stade, les groupes resteront utilisables comme listes de diffusion, mais sans archives à l’avenir.
Il existe un autre service, groups.io, qui constitue pratiquement un remplacement clé en main pour Yahoo Groups. C’est en quelque sorte le choix évident pour quelqu’un souhaitant migrer un groupe Yahoo : ils s’occupent de tout déplacer et les utilisateurs conservent la même interface à laquelle ils sont habitués. Ce dernier point est, selon moi, l’un des principaux inconvénients de ce service ; l’autre est le coût de 220 $ pour migrer un groupe. J’ai estimé que, si je prenais la peine de migrer un groupe, il serait bon de moderniser l’interface tout en conservant la possibilité de l’utiliser comme liste de diffusion.
Si votre groupe contient de nombreuses photos ou fichiers téléchargés, vous voudrez peut-être envisager une autre méthode pour les héberger. Sinon, vous pouvez les publier dans des sujets sur votre site, éventuellement dans des catégories distinctes. Si vous y avez d’autres types de données (par exemple, des bases de données ou des calendriers) que vous souhaitez sauvegarder, je laisse à d’autres le soin de trouver la meilleure façon de les migrer.
Préparation
La clé de ce processus est l’outil « Récupérer mes données » de Yahoo (Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos), qui vous permet de télécharger certaines données de vos groupes. Plus précisément, il vous permet d’obtenir :
- Tous les messages de tous les groupes dont vous êtes membre, et
- Tous les fichiers téléchargés (mais pas les photos) de tous les groupes dont vous êtes membre.
Les messages téléchargés sont au format .mbox et incluent les adresses e-mail complètes, que vous soyez modérateur ou administrateur du groupe.
Cet outil vous permet de soumettre une demande. Une fois que Yahoo l’a traitée, vous recevrez une notification par e-mail indiquant que votre téléchargement est prêt — cela m’a pris environ une semaine.
Comme indiqué ci-dessus, l’outil « Récupérer mes données » ne télécharge pas les photos. Pour celles-ci, j’ai utilisé GitHub - IgnoredAmbience/yahoo-group-archiver: Scrapes and archives a Yahoo groups email archives, photo galleries and file contents using the non-public API · GitHub. Il télécharge également toutes les autres données (et il n’y a, à ma connaissance, aucun moyen de limiter cela), mais il récupère les photos ainsi que leurs métadonnées.
Installation
Installez Discourse en suivant les instructions de discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub sur un hébergeur VPS de votre choix (j’utilise contabo.com, mais il n’y a pas de pénurie de fournisseurs VPS). Obtenez un domaine si vous n’en avez pas déjà un (freenom.com si vous en voulez un gratuitement ; easydns.com ou name.com fonctionnent bien pour moi en tant que registraires payants). Configurez DNS avec votre hébergeur préféré (j’aime cloudflare.com pour cela). Configurez l’envoi d’e-mails (j’ai utilisé mailgun.com) et la réception d’e-mails en suivant Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver.
Configurez votre installation comme vous le souhaitez ; l’importation n’écrasera rien de ce que vous avez déjà configuré.
Migrer les messages
L’outil « Récupérer mes données » vous fournira un seul fichier .zip. Il contiendra un répertoire pour chaque groupe dont vous êtes membre, et dans chaque répertoire se trouveront messages.zip et files.zip. Lorsque vous décompressez messages.zip, vous obtiendrez des fichiers .mbox contenant tous les messages du groupe, répartis en autant de fichiers de 10 Mo que nécessaire pour les contenir (il y en avait 15 pour les 38 000 messages du groupe que je migrais). Une fois que vous les avez, vous pouvez suivre les instructions de Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc) pour les importer dans votre installation Discourse. Si vous avez déjà des utilisateurs, le script associera les messages à ces utilisateurs par adresse e-mail. Toute adresse e-mail qui ne correspond à aucun utilisateur créera un nouvel utilisateur.
Problèmes
Puisque la création d’utilisateurs repose sur les adresses e-mail, les utilisateurs Yahoo ayant changé d’adresse e-mail au fil du temps se traduiront par plusieurs utilisateurs dans votre installation Discourse. Le plugin « Fusionner les utilisateurs » (Merge Users Plugin) devrait résoudre ce problème, bien que leur identification reste un processus manuel.
Conclusion
Voici où j’en suis à ce stade : mon site fonctionne, les messages sont là, les utilisateurs sont là, et maintenant il ne reste plus qu’à ajuster et peaufiner. J’espère que cela aidera d’autres personnes à franchir le pas et à déplacer leurs groupes Yahoo vers un site basé sur Discourse plutôt que de rester dans le même état de choses.