Joomla LogoJ'ai profité de ces grandes vacances au mois de juillet 2023 pour faire la migration de mon site perso sous Joomla 3 vers Joomla 4 car le support de la version 3 s'arrête en août 2023. Évidemment, j'ai repoussé jusqu'au bout car je sais que ce n'est pas sans risque et assez pénible surtout quand on a un site qui fonctionne correctement depuis des années (ce site a 10 ans... déjà ... et beaucoup d'articles "ressources" que je ne voudrais pas voir disparaître bêtement).

Je garde ici des traces de mes manipulations car étant "responsable" bénévole de 3 autres sites d'associations sous Joomla, ça me resservira...

I- Préparation avant la migration :

  1. Mettre à jour son site avec la dernière version de Joomla 3 (dans mon cas passer à la version 3.10.12) ainsi que des extensions.
  2. Mettre à jour la structure des bases de données.
  3. Faire une sauvegarde totale du site à l'aide de la dernière version mise à jour de l'extension Akeeba (version 8.3.2 qui est pour Joomla 3) : je vous dis pas combien de fois ça m'a sauvé la mise car la migration a échouée plusieurs fois...
  4. Chez son hébergeur remplacer la version PHP 7.4 par une plus récente (j'ai choisi la 8.1).
  5. Trouver des infos décrivant cette migration ou des infos sur la nouvelle version de Joomla 4 :
  6. FAIRE un GRAND NETTOYAGE des modules, plug-in et templates (ATTENTION, il ne faut pas supprimer FOF !!!) car ce sont eux qui mettent le bazar et font planter la migration : c'est là qu'on voit qu'il faut rester le plus simple possible et proche de la version native de Joomla en limitant au maximum le recours à des composants externes (et je vous dis pas ce qu'on accumule au fil des années sans se souvenir exactement à quel besoin ces extensions répondaient...). Pour un site perso, c'est tout à fait possible car je suis le seul utilisateur.
  7. Choisir un template "migrable" comme Protostar (il sera remplacé par le nouveau template Cassiopeia) pour le frontend et "Isis" pour le backend : supprimer les Purity de Joomlart ou autres.
  8. Une fois, tout ce nettoyage réalisé, refaire une sauvegarde avec Akeeba pour éviter de refaire les manips précédentes si on doit refaire une migration après un plantage.
  9. Supprimer le paquet Akeeba et toutes ses extensions et installer l'outil de nettoyage complet d'Akeeba "Magic Eraser".
  10. Passer à la migration en choisissant "Prochaine version" pour le paramètrage de la mise à jour de Joomla.
  11. Suivre les recommandations qui s'affichent et supprimer toutes les extensions qui ne sont pas indiquées comme sans risque. Pour ma part, il a fallu supprimer les extensions "Attachments", "JCE", "Phoca Download", ... Se placer dans le dossier de configuration et cliquer régulièrement en bas à gauche sur la notification de passage à Joomla 4.3.3 pour élimier les extensions au fur et à mesure.
  12. Vérifier que Joomla 3 fonctionne en front-end et back-end après chaque suppression. Si ce n'est pas le cas, on est partie pour réinstaller sa sauvegarde Akeeba. Attention, il est nécessaire de supprimer tous ses fichiers  à la racine de Joomla pour ensuite y placer KickStart + fichier JPA de sauvegarde.
  13. Une fois qu'on pense avoir supprimer tout ce qui pourrait géner la migration, on lance la migration.
  14. Si tout se passe bien, on pourra avoir accès au front-end ainsi qu'au back-end. Si ce n'est pas le cas, merci Akeeba pour restaurer Joomla 3.10.12 et recommencer la migration.

II- Réglages après la migration :

Une fois que la migration est passée (ouf..), il est nécessaire de faire quelques manips supplémentaires :

  1. Suivre les recommandations indiquées dans les messages de post-installation sauf celui concernant gzip car il empêche l'affichage des images dans les articles.
  2. Installer Akeeba 9 qui est la version pour Joomla 4.
  3. Installer JCE extension mais SUPPRIMER tous les profils existants (qui sont des restes de Joomla 3 dans la base de données) et désinstaller JCE sinon on a des erreurs (encodage ou autre) et JCE n'apparaît pas pour éditer les articles. Ensuite on réinstalle JCE extension + JCE Mediabox. Page utile sur JCE : https://alphadesign.fr/blog/41-jce-editeur-de-texte-joomla.html
  4. Il faut paramétrer le template d'origine Cassiopeia, pour faire apparaître les menus, le module de connexion, flux RSS sur la page d'accueil, menu utilisateur... Voir cette page pour plus de détails : https://web-eau.net/tutoriels-joomla/cassiopeia
    https://magazine.joomla.org/all-issues/february-2022/joomla-4-cassiopeia-template-a-bunch-of-tips-tricks
  5. À suivre ...

III- Conclusion :

La migration ne s'est pas faite sans mal et sans pertes ... D'où la précaution de limiter au maximum les extensions extérieures à Joomla pour les prochaines migrations !

En effet, sous Joomla 3, j'utilisais l'extension "Attachments" pour joindre des fichiers téléchargeables au bas des articles. Malheureusement cette extension a disparu sous Joomla 4. Du coup, plus de fichiers téléchargeables au bas de mes articles... Il va falloir que je trouve une nouvelle extension pour avoir cette fonctionnalité pour mes prochains articles (je ne compte pas "corriger" les anciens articles sauf si on me le demande...). J'ai repéré celle-ci qui est gratuite : DPAttachments https://joomla.digital-peak.com/download/dpattachments. À voir...

Je recherche aussi un "slider" pour faire défiler des images avec du texte pour le haut de ma page d'accueil. J'utilisais "Joomspirit Slider" qui n'est pas utilisable avec Joomla 4. J'ai aussi repéré "Slideshow CK" https://extensions.joomla.org/extension/photos-a-images/slideshow/slideshow-ck/ qui semble pas mal avec beaucoup de fonctionnalités. À voir aussi ...