
Comme vous le savez (ou non), je me bat contre Joomla depuis plusieurs mois, car je trouve sa gestion de plus en plus lourde, donc j’avais demandé s’il existe un moyen de migrer un site Joomla vers SPIP. C’est pourquoi, je voudrais remercier Rastapopoulos de m’avoir fait connaitre le plugin Joomla2spip qui permet de le faire en un clin d’oeil même si j’ai remarqué des petites problèmes pendant la migration.
La procédure avant de migrer un site Joomla vers SPIP
La première chose à faire est de sauvegarder votre base de donnée Joomla avec PhpMyAdmin. Donc, connectez-vous à votre base de donnée et allez dans Exporter et assurez-vous de sélectionner l’option Ajouter DROP TABLE / DROP VIEW dans la partie Structures :

Cochez également Transmettre en bas de la page et choisissez Aucune Compression pour éviter les problèmes. Ensuite, créez une autre base de donnée pour le test dans PhpMyAdmin et importez la base de donnée. Dans mon cas, ma BDD de test s’appelle gramo, donc cliquez sur Importer et sélectionnez le fichier SQL de notre ancienne base de donnée. Vous pourriez éviter de créer une nouvelle base de donnée avec ce plugin, mais il est préférable de tester si cela fonctionne.
Donc, nous avons une nouvelle base de donnée nommée gramo qui contient notre site Joomla. On va maintenant installer SPIP. Au moment de la sélection de la base de donnée pour notre site SPIP, choisissez la BDD où vous avez exporté le site Joomla (dans mon cas, c’est gramo). Et cette option montre déjà la supériorité de SPIP par rapport à d’autres CMS, car il peut s’installer sur une base de donnée qui possède déjà des tables. C’est très difficile avec Joomla.
Une fois que vous avez installé le site SPIP, décompressez l’archive du plugin Joomla2Spip et déplacez-le dans le répertoire plugins de SPIP. Vous devrez créer ce répertoire s’il n’existe pas encore.


A la racine du site SPIP, vous verrez également le fichier HTACCESS.txt, renommez-le en .htaccess, car il nous servira dans les urls explicites. (Ce n’est pas obligatoire pour migrer un site Joomla vers SPIP, mais c’est toujours un bon entrainement de suivre les étapes comme si on allait publier un vrai site).
Connectez-vous à la partie Privée de SPIP et allez dans le Gestionnaire des plugins :

Sélectionnez le plugin Joomla2Spip et activez-le en cliquant sur Valider… Et c’est tout ? Mais non, la route est longue jusqu’au paradis
La migration du site Joomla vers SPIP
Lorsque le plugin est activé, entrez cette URL dans notre navigation pour lancer la migration : spip.php?page=joomla2spip. Par exemple, si vous avez installer votre site SPIP sur www.monspip.com, donc l’url sera sous la forme http://www.monspip.com/spip.php?page=joomla2spip :

Votre page sera différente puisqu’elle affichera votre site Joomla. Moi, j’ai eu une erreur concernant le squelette, mais je pense que ce n’est pas trop grave. Sur la partie gauche de la page, vous verrez un lien appelé Conversion Joomla _> SPIP et cliquez dessus :

Le plugin Joomla2Spip affiche tout le contenu de votre site Joomla. Dans mon cas, il a trouvé 3 secteurs (correspondant aux Sections de Joomla) et 27 rubriques (correspondant aux Catégories de Joomla). Il a également trouvé 313 articles. On commence par importer les rubriques et les secteurs et il suffit de cliquer sur le lien Transférer les rubriques de joomla vers SPIP.

Vérifiez jusqu’en bas de la page si toutes vos catégories Joomla sont présentes. Ensuite, importez les articles. Pour ce faire, cliquez de nouveau sur Conversion Joomla _> SPIP sur la partie gauche de la page pour revenir au menu principal. Si vous possédez beaucoup d’articles, le transfert peut prendre plusieurs minutes. Quand l’importation est terminée, allez jusqu’au bas de la page et regardez le nombre d’articles qui ont étés importés :
![]()
Nous voyons que sur les 313 disponibles, seuls 200 ont étés importés. Aussi, cliquez sur le second lien (le chiffre 200) pour continuer l’importation. Faites attention à ce petit détail, car j’ai fait la même erreur et je perdu une grande partie de mon site. Pour finir, cliquez sur le lien Contenu Joomla formaté par Spip pour voir les résultat de la migration :

Maintenant, croisons les doigts en priant les dieux des CMS et lancons le site :

Cela marche ! et si nous cliquons sur le lien Tutoriels (qui correspondait à une de mes Sections Joomla), nous voyons toutes les catégories qui ont étés transformés en rubriques (c’est pas beau ça !)

