Convertir un site Joomla en SPIP

joomla-spip

 

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 :

convertir-site-joomla-spip1

 

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.

convertir-site-joomla-spip4convertir-site-joomla-spip5

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 :

convertir-site-joomla-spip6

 

 

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 :

 

convertir-site-joomla-spip8

 

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 :

convertir-site-joomla-spip9

 

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.

convertir-site-joomla-spip10

 

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 :

convertir-site-joomla-spip11

 

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 :

convertir-site-joomla-spip12

 

 

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

convertir-site-joomla-spip13

 

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 !)

convertir-site-joomla-spip14

 

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 :

convertir-site-joomla-spip16

 

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 :

convertir-site-joomla-spip17

 

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 !

8 réflexions sur “ Convertir un site Joomla en SPIP ”

      1. 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 ? :)

  1. 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.

  2. Je vais bientôt devoir gérer un site (actuellement sous joomla) . Je souhaite le faire migrer sous spip et je voudrais savoir si vous avez des solutions par rapport aux problèmes que vous aviez rencontrés en 2011. Ces deux dernières années vous ont elles permis de trouver des solutions? Merci pour vos réponses et votre aide
    Jeff

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>