Votre site Joomla est en version 2.5 et vous avez remis à plus tard son transfert en version 3. Et cela :
- Peut-être par manque de temps ?
- Peut-être par manque de connaissances ?
- Car vous considérez que ce n'est pas une priorité ...
Pourquoi évoluer vers Joomla 3.x ?
1. L'argument de la Sécurité :
Joomla 2.5 n'évolue plus et ses failles de sécurité sont désormais bien connues. A partir de Joomla 3.4, un code "UploadShield" a été intégré, qui permet de détecter la plupart des ajouts malveillants en examinant le nom et le contenu des fichiers. Récemment encore, nous avons vu à quel point il était important de tenir sa version Joomla à jour; en effet, une faille de sécurité dans la version 3.6.3 permettait de créer un compte Administrateur.
2. L'argument de la Rapidité :
Même si l'impact sur la rapidité de chargement du site est bien moins importante que, par exemple, la qualité de l'hébergement (cf. notre dossier Quel hébergeur et hébergement Joomla 3.x faut-il choisir ?), Joomla versions 3.x a été mesuré comme 15% plus rapide que les mêmes sites en version 2.5.
De plus, à partir de la version 3.5, Joomla peut fonctionner (sous réserve de compatibilité des composants de votre site), avec la version 7 de PHP. En raison de l'optimisation de PHP 7, cette évolution a un fort impact sur la vitesse de chargement du site (jusqu'à 40% environ). C'est d'autant plus de signes positifs envoyés à Google pour votre référencement.
3. L'argument de la Fiabilité / Evolutivité :
Les éditeurs de composants ne proposent plus d'évolutions pour Joomla 2.5. Ces évolutions (nouvelles fonctionnalités, corrections de bugs) sont désormais uniquement incluses dans des versions d'extensions compatibles avec Joomla 3.x. Egalement, les nouveaux composants ne sont proposés que sous Joomla 3.x.
Enfin, au vu du choix fait récemment par la Team Joomla de procéder par montée de version progressive (et non plus par STS / LTS), les migrations entre versions majeures (Joomla 3 => 4 => 5) devraient être facilitées et s'apparenter à de simples mise à jour.
Voici une liste non exhaustive de fonctionnalités utiles disponibles uniquement avec Joomla 3.x :
- mises à jour : notification de nouvelle versions (Joomla et composants), mise à jour simplifiée pour Joomla et tous les composants (ce qui n'exclut pas une sauvegarde par précaution). On peut également effectuer une installation "A partir du Web" directement depuis le Joomla Extension Directory, sans téléchargement d'une archive.
- installation de Joomla : procédure simplifiée et initialisation multilingue possible dès l'installation.
- une administration plus ergonomique : affichage responsive, uniformisation des écrans, boutons On/Off en Vert/Rouge, la fonction glisser-déposer généralisée, des infos-bulles plus explicites, des critères de sélection du contenu enrichis...
- une administration plus fonctionnelle :
. pour les modules : afficher la liste des modules pour une page donnée
. pour les éléments de menu : afficher et trier tous les éléments de menu tous menus confondus
. pour les articles : afficher en standard un module dans un article
. pour les catégories : afficher le nombre d'articles publiés/supprimés/archivés, nombre cliquable
. pour les groupes d'utilisateurs : afficher le nombre d'utilisateurs, nombre cliquable - une gestion des modules en front-end et avec la possibilité de leur associer des droits utilisateurs
- conserver l'historique des dernières versions d'un article (Paramètres Articles/Onglet Agencement/Activer l'historique à Oui)
- une gestion des TAGS très performante permettant un affichage de tous les contenus auxquels sont associés des tags (articles, fils d'actualités, extension intégrant les tags...) et donc d'avoir une transversalité entre tous vos contenus
- sécurité renforcée : intégration de No Captcha V2 pour les formulaires, possibilité de se connecter à l'administration avec une double clé d'authentification (dont Google Authenticator).
- maintenance facilitée : la possibilité d'exporter dans un fichier les informations "Système" et les envoyer à un support
- des conflits d'extension évités : la bibliothèque JQuery remplace celle de Mootools, ce qui permet d'éliminer un bon nombre de conflits entre extensions.
- en SEO, la possibilité de mettre en oeuvre les microdatas, selon une structure HTML proposée par Google pour afficher des "Rich Snippets".
La migration de Joomla 2.5 vers Joomla 3 n'est en général pas complexe, mais nécessite un peu de temps, notamment pour le template, et certaines précautions. Vous pouvez :
- la réaliser vous-même ci-dessous
- confier à Nosyweb cette mission et bénéficier de nombreux avantages tels que :
- Optimisations SEO
- Audit de sécurité
- Licences d'extensions comprises
- Refonte graphique
- HTTPS
Effectuer la migration vers Joomla 3.x vous-même :
1- Actions préalables sous Joomla 2.5
Effectuez une sauvegarde des fichiers ET de la base de données.
Ou encore mieux, créez un staging (environnement de développement / test) si votre hébergeur vous en offre la possibilité (ex: SiteGround).
Assurez-vous que votre environnement corresponde aux préconisations techniques de Joomla 3
Mettez à jour votre Joomla 2.5 dans sa dernière version 2.5.28
Assurez-vous que la structure des tables de votre base de données est à jour dans Extensions/Gestion des Extensions/Base de données. Si ce n'est pas le cas, effectuez la correction proposée, vérifiez à nouveau la base de données, et effectuez une nouvelle sauvegarde des fichiers ET de la base de données (supprimez la sauvegarde initiale).
Dans Site/Configuration/Serveur, mettez le rapport d'erreurs à "Maximum"
Désactivez tout plugin que savez inutile
Il est peut-être aussi l'occasion de désinstaller tout composant non utilisé, ne pas oublier de désinstaller aussi les modules et plugins associés (Extensions / Gestion des Extensions / Gestion). Pour certains composants qui s'installent en "Paquet", il est recommandé de sélectionner "Paquet" dans le "Sélectionner un type", ce qui permet une désinstallation exhaustive de l'ensemble des extensions concernées.
Veillez bien à ne pas toucher aux extensions du noyau Joomla (auteur = "Joomla Project")
Désactivez le plugin "Système - Se souvenir de moi" ou en anglais "System - remember me"
Effectuez l'inventaire de vos composants réellement actifs et de leur compatibilité :
1- Allez dans Extensions/Gestion des Extensions/Mises à jour : ceci permettra d'effectuer une mise à jour de certains composants dans leur dernière version pour Joomla 2.5 (par exemple JCE).
Tous les composants ne sont pas détectés par cette procédure, d'où la nécessité de suivre la démarche au point 2 ci-dessous.
2- Recherchez les dernières versions de vos différentes extensions et identifiez les 3 cas suivants (sauf cas particuliers) :
- l'éditeur propose un package commun Joomla 2.5 et 3 => mettez à jour ce composant AVANT migration
- l'éditeur propose 2 packages séparés => désinstallez le composant AVANT migration et installez sa version en Joomla 3 APRES migration
- plus rare, l'éditeur ne propose pas de version en Joomla 3, il vous faudra abandonner/supprimer ce composant et trouver son équivalent fonctionnel sous Joomla 3
Testez votre site pour bien vérifier que ces actions sur les composants ne l'ont pas affecté.
3- L'impact de la migration sur le template
Il est possible que des adaptations soient nécessaires après migration, voire qu'un nouveau template soit mis en place.
De nombreux cas sont possibles et sont bien exposés à cette adresse.
Compte-tenu de la diversité des situations possibles, la présente démarche ne porte pas sur la migration du template mais uniquement sur la migration des données et de leur intégrité.
Avant de lancer le traitement, supprimez le cache en Site / Maintenance / Purger le cache et Purger les fichiers expirés.
Après toutes ces démarches il est pertinent d'effectuer une seconde sauvegarde, juste avant de lancer le traitement de passage à Joomla 3.x
Mettre le site Hors Ligne - non nécessaire si vous travaillez sur un environnement de développement de type "Staging" ou évidemment si vous lancez le traitement sur une copie en local sous Wamp
2- Lancement du traitement pour passer en Joomla 3.x
1- Migration 2.5.28 vers Joomla 3.5.1 (puis en 3.x)
Allez dans Composants / Mises à jour de Joomla, vous arriverez probablement sur cet écran:
Si ce n'est pas le cas cliquez sur le bouton "Paramètres" en haut à droite de l'écran, et choisissez "Support à court terme STS" puis Enregistrez.
Cliquez sur "Mettre à jour" pour transférez vers Joomla 3.5.1
Laissez dérouler le traitement :
Lorsque le traitement est terminé, il est possible d'obtenir un écran blanc. Il vous suffit d'indiquer l'url classique d'administration "http://www.monsite.fr/administrator".
Si, lorsque vous allez dans un des contenus ou paramétrages, vous vous retrouvez avec 2 lignes d'anomalies dont :
"fatal error: Call to a member function get() on a non-object in xxxxxx\administrator\components\com_installer\controller.php on line 37"
La solution est la suivante :
- Renommez le répertoire "libraries" en "libraries_OLD" de votre site via FTP
- Téléchargez en local la dernière version de Joomla 3.x
- Extraire tout
- Copiez/collez le répertoire "libraries" de la version 3 locale via FTP vers votre site
Pour obtenir l'interface d'administration Joomla 3 :
2- Finaliser la migration (Joomla 3.5.1 vers Joomla 3.x)
Allez dans Extensions / Bases de données et cliquez sur le bouton "Correction" pour mettre à jour la base de données
Si vous avez le message :
"1054 Unknown column 'title_alias' in 'p_content' SQL=ALTER TABLE 'p_content' CHANGE 'title_alias' 'title_alias' VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
allez dans /administrator/components/com_admin/sql/updates/mysql et supprimez tous les fichiers sql de Joomla antérieurs à Joomla 3 (Joomla 1.5 à 2.5.28)
Relancez la correction de la base de données, pour normalement obtenir cet écran :
3-Actions post-installation
Activez le plugin "Se souvenir de moi"
Réinstallez les composants désinstallés avant migration
Installez d'éventuels nouveaux composants
Allez dans Extensions / Découvrir et affichez d'éventuelles nouvelles extensions du coeur Joomla à installer
Affichez le front-end et vérifiez que les seules éventuelles anomalies sont liées au template
Effectuez une sauvegarde avant l'étape suivante
Effectuez une éventuelle migration de Joomla 3.x à 3.y
Revérifiez la structure de la base de données
Revérifiez les extensions à installer, souvent une mise à jour des fichiers de langues est proposée
Par précaution, videz le cache de vos navigateurs ayant servi à afficher votre site sous Joomla 2.5
Testez le template et éventuellement effectuez les ajustements
Remettez le rapport d'erreurs de "Maximum" en "Normal"
Si tout est OK remettez le site En ligne