Introduction

Bonne nouvelle pour le passage de Joomla 5.4.x à 6.x, il s'agit d'une mise à niveau, pas d'une migration. Pourquoi ? Pour deux raisons principales :

  1. Les extensions Joomla 5 (J5) qui ont supprimé toutes les dépréciations de code, qui utilisent du code Joomla à jour, et qui ne nécessitent pas l'activation du plugin Comportement - Rétrocompatibilité, fonctionneront dans Joomla 6 (J6)
  2. La plupart des autres fonctionneront avec le nouveau plugin Comportement - Rétrocompatibilité 6 activé

Cette documentation reflète le processus simplifié en combinant la planification et les étapes détaillées en un seul document. Néanmoins, certaines compétences seront nécessaires. Veuillez consulter l'Auto-évaluation pour déterminer si vous devriez ou non effectuer la mise à niveau vous-même.

Planification 5.4.x vers 6.x

Hébergement/Spécifications techniques

1. Déterminez si votre environnement d'hébergement répond aux exigences. Vous ne pourrez pas effectuer la mise à niveau vers Joomla 6 si l'environnement de votre serveur ne répond pas aux exigences techniques minimales. L'option de mise à niveau n'apparaîtra pas dans le composant Mise à jour de Joomla.

  • PHP 8.3
  • MySQL 8.0.13
  • MariaDB 10.6.x
  • PostgreSQL 14.0

Vous pouvez vérifier les informations de votre système sur votre site Joomla 5 en cliquant sur Système -> Informations système. Contactez votre hébergeur si votre serveur ne répond pas aux exigences.

Click System, and then System Information

Voici un exemple d'environnement qui répond aux exigences techniques. Il montre MySQL 8.0.43, PHP 8.3, Joomla 5.4.x, et le plugin Rétrocompatibilité désactivé.

System Information Showing Joomla Version PHP Version DB Type DB Version BC Compatibility Plugin Disabled

2. Vérifiez toutes vos extensions pour vous assurer de leur compatibilité avec Joomla 6. Il existe un certain nombre de scénarios d'extensions tierces pour cette mise à niveau.

  1. L'extension peut être compatible avec J5 et J6 SANS l'utilisation du plugin de rétrocompatibilité.
  2. L'extension peut être compatible avec J5 et J6 AVEC l'utilisation du plugin de rétrocompatibilité.
  3. L'extension peut sembler fonctionner dans J6, mais lorsque vous essayez de l'utiliser, elle est défectueuse.
  4. L'extension peut casser l'ensemble du site.

Ne vous inquiétez pas ! Ce n'est pas aussi grave que cela en a l'air ! Commençons par parler des plugins de rétrocompatibilité.

Les plugins Rétrocompatibilité

Le plugin Comportement - Rétrocompatibilité 6 inclus avec Joomla 5.4.x vise à améliorer la rétrocompatibilité entre Joomla 5 et Joomla 6. Le plugin aide les extensions tierces à utiliser des classes qui ne sont plus incluses dans Joomla 6. Il est implémenté comme un type de plugin "Comportement" afin de garantir qu'il soit chargé avant tout autre plugin.

Plugin page showing the backward compatibility plugins

L'image ci-dessus montre deux plugins Rétrocompatibilité :

  1. Comportement - Rétrocompatibilité et
  2. Comportement - Rétrocompatibilité 6

Le plugin Comportement - Rétrocompatibilité (sans numéro dans le nom du plugin) est fourni avec Joomla 4.4.x pour créer une couche de rétrocompatibilité pour les extensions de Joomla 5. Ce plugin doit être désactivé avant la mise à niveau vers J6.

Le plugin Comportement - Rétrocompatibilité 6 est fourni avec Joomla 5.4.x pour créer une couche de rétrocompatibilité pour les extensions de Joomla 6.

Ils ne peuvent pas être activés tous les deux en même temps lors de la mise à niveau vers J6.

