Retour d'expérience sur migration vers joomla 2.5

Écrit par Frédéric Simonet.

Migration réalisée en 2012 sur une base MySQL 5.1.36 et PHP 5.3.1. Présentation de la procédure, détail des extensions installées avec indications sur patchs appliqués et images retravaillées. Partage d'expérience sur les problèmes rencontrés.

Procédure générale de la migration

  • Rapatriement du site de production sur poste local puis migration vers joomla 256.
  • Reconfiguration du site web.
  • Déploiement du site web vers l'environnement de production.

Rapatriement et migration sur poste local

  • Importation des données de production sur environnement yourwebsite_j15.
  • Migration de joomla 1517 vers joomla 1523.
  • Migration de joomla 15 vers joomla 166 avec le composant JUpgrade.
  • Migration joomla 166 vers joomla j256.

Remarque : il est impossible de passer directement de la version 15 à la version 25.

Configuration

  • Installation du Template yoo_enterprise_j25.
  • Récupération des menus : enregistrement manuel des menus dans la base de données.
  • Configuration des Blogs du menu principal.
  • Personnalisation du design et importation des images du site d'origine.
  • Configuration du SEF de toutes les pages du site.
  • Intégration et contextualisation des modules de type customHTML.
  • Installation des extensions (modules et plugins) avec suppression des traces générées par la migration.
  • Intégration des modules de la page d'accueil.
  • Intégration du slideshow de la page d'accueil.
  • Alignement des feuilles de style des onglets sur widgetkit (slideshow de la page d'accueil).
  • Intégration de la langue.
  • Configuration des extensions RapidContact, widgetkit Tweeter et Xmap.
  • Installation du composant Akeeba Backup et test de la procédure de restauration.

Récupération des menus

  • Problème : une fois la migration réalisé, le back-office masque tous les menus du site à l'exception du menu principal.
  • Analyse : en ouvrant la base de données via phpMyAdmin, on observe que les liens et modules associés aux menus apparaissent bien dans les tables [prefixe_des_tables]_menu et [prefixe_des_tables]_modules mais pas les menus.
  • Solution : il suffit d'identifier les différents menus qui apparaissent dans la table [prefixe_des_tables]_menu (champ menutype) pour ensuite les enregistrer manuellement dans la table [prefixe_des_tables]_menutypes sous le champ menutype via phpMyAdmin.

Déploiement

  • Sauvegarde des scripts et des données de l'environnement de production.
  • Installation de joomla 256 dans un sous-domaine d'homologation.
  • Suppression des scripts de l'environnement de production.
  • Suppression des tables de la base de données.
  • Installation de joomla 256 à la racine du domaine.
  • Sauvegarde du fichier de configuration configuration.php, il suffit pour cela de le renommer.
  • Transfert des scripts de l'application locale.
  • Reprise du fichier de configuration.
  • Exportation des données de l'application locale.
  • Importation des données dans la base de production.

10 extensions, 21 scripts à retravailler et 3 images

Extensions du site

Plugins :

  • plugin_jw_ts-v2.6_j1.5-2.5.zip : pour intégrer des onglets dans les articles.
  • plg_jw_allvideos-v4.4_j1.5-2.5.zip : pour intégrer des vidéos.
  • sourcerer-v3.2.0.zip : pour intégrer des widgets.
  • mod_AddThisForJoomla_j17.zip : pour intégrer le couplage avec les réseaux sociaux.
  • DirectPHP_v2.5.zip : pour intégrer directement du code PHP dans les articles.
  • pkg_com_xmap-2.2.1.zip : pour générer le plan du site et le sitemap.

Module mod_rapid_contact16.zip : pour intégrer le formulaire de contact.

Composants :

  • widgetkit_j25.zip : pour dynamiser l'interface au travers de slideshow par exemple.
  • com_akeeba-3.5.1-core.zip : pour sauvegarder le site web (scripts et données).

Pack fr-FR_joomla_lang_full_2.5.6v1.zip : pour intégrer le français.

Lien utile : http://joomlacode.org/gf/project/french/frs/

Liste des patchs appliqués

Scripts modifiés pour personnaliser logo, menu et typographie :

  • [racine]\templates\yoo_enterprise\css\layout.css : personnalisation du logo.
  • [racine]\templates\yoo_enterprise\css\variations\blackred.css : personnalisation du menu.
  • [racine]\templates\yoo_enterprise\css\reset.css : personnalisation de la typographie.
  • [racine]\templates\yoo_enterprise\css\typography.css : personnalisation de la typographie.

Scripts modifiés pour personnaliser les blocs de la page d'accueil :

  • [racine]\templates\yoo_enterprise\templateDetails.xml
  • [racine]\templates\yoo_enterprise\layouts\template.php
  • [racine]\templates\yoo_enterprise\layouts\module.php
  • [racine]\templates\yoo_enterprise\js\template.js
  • [racine]\templates\yoo_enterprise\css\modules.css
  • [racine]\templates\yoo_enterprise\css\layout.css
  • [racine]\templates\yoo_enterprise\css\typography.css

Scripts modifiés pour harmoniser les feuilles de style des extensions :

  • [racine]\media\widgetkit\widgets\slideshow\styles\tabs\style.css : slideshow de la page d'accueil.
  • [racine]\plugins\content\jw_ts\jw_ts\tmpl\Default\css\template.css : onglets des articles.
  • [racine]\modules\mod_AddThisForJoomla\mod_AddThisForJoomla.php
  • [racine]\templates\yoo_enterprise\css\modules.css : présentation du module AddThisForJoomla.

Scripts modifiés pour intégrer le français :

  • [racine]\administrator\language\fr-FR\fr-FR.plg_content_jw_ts.ini
  • [racine]\templates\yoo_enterprise\warp\systems\joomla\language\fr-FR\fr-FR.tpl_warp.ini

Script modifié pour corriger le bug sur option Show Title : [racine]\templates\yoo_enterprise\warp\systems\joomla\layouts\com_content\article\default.php

Autres scripts ajoutés ou modifiés :

  • [racine]\plugins\content\DirectPHP\widgets : répertoire sous lequel sont placés les widgets.
  • [racine]\modules\mod_rapid_contact\mod_rapid_contact.php : module de contact.
  • [racine]\templates\yoo_enterprise\layouts\template.php : couplage avec Google Analytics.

Images retravaillées ou ajoutées :

  • [racine]\templates\yoo_enterprise\images\variations\blackred\menu_level1_item.png : menu retravaillé.
  • [racine]\templates\yoo_enterprise\images\variations\blackred\module_box_corners.png : en-tête des modules retravaillé (on dit bien un en-tête, j'ai vérifié!).
  • [racine]\templates\yoo_enterprise\images\variations\red\header-bg.gif : background du logo ajouté.
  • [racine]\templates\yoo_enterprise\images\variations\blackred\yoosearch\header_bg.png : en-tête des résultats de recherche retravaillé.

Configuration du rendu visuel des articles

Les problèmes rencontrés ont porté principalement sur le paramétrage du rendu visuel des articles. Il faut savoir que joomla 25 fait intervenir trois niveaux de configuration et que c'est l'un des trois qui s'appliquera en fonction des règles de gestion définies ci-dessous.

Premier niveau de configuration des articles :

  • Caractéristique : le premier niveau s'applique à toutes les articles du site.
  • Chemin d'accès : Menu principal :: Content > Article Manager
  • Bouton : Options

Deuxième niveau de configuration des articles :

  • Caractéristique : le deuxième niveau surcharge le premier niveau.
  • Chemin d'accès : Menu principal :: Menus > [menu à ouvrir] > [lien à ouvrir]
  • Slider : Article Options et Page Display Options

Ce niveau de configuration s'applique aux articles qui sont pointés par un menu et il s'impose au premier niveau de configuration. Si par exemple, un lien est configuré pour ne pas afficher le titre d'un article alors que le premier niveau indique le contraire, le titre ne sera pas affiché.

Troisième niveau de configuration des articles :

  • Caractéristique : le troisième niveau surcharge le premier niveau mais pas le deuxième.
  • Chemin d'accès : Menu principal :: Content > Article Manager > [article à ouvrir]
  • Slider : Article Options

Ce niveau de configuration s'applique aux articles qui sont affichés par un Blog et il s'impose au premier niveau de configuration. Si par exemple, un article est configuré pour ne pas afficher son titre alors que le premier niveau indique le contraire, le titre ne sera pas affiché.

Si un article est à la fois pointé par un menu et affiché par un Blog c'est la configuration du menu qui l'emportera.

Configuration du Show Page Heading

  • Problème : le titre des articles est préfixé par le libellé des liens qui les affichent.
  • Champ concerné : Show Page Heading.
  • Chemin d'accès : Menu principal :: Menus > [menu à ouvrir] > [lien à ouvrir]
  • Slider : Page Display Options.
  • Solution : activer l'option Yes puis réactiver l'option No.

Configuration du Show Title

  • Problème : pas de contrôle sur l'affichage du titre des pages.
  • Champ concerné : Show Title.
  • Chemin d'accès : Menu principal :: Menus > [menu à ouvrir] > [lien à ouvrir]
  • Slider : Article Options.
  • Solution : mise en place du contrôle dans le script concerné.
  • Chemin : [racine]\templates\yoo_enterprise\warp\systems\joomla\layouts\com_content\article\default.php.

Remarque : le script concerné est une surcharge du script défini par défaut, provenant du template.