Doinc, le ciel est bleu, les oiseaux chantent et on peut danser sous le pont d’Avignon ? Pas vraiment, car j’ai noté plusieurs problèmes.
Les problèmes à résoudre après une migration de Joomla vers SPIP
Le principal problème concerne les images de vos articles. Cliquez sur n’importe quel article et vous verrez que les images n’ont pas étés importées, mais c’est encore plus grave. Ouvrez l’article en mode édition dans la partie Privée et vous verrez immédiatement ce qui cloche :

Vous voyez ? Non, les lien vers les images ont été importés en dur, c’est à dire qu’ils ont préservés la structure de répertoire de Joomla. Alors qu’est-ce qu’on fait, on ouvre individuellement les 313 articles et on change chaque lien un par un ? De quoi entrer direct à l’asile ! J’ai trouvé une solution de secours, mais je pense qu’on peut mieux faire. Il s’agit simplemenent de recréer la structure des répertoire des images Joomla dans SPIP. Dans notre cas, l’article SPIP cherche une image avec le chemin images/stories/dsmax/max, donc allez dans le répertoire racine de SPIP et créez un répertoire images/stories/zbrush et ensuite, déplacez dans ce répertoire les différentes images de votre ancien site Joomla. C’est une sale méthode, car elle double le répertoire des images sous Spip sans oublier qu’il y a peut-être un risque de sécurité, mais cela fonctionne !
Donc lancons de nouveau la page pour tester :

Et vous pouvez tester sur tous vos articles et cela fonctionnera à merveille. Maintenant, je ne peux pas dire si c’est la meilleure méthode ou s’il existe une option cachée pour faire la même chose en mieux. Vous devez également régler les problèmes de la mise en forme, car on voit que les images ne sont pas alignées correctement avec le texte, mais on peut régler facilement le problème avec le CSS.
Par ailleurs, si je veux vraiment utiliser cette solution, je devrais également déplacer certaines catégories, supprimer des secteurs, etc, mais rien qui ne soit insurmontable.
Donc au final…
Je dois dire que je suis impressionné par l’efficacité de ce plugin malgré de légers défauts, et surtout quand on connait la difficulté de gérer une base de donnée Joomla. Ce plugin n’est pas parfait, mais l’essentiel est qu’il migrera votre site Joomla vers SPIP sans aucune perte notable. Ensuite, un travail de personnalisation et de design pendant quelques semaines suffiront pour créer le site SPIP de vos rêves … avec son contenu Joomla.
Note : Activez les URL explicite avant de modifier les articles pour que les changements ne soient pas perturbés par le cache. Si c’est nécessaire, vous devrez créer un fichier mes_options.php dans le répertoire config de SPIP pour qu’il supporte les longues URLS. En général, le fichier mes_options.php contient les lignes de code suivantes :
<?php
// pour urls propres et propres 2
define(‘_URLS_PROPRES_MAX’, 100);
define(‘_URLS_PROPRES_MIN’, 3);
// pour urls arbo
define(‘_URLS_ARBO_MAX’, 100);
define(‘_URLS_ARBO_MIN’, 3);
?>
Cet article n’est pas encore parfait, car je dois vérifier encore quelques trucs et toutes vos corrections sont les bienvenues ! Pour ma part, j’ai déjà acheté ma pelle pour creuser le trou qui va enterrer Joomla !
Ping: Résumé des liens du jour | Communauté de TousPourUn
Euh j’ai écrit un truc mais c’est tombé dans les spams parce qu’il y avait une URL ?
Non, il n’y a rien dans les spams
Bon je viens de réessayer et effectivement j’ai l’impression que dès qu’il y a une URL mon message est zappé : sans aucun message d’erreur et apparemment ça na va même pas dans un panier de SPAM. C’est nul WordPress ?
Donc je disais merci pour le clin d’œil mais puisses-tu enlever l’adresse email, soit en ne mettant rien, soit en mettant un quelconque profil web genre "spip-contrib POINT net/RastaPopoulos" (ça passe comme ça ?)
Pour le plugin, le statut est bien "expérimental" je crois ou au moins "dev" donc c’est fortement probable qu’il y ait plein de manques…
Mais il est sur le dépôt commun des plugins SPIP, donc si tu as des idées, n’hésites pas à participer.
De toute façon il est assez ancien et il faudrait au minimum le remettre au propre avec les fonctions modernes des derniers SPIP + transformer réellement les documents (image ou pas) en vrai documents SPIP.
C’est fait, j’ai enlevé le nom
Oui enfin la migration n’est effective qu’au niveau des articles et de l’arborescence…mais merci beaucoup dans le cadre de certains "gros" site la solution est parfaite!!!