Avant d'effectuer la mise à niveau de Joomla 5 vers Joomla 6, le plugin Comportement - Rétrocompatibilité (sans numéro dans le nom du plugin) doit être désactivé. Vous devez vous assurer que toutes vos extensions tierces peuvent fonctionner sur votre site web sans que le plugin Comportement - Rétrocompatibilité soit activé avant de pouvoir effectuer la mise à niveau vers J6.

Après avoir vérifié que chacune de vos extensions tierces est conforme et pleinement fonctionnelle dans J5 sans que le plugin Comportement - Rétrocompatibilité soit activé, vous pouvez le désactiver. Cela dit, nous vous recommandons la prudence. Avant de désactiver le plugin de rétrocompatibilité, il est conseillé de faire l'une des deux choses suivantes :

  1. Faites-le sur un site de développement/test. Ainsi, si vous avez accidentellement oublié une extension qui rend votre back-end inaccessible, cela ne mettra pas votre site de production hors service.
  2. Assurez-vous d'avoir accès à la base de données. Ainsi, vous pourrez réactiver rapidement le plugin via la base de données si nécessaire. Plus d'informations à ce sujet ci-dessous.

Lors d'une mise à niveau vers J5.4.x, le plugin Comportement - Rétrocompatibilité 6 sera activé automatiquement. Dans les nouvelles installations de J6, le plugin de rétrocompatibilité sera désactivé par défaut.

Le plugin Comportement - Rétrocompatibilité 6, qui prend en charge les extensions fonctionnant sous J5, restera en place tout au long de J6. Dans J7, les extensions J5 ne seront plus rendues rétrocompatibles grâce au plugin. Cela laisse aux développeurs d'extensions deux années supplémentaires pour rendre leurs extensions compatibles avec J6 sans le plugin de rétrocompatibilité. L'intention est qu'à chaque sortie de cycle de vie, un plugin de rétrocompatibilité prenne en charge le cycle de vie précédent jusqu'au cycle de vie suivant.

Peut-on un jour désactiver le plugin Comportement - Rétrocompatibilité 6 dans J6 ? Excellente question. Après avoir déterminé que chacune de vos extensions tierces est conforme et pleinement fonctionnelle sans que le plugin de rétrocompatibilité soit activé, vous pouvez désactiver le plugin Comportement - Rétrocompatibilité 6. Cela dit, nous recommandons la prudence. Avant de désactiver le plugin Comportement - Rétrocompatibilité 6, il est suggéré de faire l'une des deux choses suivantes :

  1. Faites-le sur un site de développement/test. Ainsi, si vous avez accidentellement oublié une extension qui rend votre back-end inaccessible, cela ne mettra pas votre site de production hors service.
  2. Assurez-vous d'avoir accès à la base de données. Ainsi, vous pourrez réactiver rapidement le plugin si nécessaire. Plus d'informations à ce sujet ci-dessous.

Vérification pré-mise à jour et Système -> Gestion des extensions

En théorie, la vérification pré-mise à jour vous indiquerait si vos extensions tierces sont compatibles avec J6. Cependant, cette vérification n'est utile que si tous les développeurs d'extensions ont fait en sorte que leur extension reflète sa compatibilité. Dans un monde parfait, la section Extensions de la vérification pré-mise à jour vous indiquerait si une extension :

  • Peut être mise à niveau sans que le plugin de rétrocompatibilité soit activé
  • Peut être mise à niveau avec le plugin de rétrocompatibilité activé
  • Nécessite une mise à jour avant la mise à niveau de J5 vers J6
  • Est totalement incompatible

Les tests ont révélé des divergences entre les extensions compatibles et celles qui ne le sont pas. Il ne s'agit pas d'un problème lié au composant de vérification pré-mise à jour. C'est plutôt que les développeurs d'extensions transmettent, via leurs extensions, les informations qui alimenteraient correctement la vérification pré-mise à jour. Si leurs extensions ne sont pas codées pour fournir les informations correctes à la vérification pré-mise à jour, il y a très peu de choses (voire rien) que la vérification pré-mise à jour, ni même le Projet Joomla!, puissent y faire. Le site Web du développeur de l'extension tierce est une bonne source d'information pour vérifier comment l'extension spécifique doit être gérée lors de la mise à niveau de J5 vers J6.

