En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies

Feuille de route d'une migration Joomla de la version 1.5 ou 2.5 vers Joomla 3

Évaluer cet élément
(14 Votes)

Beaucoup d'encre a coulé sur le sujet, et un plugin installé avec la version 2.5.28 indiquant en gros et en rouge que cette branche de Joomla (2.5) n'est définitivement plus supporté n'y changera rien.

La migration d'un site sous Joomla de la version 1.5 (voir 1.0) à la version 3 est un sujet sérieux et bien plus compliqué qu'une simple installation.

A ce jour, 19 janvier 2015, environ 40% des sites sous Joomla sont encore en version 1.5. Nous sommes en droit à se demander pourquoi cet état de fait ? 4 ans après la fin de la version 1.5, pourquoi près de 40% du "parc" Joomla tourne encore sous cette version désuète. Version friable sous les attaques des "hackers", la 1.5 ne dispose d'aucun avantage à être maintenu en production si ce n'est le coût de la migration parce que c'est uniquement là que le bât blesse.

Elle entraîne des coûts bien supérieur à une création de site parce qu'en plus d'une installation il va falloir récupérer l'existant et maintenir le référencement.

Mais c'est aussi l'occasion de réfléchir à une éventuelle ré-organisation du site, l'implémentation de nouvelles fonctionnalités et l'optimisation des processus en cours.

Pré-requis

Joomla 3 nécessite PHP 5.4 au minimum pour fonctionner correctement donc si votre serveur web ne l'a pas, n'allez pas plus loin.

Cette informations est dans [AIDE][Infos système] si vous êtes sous Joomla 1.5 et [Site][Informations système] si vous êtes sous Joomla 2.5

http://aide.joomla.fr/administration-joomla/pre-requis-techniques-joomla

Création ou migration

Est-ce que la migration de mon site est nécessaire ?

Tout d'abord, se poser la question de la nécessité d'une migration ou si une simple création à partir de zéro n'est pas suffisante.

Vous avez moins de 50 utilisateurs, moins de 50 articles, optez pour une création pure à partir d'un Joomla sain. Ce sera l'occasion de faire le ménage dans les médias, les articles, les utilisateurs, les modules et, cerise sur le gâteau, aucun risque de migrer une "backdoor"

Evaluation de l'existant

Pour commencer, vous pouvez établir la liste des principales fonctionnalités de votre site (blog, forum, boutique...etc).

Indiquez pour chacune le composant, plugin et/ou module en assurant le fonctionnement.

Listing des priorités

A partir de cette liste, classez les fonctionnalités en fonction de leur priorité et nécessité.

En premier les fonctionnalités les plus utilisées qu'on devra obligatoirement retrouver sur le nouveau site. En dernier, les fonctionnalités peu ou pas utilisées qui pourraient ne pas se retrouver sur le nouveau site.

Listez les codes intégrés plus communément appelée "hack de fichiers core", leurs emplacements et leurs fonctions, cela va être l'occasion de trouver une solution plus propre.

Affecter à chacune de ces fonctionnalités une note de 1 à 3 (1 = fondamentale, 2 = utile et 3 = gadget).

Réflexion sur la nouvelle version

A l'issue de la création de cette liste des fonctionnalités, vous devez déjà avoir une idée du coeur de métier de votre site internet.

Au début, lors de la création de votre site, vous ne saviez pas forcément ce qui allait fonctionner: Quelles sont les parties les plus populaires aujourd'hui et quelles sont celles que vous avez abandonnées sans pour autant désinstaller les composants, plugins et modules la fournissant.

C'est le moment de réfléchir sur ce composant central : Il déterminera le choix du composant central de votre futur site. Les autres composants devront communiquer le mieux possible avec ce coeur.

Le choix des extensions

Vous avez listé les fonctionnalités, leurs priorités et défini votre coeur de métier. Vous pouvez maintenant déterminer l'extension principale de votre futur site. Elle devra répondre à vos priorités de niveau 1, disposé de "bridge" ou plugin permettant le partage d'information, répondre aux priorités de niveau 2, voir, disposer des gadgets de niveau 3.

Je préconise toujours d'installer le moins possible d'extensions sur un site Joomla car trop souvent les extensions ne se parlent pas entre elles, ce qui peut causer des problèmes lors de développements futurs. J'entends par "parler entre elles" la faculté qu'a 2 ou plusieurs extensions à partager une information commune. Ce n'est pas toujours évidents mais la version 3 de Joomla nous offre quelques solutions.

Il est bien entendu préférable que l'extension choisie s'appuie sur les fonctions natives de Joomla. Un gestionnaire de "newsletters" qui ne se baserait pas sur les utilisateurs Joomla serait à proscrire. Une extension qui doublonne la gestion native est à proscrire.

Il est plus compliqué de partager une information entre 2 extensions d'auteurs différents que de trouver une solution répondant à la demande des 2 extensions ou un auteur ayant développé ces 2 extensions et prévu qu'elles se parlent entre elles. Donc, quand vous faites un choix d'extensions, privilégiez les éditeurs qui sont susceptibles de compléter votre offre par d'autres développements judicieux.

Installer trop d'extensions peut nuire à la performance du site et favorise les failles de sécurité, complexifie la recherche de bug et la résolution de problème.

La question JQuery

Depuis la version 3.0.2, Joomla embarque le noyeau JQuery UI, seulement problème, quelques extensions et template embarquent elles aussi la fameuse bibliothèque javaScript. Ce qui parfois a pour effet un grand bug et/ou un vrai plat de spaghetti à l'arrivée car plusieurs versions de JQuery sont chargées simultanément.

