Présentation du projet

Talend - Logo C2M Après avoir longuement utilisé l'application de Wiki Confluence, j'ai décidé de changer, afin de passer à un outil libre. En effet, Confluence, édité par Atlassian, est vraiment très avancé. L'interface est très intuitive, tout est paramétrable en ligne ou presque... Mais on ne peut pas facilement (pas du tout ?) mettre à jour la version gratuite, et la version payante est à un prix qui la réserve aux entreprises... D'autant plus que je n'utilisais ce Wiki que pour la documentation de Mon Sponsor Web, ou pour ma base de connaissance technique personnelle...

J'ai donc décidé de migrer vers MediaWiki, le moteur de l'encyclopédie collaborative en ligne Wikipedia. En effet, malgré son aspect austère, ce Wiki semble très puissant, extensible, paramétrable. Il est même possible de le relooker totalement, et ainsi lui enlever ce côté plus que sobre, si le besoin s'en faisait sentir.

Cependant, je n'ai trouvé aucun outil sur le net permettant de réaliser simplement cette migration. J'ai donc retroussé mes manches, et me suis jeté dans un produit de transformation de données (ETL), l'outil Open Source Talend. Cet outil est notamment utilisé pour réaliser des Datawarehouse pour des projets de Business Intelligence (je détaillerai ces notions dans un autre billet), mais est aussi utiliser pour des interfaces (ou connecteurs) temps réel, et pour... des migrations !

Présentation de Talend

Talend Open Studio est finalement simple, et facilement paramétrable, malgré une puissance sans limite. Si aucun composant ne convient, on peut en écrire, des plus ou moins simple, en Java.
Cet outil est en effet entièrement basé sur Java : Talend Open Studio est basé sur le framework d'Eclipse, et le but de Talend est finalement de générer un exécutable Java, autonome.

Dans Talend, tout tourne autour du Job. Avec des drag&drop, et donc de façon graphique et intuitive, on ajoute des briques, les composants, que l'on relie ensuite. Typiquement, le Job commence par un composant de type « source de données » (input), et se termine par un composant « sortie de données » (output), avec des composants de transformation entre.

Dans l'exemple suivant, qui nous servira d'illustration, il y a en fait 4 sources de données (des requêtes MySql) se déversant dans un fichier XML : Talend - Ensemble Fig. 1 : Aperçu de Talend Open Studio

Dans les articles suivants, nous étudierons chacun de ces 4 cheminements, qui nous conduiront à réaliser la migration d'un Wiki basé sur Atlassian Confluence vers un Wiki basé sur MediaWiki.

Principe de la migration

Pour cette migration, j'ai choisi de gérer les espaces de Confluence comme des catégories de MediaWiki. Et j'ai également choisi de gérer les labels ou étiquettes de Confluence comme des catégories, ces dernières étant catégorisées dans la catégorie correspondant à l'espace.
Ainsi l'article MySql avec les étiquettes mysql et serveur de l'espace Admin Serveur se retrouve dans les catégories AdminServeur, mysql, et serveur. Ces deux dernières catégories sont également dans la catégorie AdminServeur.
Ceci étant posé, étudions le Job.

VOIR AUSSI