L'image plus bas dans cette section montre un exemple du composant de vérification pré-mise à jour dans Joomla 5.4.x pour la section Extensions.

La section du haut affiche les extensions nécessitant une mise à jour. Veuillez vous rendre dans Système -> Mise à jour -> Extensions et mettre à jour vos extensions. La section du milieu affiche les extensions pour lesquelles les informations de mise à jour ne sont pas disponibles auprès du développeur. Vous ne saurez pas si elles sont compatibles ou non sans les tester ou contacter le développeur.

La section du bas affiche les extensions pour lesquelles aucune mise à jour n'est nécessaire. Cela signifie que les extensions indiquent à Joomla qu'elles sont compatibles avec Joomla 6. Il n'est pas précisé si elles nécessitent le plugin de rétrocompatibilité ou non.

Veuillez noter que ces extensions ne sont pas recommandées par le Projet Joomla. Ces extensions sont présentées uniquement à titre d'exemple. Elles ont été choisies au hasard dans le JED à des fins de test.

Pre-update Check Extensions Section

Il est recommandé de n'utiliser la section Extensions du composant de vérification pré-mise à jour que comme un aperçu de très haut niveau, et non comme une source de vérité à 100 %. En d'autres termes, vous ne pourrez peut-être pas faire confiance au composant de vérification pré-mise à jour selon les extensions que vous utilisez.

Quelle est alors la source de vérité ? Système -> Gestion -> Extensions

Go to System, then Manage, Extensions

Depuis l'écran Extensions : Gestion, vous pourrez voir toutes les extensions tierces que vous utilisez sur le site. Dans la capture d'écran ci-dessous, vous voyez l'écran principal. Dans la colonne Auteur, vous pouvez voir le nom d'un développeur d'extensions populaire sur un certain nombre de lignes. Vous pouvez également voir l'auteur du Projet Joomla sur un certain nombre de lignes.

The main Manage Extensions page

Vérifiez vos extensions tierces. Ensuite, vous devrez déterminer si elles sont compatibles avec J6 (avec ou sans le plugin Rétrocompatibilité) ou non. Si ce n'est pas le cas, la mise à niveau échouera.

Trois façons de vérifier la compatibilité de vos extensions tierces avec J6

  1. Consultez le site Web du développeur.
  2. Faites une sauvegarde/copie de votre site J5, restaurez-la sur un sous-domaine, activez le débogage, suivez les étapes (ci-dessous) pour effectuer la mise à niveau vers J6. Voyez si quelque chose casse. Si c'est le cas, désactivez chaque extension qui génère une erreur en notant l'extension concernée. Vous devrez contacter le développeur à ce sujet puisqu'elle n'est pas compatible avec J6.
  3. Installez un pack J6 propre sur un sous-domaine, activez le plugin Comportement - Rétrocompatibilité, installez toutes les extensions que vous utilisez et voyez si elles fonctionnent.

REMARQUE : le JED (Joomla! Extensions Directory) affichera des indicateurs de compatibilité Joomla 6 pour les extensions compatibles avec ou sans l'utilisation du plugin Rétrocompatibilité.

Vous pourriez combiner ces approches. Commencez par une installation propre et testez vos extensions. Lorsque vous savez lesquelles fonctionnent ou non, vous pouvez travailler avec les développeurs pour savoir où ils en sont dans leur développement pour J6. ENSUITE, une fois que toutes vos extensions fonctionnent sur un site propre, vous saurez que vous pouvez tester une mise à niveau complète de J5.4.x vers 6.x.

Vous pouvez souhaiter déterminer si une extension fonctionne sans que le plugin Rétrocompatibilité soit activé. Si c'est le cas, vous aurez besoin d'un accès à la base de données. Prévoyez-le. Assurez-vous d'avoir accès à la base de données.