Afin d'éviter ces déconvenues, vérifiez que l'extension ou le template choisi permet la désactivation du téléchargement de JQuery. Il existe aussi des extensions prenant en charge la question Jquery avec plus ou moins de succès.

La mise en place de la version Joomla 3 de travail

On ne part pas de la version 1.5 pour commencer à travailler sur la 3, mais on part d'une version 3 toute fraîche. On installe l'extension principale, notre coeur de métier puis les extensions secondaires au fur et à mesure de nos besoins.

L'objectif est de valider tous les processus listés plus haut, valider les extensions et anticiper toute incompatibilité pour la résoudre avant le déploiement.

En travaillant sur une version fraîche avec peu d'utilisateurs et peu de contenu, il est plus facile de changer votre fusil d'épaule au cas où les choix précédents ne s'avèrent pas judicieux.

Création des "bridges"

Un bridge est un petit programme qui permettra à une extension par exemple d'échanger des informations avec une autre extension ou Joomla. A la différence du processus, le bridge demeurera "à vie" sur le serveur puisqu'il permettra aux 2 extensions de communiquer. Il devra être maintenu suivant les mises à jour des extensions concernées et de Joomla.

Le template

Inutile de tenter de réutiliser le template de votre ancienne version sur la nouvelle. J3 gère différemment l'aspect visuel et aucun template 1.5 ne fonctionnera sur une version 3. Je ne vous recommande pas non-plus d'installer une mise à jour de ce template. Quelques sites de designers de template Joomla proposent une version rénovée de leurs vieux template. C'est malheureusement trop souvent du bricolage qui ne répondra pas ou peu aux nouvelles exigences techniques ("Responsive", meta, encodage, codage, surcharge...etc...).

Développez un nouveau template ou dépensez quelques euros pour en acquérir un récent.

C'est le moment de tester et de mettre en place les surcharges

Suite aux différentes installations, configurations et mise en test, vous avez pu définir une feuille de route. Il s'agit maintenant de l'appliquer à notre version 1.5.

La migration

On est là pour ça !

Si avant c'était une notion abstraite, maintenant nous savons où l'on va (version 3 démo) et comme nous savions d'où l'on venait (version 1.5), il ne nous reste plus qu'à évaluer le travail à faire pour migrer l'existant vers la nouvelle organisation.

Préparation de notre version 1.5 ou 2.5

Faire un backup complet site + base et tester le backup en local pour être sûr qu'il soit fonctionnel

Quand vous entreprenez de cuisiner un bon petit plat, vous nettoyez le plan de travail et vos ustensiles de cuisine, et bien lors d'une migration Joomla, c'est la même chose.

Le nettoyage consiste à supprimer les choses inutiles, les doublons, les copies, les copies de copies... Etc...

  • Nettoyage des utilisateurs
  • Nettoyage du contenu, vérification des alias
  • Nettoyage des menus, vérification des alias
  • Nettoyage des modules
  • Nettoyage des extensions
  • Mise à jour des extensions
  • Vidage des corbeilles et des caches
  • Mise à jour de Joomla en 1.5.26 ou 2.5.28
  • Mise à jour des composants, modules et plugins

Faire un backup complet site + base

Installation du composant de migration

En fonction des extensions que vous avez à migré vous choisirez le composant de migration JUPgrade, redMigrator, migrateMe, SPUpgrade... Etc...

Une fois la migration effectuée, vous avez récupéré le maximum récupérable, reste à traiter ce qui n'a pas pu être fait par le migrateur.

Un peu de programmation

Processus de migration

Une des parties les plus délicates consiste à conformer les tables à notre nouvelle organisation.

Par exemple, vous avez créé un nouveau groupe d'accès pour les utilisateurs autorisés à consulter des documents en ligne. Vous n'avez qu'une dizaine d'utilisateurs, vous le faites manuellement mais qu'en est-il si vous avez 5000 utilisateurs? Votre contenu contient une image d'introduction et une image pour l'article, seulement à l'époque de la 1.5, on intégrait cela directement dans l'article. A partir de la 2.5 on a des champs dédiés.

C'est le travail du développeur d'écrire un script qui gérera la migration de l'information des anciennes bases vers les nouvelles.

Le référencement

Enfin, le référencement. Cela fait plusieurs années que vous peaufinez votre référencement, vos urls sont biens placées et vous souhaitez les conserver.

J3 embarque une nouvelle fonctionnalité qui est la redirection d'urls. Grâce à cela vous pourrez rediriger les urls référencées vers les nouvelles urls. Si vous ne souhaitez pas utiliser cette nouvelle fonctionnalité, il est toujours possible d'effectuer ces redirection 301 via un .htaccess

Vous aurez obligatoirement cette phase de redirection à faire car J3 travaille différemment des anciennes versions. Vous aurez probablement à changer certaines extensions pour diverses raisons comme :

  • Extension inexistante pour Joomla 3
  • Extension inutile parce que désormais sa fonctionnalité est gérée nativement par Joomla (multi-langues, droits d'accès affinés, catégorisation en cascade... Etc...)
  • Plusieurs extensions regroupées en une seule... Etc...

Conclusion

Vous l'avez certainement constaté, une migration n'est pas une partie de plaisir, elle implique beaucoup plus de ressources qu'une simple installation mais elle est l'occasion de remettre en question certains processus et/ou d'en installer de nouveaux.

J'espère que cet article vous a été utile, Webcrea reste à votre disposition pour organiser et effectuer la migration de votre site sans surprise à l'arrivée.

 

 

Lu 7343 fois Dernière modification le jeudi, 01 décembre 2016 16:27
Connectez-vous pour commenter