La migration de Joomla3 vers Joomla4 nécessite une démarche rigoureuse et ordonnée.
Rigoureuse car toutes les extensions (composants, modules, plugins, template) doivent être passées en revue pour identifier la compatibilité avec Joomla4.
Ordonnée car il faut suivre un plan de marche pas à pas avec des sauvegardes aux étapes clés.

0-Préalables à toute migration Joomla 3 vers 4

  • Mettre le site en Joomla 3.10.12
  • Vérifier que le structure de la base de données est à jour en Extensions / Gérer / Base de données.
  • Vérifier que la version de PHP est 7.4 au minimum => Joomla3 et Joomla4 fonctionnent avec cette version de PHP.

1- Effectuer une sauvegarde

2- Évaluer chaque extension que vous connaissez

1- Inventaire des extensions (composant, modules, plugins, templates)
2- Désinstallez des extensions inutiles, et si possible, vérifiez la suppression de leurs fichiers sous FTP, et de leurs tables au sein de la bdd sous PHPMyadmin

Si une extension essentielle n'est pas compatible :
. soit vous reportez votre migration dans l'attente de la version compatible avec Joomla4 fournie par l'éditeur
. soit vous recherchez une extension alternative et compatible Joomla4, lorsque c'est possible, avec analyse des impacts

Le template est une extension à part entière qu'il faut analyser avec soin :
. soit il est récent et il est peut-être déjà compatible Joomla4
. soit votre version de template n'est pas compatible mais une version récente l'est, il vous faudra l'acheter. Dans ce cas une simple installation rendra le template compatible Joomla4.
. soit votre template n'existe pas sous une version compatible Joomla4; dans ce cas il vous faudra acheter un nouveau template. 

Dans le cas où vous n'avez pas de développements spécifiques d'écrans, un changement de template nécessite un travail certain mais on ne refait pas le site : par exemple revoir les positions des modules, en général rechercher et mettre en place des fonctionnalités associées à l'ancien template et qu'il faut remplacer.
Un changement de template va permettre, d'apporter une plus grande modernité au site. On se retrouve là dans un contexte de refonte qui peut être l'occasion de revoir l'ergonomie du site ainsi que certains aspects fonctionnels.
A noter que pour un changement de template, il faut obligatoirement un site de test (cela prend un certain temps).

N'hésitez pas à   me contacter pour toute question relative à un changement de template.

Pour toute prestation de migration avec changement de template, un template professionnel compatible Joomla4 est inclus,
et la formation pour le maintenir.

Note : pour savoir si une extension est compatible Joomla4, il faut consulter le site de l'éditeur et surtout visualiser la "changelog" afin de vérifier si la version dont on dispose est compatible Joomla4.

Cas particulier d'Akeeba Backup : la version Joomla 3 de ce composant ne sera pas bloquante pour la migration. Après migration ce composant vous proposera une interface pour installer la version Joomla 4 et supprimer la version Joomla 3, par simple click.

 

3- Alléger la base de données