Après l'installation d'une nouvelle installation de J6, le plugin Rétrocompatibilité sera désactivé. Installez chaque extension une par une. Si cela casse votre site, activez le plugin Rétrocompatibilité via la base de données.

Le plugin Rétrocompatibilité se trouve dans la base de données, dans la table #__extensions. Il s'appelle plg_behaviour_compat6. Définissez le champ Enabled à 0 pour désactiver le plugin, et à 1 pour l'activer. En réactivant le plugin Rétrocompatibilité, vous pourrez peut-être retrouver l'accès au back-end de Joomla (tant que l'extension fonctionne avec le plugin Rétrocompatibilité).

OU

Vous pouvez désactiver des extensions individuelles dans la base de données afin de continuer à tester vos autres extensions pour voir si elles fonctionnent sans que le plugin de compatibilité soit activé. Ces entrées se trouvent dans la table #__extensions. Modifiez le champ Enabled à 0 pour désactiver l'extension.

Dans certains cas, lorsque vous installez dans J6 une extension qui n'est pas compatible, que le plugin Rétrocompatibilité soit activé ou non, vous devrez retrouver les entrées de cette extension dans la base de données (il peut y en avoir peu ou beaucoup) et les désactiver jusqu'à ce que vous puissiez retrouver l'accès au back-end. Ces entrées se trouvent dans la table #__extensions. Modifiez le champ Enabled à 0 pour désactiver l'extension. Une fois que vous pouvez de nouveau accéder au back-end de Joomla, vous pouvez la désinstaller proprement depuis Système -> Gestion -> Extensions. Contactez ensuite le développeur.

Cassiopeia et Weblinks

Cassiopeia

Cassiopeia restera le template frontal de Joomla 6. Vos personnalisations devraient fonctionner normalement, mais nous recommandons tout de même de les tester sur un site de développement pour s'en assurer.

com_weblinks

L'extension Weblinks fonctionne dans J6 sans que le plugin Rétrocompatibilité soit activé à partir de la version 5.4.0+. Weblinks Evolved dans le JCM. Weblinks sur le JED.

Essai préalable

Dans le cadre de votre planification, il est recommandé de tester votre mise à niveau sur un sous-domaine ou en local afin de vérifier qu'elle fonctionne parfaitement. Veillez à noter toutes les étapes nécessaires pour que votre mise à niveau se déroule parfaitement.

Une fois que vous avez testé votre mise à niveau sur un sous-domaine ou en local, et qu'elle fonctionne parfaitement, vous pouvez effectuer une sauvegarde de votre site de production et procéder à la mise à niveau de celui-ci. Les instructions étape par étape se trouvent ci-dessous.

Mise à niveau étape par étape

Le site que vous allez mettre à niveau doit répondre à toutes les exigences techniques et fonctionner sous Joomla 5.4.x pour pouvoir être mis à niveau. Si votre site ne fonctionne pas encore sous Joomla 5.4.x, mettez-le à jour vers la version 5.4.x avant de procéder à la mise à niveau vers J6.

  1. Suivez toutes les instructions de la section Planification (ci-dessus) avant de procéder à la mise à jour.

  2. Sauvegardez votre site web.

  3. Mettez à jour toutes les extensions qui doivent l'être.

  4. Désactivez ou désinstallez toutes les extensions qui ne sont pas compatibles avec J6.

  5. Activez le débogage (Configuration globale -> onglet Système -> paramètre Débogage système sur Oui).

  6. Sauvegardez à nouveau votre site web.

  7. Testez votre sauvegarde pour vous assurer qu'elle se restaure correctement. (Oui, faites-le. Vous vous sentirez mieux.)

  8. Allez dans Système -> Mise à jour -> Joomla

    Navigate to System, then Update Joomla

  9. Cliquez sur le bouton Paramètres dans la barre d'outils supérieure, à droite.

    The Options button in the Joomla Update Component

  10. Changez le canal de mise à jour pour Joomla Next.

    Change the Update Channel to Joomla Next

  11. Cliquez sur Enregistrer et fermer dans la barre d'outils supérieure.

  12. Si votre serveur répond aux spécifications techniques, vous verrez l'écran suivant avec des liens dans la barre latérale gauche pour les Paramètres requis, les Paramètres recommandés, et les Extensions.

    Sidebar of the Pre-update check

  13. Il y a de fortes chances que vos Paramètres requis et vos Paramètres recommandés soient corrects, car cet écran ne s'affichera pas si votre environnement ne répond pas aux exigences techniques. Les Extensions peuvent en revanche poser problème. Consultez la section Planification (ci-dessus) à propos de la vérification pré-mise à jour et des raisons pour lesquelles elle peut ne pas afficher de coche verte tout en ayant toutes les extensions compatibles. Vous avez déjà effectué vos tests (n'est-ce pas ?), vous savez donc déjà si elles sont compatibles ou non.

  14. Le plugin Rétrocompatibilité 6 est activé dans Joomla 5.4.x. Pour effectuer la mise à jour vers J6, le plugin Comportement - Rétrocompatibilité doit être désactivé.

  15. Si vous n'avez pas suivi les instructions de la section Planification (ci-dessus) concernant l'Essai préalable, arrêtez-vous maintenant et retournez à la section Planification pour suivre les instructions. La planification est la partie la plus importante de cette mise à jour.

  16. Une fois que vous êtes certain que toutes vos extensions sont compatibles avec J6 et que vous avez testé la mise à jour avec un résultat parfait, vous pouvez cocher le bouton pour accepter les alertes concernant les extensions potentiellement incompatibles et poursuivre la mise à jour, cliquer sur OK dans la fenêtre modale, puis cliquer sur le bouton Mettre à jour.

    Acknowledge Warnings

  17. Ensuite, votre site vous demandera à nouveau de confirmer que vous avez effectué une sauvegarde (ce que vous avez fait et dont vous avez testé la restauration).

    Update to Joomla 6

  18. Votre site va effectuer la mise à jour vers J6.

    Upgrade in progress screen

  19. Une mise à jour réussie affichera un écran comme celui-ci :

    Successful upgrade screen

  20. Vous verrez que votre site est en Joomla 6 dans le coin supérieur droit de l'écran.

  21. Tester le frontal de votre site.

  22. Tester le back-end de votre site.

  23. Désactiver le débogage dans Système -> Configuration globale -> onglet Serveur.

  24. Corriger votre nouvelle Recherche avancée si nécessaire.

  25. Profitez d'une bonne boisson et admirez à quel point vous êtes formidable.

Que faire si quelque chose se passe mal ?

Si vous avez tout testé au préalable, cela ne devrait pas arriver. Mais il est possible que quelque chose dans l'environnement ait changé ou que du code dans une extension ait changé entre le moment de vos tests et votre mise à jour.

Comme vous avez activé le débogage avant de commencer, vous devriez pouvoir identifier l'extension à l'origine du problème et la désactiver (cela peut nécessiter une intervention directement dans la base de données si vous ne pouvez plus accéder au back-end pour la désactiver). Ainsi, votre site restera opérationnel pendant que vous déterminez ce qui s'est mal passé et que vous le corrigez.

Dans le pire des cas, restaurez votre sauvegarde afin d'avoir le temps de résoudre le problème dans un environnement de test.

La correction de la base de données peut résoudre certains de vos problèmes. Accédez au tableau de bord Système et cliquez sur Base de données.

Navigate to System Database

Sur la page Maintenance : Base de données, les éventuels problèmes de structure de la base de données de votre site seront affichés. Cochez la case appropriée puis cliquez sur le bouton Mettre à jour la structure dans la barre d'outils supérieure.

Database Fix screen

Autres sources d'aide

Forum Joomla : Tableau Migration et mise à jour 6.x

Communauté Joomla sur Mattermost