1- Suppression des articles + éléments de menu + modules obsolètes et vidage de toutes les corbeilles
2- Vider les tables "finder_" sous PHPMyadmin liées aux recherches sur le site, dont le détail est inutile
3- Optimiser les tables si nécessaire (sélectionner toutes les tables sous PHPMyadmin et sélectionner l'action "Optimiser")
4- Supprimer les backups Akeeba anciens

 

4- Effectuer une sauvegarde

5- Créer un environnement de test

La création d'un environnement de test vous permettra de tester la migration sans impacter le site de production. Pour des sites statiques, cette précaution est moins importante que pour un site dynamique de type boutique en ligne. Mais, par expérience, surtout lorsque le site est ancien, il arrive souvent d'oublier une extension cachée qui va perturber la migration. Planter le site de test n'est pas un souci, planter le site de production, même en ayant plusieurs sauvegardes, reste un stress, qu'il vaut mieux éviter.

Je conseille vivement de créer un environnement de test sur votre serveur. En effet, vous pouvez le créer en local sur votre PC avec un outil tel que WAMPP, mais cela ne sera pas aussi fiable que sur votre serveur avec les paramètres de votre hébergeur.

Démarche de création d'un environnement de test:

  • Créer un sous-domaine et son dossier, rattacher le sous-domaine au dossier
  • Créer la bdd associée à ce sous-domaine
  • Copier les fichiers du site de production vers le dossier du sous-domaine
  • Exportez la bdd de production pour l'importer dans la bdd du site de test
  • Modifier le fichier "configuration.php" du site de test avec les paramètres d'accès à la nouvelle bdd : $host, $user, $password où $host est fourni par l'hébergeur et $user et $password ont été créés par vous lors de la création de la bdd du site de test.
  • Après avoir vérifié le site de test dans un navigateur (vérifiez que le site de test pointe bien vers sa propre bdd et ses propres fichiers), faites une sauvegarde du site de test.

Si vous n'êtes pas familier avec ces démarches ou si, en consultant cette liste d'auto-évaluation, vous constatez que certaines notions vous échappent, je peux intervenir pour réaliser cette étape cruciale pour votre migration.

  Contact démarche migration Joomla4

 

6- Lancer le test de migration

Actions préalables avant de lancer la migration

Supprimer le cache avant de lancer le traitement de migration.
Mettre le template "Beez" comme template par défaut ou votre template compatible, au moment de lancer la migration. 

Puis en Composants / Mise à jour Joomla, allez en "paramètres" en haut à droite, puis sélectionnez "Le prochain Joomla" pour "Canal de mise à jour" et Enregistrez.

Onglet "Vérification avant mise à jour"

Automatiquement Joomla effectue un inventaire des extensions et les place dans 3 catégories, qui ne sont malheureusement pas totalement fiables.
extensions informations de mise a jour indisponible : comme son nom l'indique, toutes les extensions listées ici peuvent constituer un blocage dans la migration. Il faut vérifier une par une leur compatibilité.
extensions mises a jour requises : certaines extensions listées ici peuvent être tout de même compatibles, il faut bien vérifier la compatibilité de votre version.
extensions aucune mises a jour requises : là normalement on va se fier à cette liste.

Une fois qu'on s'est assuré d'avoir vérifié et résolu la compatibilité de toutes les extensions avec Joomla4, on passe à l'onglet suivant "Mise à jour en direct"

Onglet "Mise à jour en direct"

Cet onglet présente les plugins systèmes qui peuvent présenter un blocage lors de la migration.

plug ins desactiver avant joomla4

Il faut vérifier qu'on n'a pas oublié d'en supprimer certains et les autres il faut impérativement les désactiver.

Pour lancer la migration il faut cocher la case "J'accepte les avertissements ..." puis cliquer sur le bouton "Mettre à jour".

 

7- Après migration

Si toutes les étapes ci-dessus ont été suivies avec un inventaire exhaustif des extensions, la migration devrait bien se passer.

Si le site n'est pas accessible dans le navigateur, essayez de supprimer ou renommer le fichier "administrator/cache/autoload_psr4.php".
Egalement, si le site présente un message d'erreur, le copier et effectuer une recherche sur internet. Certaines situations sont réparables, d'autres indiquent qu'une extension a bloqué le processus de migration, il faut restaurer la sauvegarde avant migration, et traiter cette extension, puis relancer la migration.
Si aucun message n'apparaît, il faut activer le "debug" en affichage "maximum", dans la configuration.
Si aucun message n'est explicite, il faut restaurer la sauvegarde avant migration et rechercher à nouveau l'extension problématique. Vous pouvez aussi me solliciter pour une assistance concernant votre migration Joomla à ce moment là.

Dans la nouvelle interface d'administration, a aller en Composant / Akeeba et effectuer la manipulation proposée pour mettre à jour ce composant spécifique.

Vérifier les extensions et mettez à jour en priorité le fichier de langues, sa non conformité peut être source d'erreur ou de conflits.

Que faire de la migration de votre site de test

Suite à la réussite de la migration de votre site de test, vous avez 2 solutions.

1- si votre site est statique, copier les fichiers et la bdd du site de test vers le site de production
2- si votre site est dynamique, et que vous avez rigoureusement noté toutes les nettoyages d'extensions que vous avez effectué sur le site de test, vous pouvez lancer le traitement de migration en production, en mettant le site Hors-ligne en Configuration. Je conseille 2 sauvegardes préalables, 1 avec Akeeba, 1 avec transfert des fichiers par FTP et export de la bdd par PHPMyadmin => 2 précautions valent mieux qu'une).

 

Informations officielles de Joomla concernant la migration Joomla4

https://docs.joomla.org/Planning_for_Mini-Migration_-_Joomla_3.10.x_to_4.x/fr
https://docs.joomla.org/Joomla_3.x_to_4.x_Step_by_Step_Migration/fr