Planification et mise à jour de Joomla 4.4.x à 5.x, étape par étape
From Joomla! Documentation
Ce guide suppose que vous commencez avec Joomla 4.4.x. Si vous utilisez une version antérieure, assurez-vous de migrer ou de mettre à jour vers Joomla 4.4.x avant de passer à Joomla 5.x.
.
Introduction
Bonne nouvelle pour les utilisateurs de Joomla 4.4.x vers 5.x, il s'agit d'une mise à jour et non d'une migration. Pourquoi ? Deux raisons principales :
- Les extensions Joomla 4 (J4) qui ont supprimé toutes les dépréciations de code et qui utilisent le code Joomla à jour, fonctionneront dans Joomla 5 (J5).
- La plupart des autres extensions fonctionneront avec le nouveau plugin de rétrocompatibilité activé.
Cette documentation reflète le processus le plus simple en combinant la planification et le pas à pas dans un seul document. Cependant, vous aurez besoin de certaines compétences. Veuillez consulter l'Auto-évaluation pour déterminer si vous devriez ou non vous attaquer à la mise à niveau vous-même.
https://manual.joomla.org/migrations/44-50/removed-backward-incompatibility
https://manual.joomla.org/migrations/44-50/new-deprecations
https://manual.joomla.org/migrations
Planification de la 4.4.x à la 5.x=
Hébergement/Spécification technique
1. Déterminez si votre environnement d'hébergement répond aux exigences.
Vous ne pourrez pas passer à Joomla 5 si votre environnement serveur ne répond pas aux exigences techniques minimales. L'option de mise à niveau n'apparaîtra pas dans le composant de mise à jour de Joomla.
- PHP 8.1
- MySQL 8.0.13
- MariaDB 10.4.x (Les tests ont montré que J3, J4 et J5 sont compatibles avec MariaDB 10.4.x.)
- PostgreSQL 12.0
Vous pouvez vérifier les informations sur votre système dans le site Joomla 4 en cliquant sur Système -> Informations sur le système. Contactez votre hébergeur si votre serveur ne répond pas aux exigences.
Voici un exemple d'environnement qui répond aux exigences techniques. Il contient MySQL 8.0.34, PHP 8.1 et Joomla 4.4.x.
2. Vérifier la compatibilité de toutes vos extensions avec Joomla 5
Il existe un certain nombre de scénarios à propos des extensions tierces pour cette mise à jour.
- L'extension peut être compatible avec les versions J4 et J5 sans l'utilisation du plugin de rétrocompatibilité.
- L'extension peut être compatible avec les versions J4 et J5 AVEC l'utilisation du plugin de rétrocompatibilité.
- L'extension peut sembler fonctionner dans J5, mais lorsque vous essayez de l'utiliser, elle est cassée.
- L'extension peut casser tout le site.
Ne vous inquiétez pas ! Ce n'est pas aussi grave que ça en a l'air ! Parlons d'abord du plugin de rétrocompatibilité.
==Le plugin de compatibilité ascendante
Le Le plugin de rétrocompatibilité est une tentative pour permettre à des extensions tierces d'utiliser des classes qui ne sont plus incluses dans Joomla 5.
Lors d'une mise à jour de J4.4.x vers J5, le plugin de rétrocompatibilité sera activé automatiquement. Pour les nouvelles installations de J5, le plugin de rétrocompatibilité sera activé par défaut.
Le plugin de rétrocompatibilité qui prend en charge les extensions qui fonctionnent dans la version J4 sera en place jusqu'à la version J5. En J6, les extensions J4 ne seront pas rendues rétrocompatibles avec le plugin. Les développeurs d'extensions disposent ainsi de deux années supplémentaires pour rendre leurs extensions compatibles avec la version J5 sans le plugin de rétrocompatibilité. L'objectif est qu'à chaque version du cycle de vie, un plugin de rétrocompatibilité prenne en charge le cycle de vie précédent jusqu'au cycle de vie suivant.
Est-il possible de désactiver le plugin de rétrocompatibilité dans le J5 ? C'est une excellente question. Après avoir déterminé que chacune de vos extensions tierces est conforme et entièrement fonctionnelle sans que le plugin de compatibilité ascendante soit activé, vous pouvez désactiver le plugin de compatibilité ascendante. Cela dit, nous vous recommandons d'être prudent. Avant de désactiver le plugin de rétrocompatibilité, il est conseillé de faire l'une des deux choses suivantes :
- Faites-le sur un site de développement/test. De cette façon, si vous avez accidentellement oublié une extension qui rend votre backend inaccessible, cela n'entraînera pas l'arrêt de votre site de production.
- Assurez-vous d'avoir accès à la base de données. De cette façon, vous pouvez réactiver le plugin rapidement si nécessaire. Plus d'informations à ce sujet ci-dessous.
Vérification avant mise à jour contre Système -> Gérer les extensions
Théoriquement, le contrôle préalable à la mise à jour devrait vous indiquer si vos extensions tierces sont compatibles avec J5. Cependant, la vérification avant mise à jour n'est utile que si tous les développeurs d'extensions ont fait en sorte que leur extension reflète la compatibilité avec leurs extensions. Dans un monde parfait, la partie Extensions de la vérification avant mise à jour vous indiquerait si une extension.. :
- peut être mise à jour sans que le plugin de rétrocompatibilité ne soit activé
- Peut être mise à jour avec le plugin de compatibilité ascendante activé
- si une mise à jour de l'extension est nécessaire avant de passer de la version J4 à la version J5
- Si une extension est complètement incompatible
Les tests ont montré 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 avant mise à jour. Ce sont plutôt les développeurs d'extensions qui envoient, par l'intermédiaire de leurs extensions, des informations susceptibles d'alimenter correctement le contrôle de pré-mise à jour. Si leurs extensions ne sont pas codées pour communiquer les bonnes informations au contrôle de pré-mise à jour, le contrôle de pré-mise à jour et le projet Joomla ! ne peuvent pas faire grand-chose à ce sujet. Une bonne source d'information serait le site web du développeur de l'extension tierce pour vérifier comment l'extension spécifique doit être traitée lors de la mise à jour de J4 à J5.
L'image ci-dessous montre un exemple du composant de vérification avant mise à jour dans Joomla 4.4.x de la section Extensions.
La section supérieure affichera les extensions qui nécessitent une mise à jour. Veuillez aller dans Système -> Mise à jour -> Extensions et mettre à jour vos extensions.
La section du milieu indique les extensions pour lesquelles les informations de mise à jour ne sont pas disponibles auprès du développeur de l'extension. Vous ne saurez pas si ces extensions sont compatibles ou non sans les tester ou sans contacter le développeur.
La section inférieure montre les extensions qui n'ont pas besoin d'être mises à jour. Cela signifie que les extensions indiquent à Joomla qu'elles sont compatibles avec Joomla 5. 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 privilégiées par le projet Joomla. Ces extensions sont présentées à titre d'exemple uniquement. Elles ont été choisies au hasard dans le JED à titre de test.
Il est recommandé de n'utiliser la partie Extensions du composant de vérification avant mise à jour que comme une vue d'ensemble de très haut niveau, mais pas comme une source de vérité à 100 %. En d'autres termes, il se peut que vous ne puissiez pas faire confiance au composant de vérification avant mise à jour en fonction des extensions que vous utilisez.
Quelle est alors la source de la vérité? Systèmes -> Gérer les extensions
Dans l'écran Extensions : Gérer, vous pourrez voir toutes les extensions tierces que vous utilisez sur le site. La capture d'écran ci-dessous montre l'écran principal. Dans la colonne Auteur, vous pouvez voir le nom d'un développeur d'extension populaire dans un certain nombre de lignes. Vous pouvez également voir l'auteur du projet Joomla dans un certain nombre de lignes.
Vérifiez vos extensions tierces. Vous devrez ensuite déterminer si elles sont compatibles avec la J5 (avec ou sans le plugin de rétrocompatibilité) ou non. Si ce n'est pas le cas, la mise à jour échouera.
Trois façons de vérifier la compatibilité de vos extensions tierces avec la J5
- Consultez le site web du développeur.
- Prenez une sauvegarde/copie de votre site J4, restaurez-le sur un sous-domaine, activez le débogage, suivez le pas à pas (ci-dessous) pour passer à J5. Voyez si quelque chose se casse. Si c'est le cas, désactivez chaque extension qui provoque une erreur en prenant note de l'extension. Vous devrez contacter le développeur à ce sujet car elle n'est pas compatible avec J5.
NOTE : Le répertoire des extensions Joomla ! JED affichera les badges de compatibilité Joomla 5 pour les extensions qui sont compatibles avec ou sans l'utilisation du plugin de rétrocompatibilité.
Vous pouvez combiner les deux solutions ci-dessus. Commencez par une installation propre et testez vos extensions. Lorsque vous saurez lesquelles fonctionnent ou ne fonctionnent pas, vous pourrez travailler avec les développeurs pour voir où ils en sont dans leur développement pour J5. ENSUITE, une fois que toutes vos extensions fonctionnent sur un site propre, vous saurez que vous pouvez tester une mise à jour complète de J4.4.x à 5.x.
Il se peut que vous souhaitiez déterminer si une extension fonctionne sans que le plugin de compatibilité ascendante soit activé. Si c'est le cas, vous devrez avoir 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 de J5, le plugin de compatibilité ascendante sera activé. Vous devez le désactiver. Allez dans 'Plugins', filtrez par le type 'Comportement' et désactivez 'Comportement - rétrocompatibilité'. Installez chaque extension l'une après l'autre. Si cela tue votre site, activez le plugin de compatibilité ascendante via la base de données.
Le plugin de rétrocompatibilité se trouve dans la base de données, dans la table _extensions. Il s'appelle plg_behaviour_compat. Définissez le champ Enabled à 0 pour désactiver le plugin. 1 pour activer le plugin. En réactivant le plugin de rétrocompatibilité, vous pouvez à nouveau accéder au backend de Joomla (à condition que l'extension fonctionne avec le plugin de rétrocompatibilité).
OU
Vous pouvez désactiver l'extension dans la base de données afin de pouvoir continuer à tester vos autres extensions pour voir si elles fonctionnent sans le plugin de compatibilité. Ces entrées se trouvent dans la table #_extensions. Vous devez modifier le champ Enabled (activé) en 0 pour désactiver l'extension.
Dans certains cas, lorsque vous installez une extension dans J5 qui n'est pas compatible avec ou sans le plugin de rétrocompatibilité activé, vous devrez trouver les entrées dans la base de données pour cette extension (il peut y en avoir quelques-unes ou plusieurs) et les désactiver jusqu'à ce que vous puissiez à nouveau accéder au backend. Ces entrées se trouvent dans la table #_extensions. Vous devez remplacer le champ Enabled par ) pour désactiver l'extension. Une fois que vous pouvez à nouveau accéder au backend de Joomla, vous pouvez la désinstaller correctement à partir de Système -> Gérer -> Extensions et vous renseigner auprès du développeur.
Cassiopeia, Recaptcha, Weblinks, Schema.org, et Search (com_search et non Smart Search)==
Cassiopeia
Cassiopeia restera le modèle frontal pour Joomla 5. Vos personnalisations devraient être correctes, mais nous vous recommandons de tester sur un site de développement pour vous en assurer. Bootstrap sera mis à jour vers Bootstrap 5.3 dans Joomla 4.4.0. S'il y a des différences Bootstrap dans votre template, elles seront déjà visibles dans la version 4.4.0. Ainsi, la plupart des problèmes, si ce n'est tous, seront trouvés avant la mise à jour vers J5.
Google reCAPTCHA
Si vous utilisez Google reCAPTCHA dans la version J4, vous devez le remplacer par Invisible reCAPTCHA avant de passer à Joomla 5 (ou à une solution tierce). J5 n'inclura plus Google Recaptcha. Le plugin Recaptcha sera désinstallé lors de la mise à jour vers J5. Le plugin Invisible reCAPTCHA existe toujours si vous avez effectué une mise à jour depuis la version 4.4.x. Vous pouvez l'activer et le configurer avec de nouvelles clés afin d'utiliser Invisible reCAPTCHA à la place. Vous pouvez également utiliser une autre solution tierce. Les nouvelles installations de Joomla 5.x n'incluent aucun plugin reCAPTCHA dans le noyau. Les nouvelles installations de Joomla 5.x devront utiliser un plugin/solution tiers.
com_weblinks
L'extension Weblinks fonctionne dans la J5 sans le plugin de rétrocompatibilité activé dans la version 4.3.0+. 4.3.0 sur Github. Weblinks sur la JED.
Schema.org Plugin
Avec Joomla ! 5, une nouvelle façon plus dynamique de gérer les rich snippets (basés sur https://schema.org/) a été mise en place. Par défaut, ils sont configurés de manière à ce que les informations pour les moteurs de recherche soient les mêmes que dans Joomla 4, mais pour personnaliser la sortie, allez dans Système => Gérer => Plugins et recherchez le plugin système "Schema.org - System". Modifiez le plugin pour ajouter les informations de votre site afin d'utiliser correctement la fonctionnalité. En savoir plus sur Rich Snippets dans cet article du magazine.
com_search
com_search n'est pas disponible dans Joomla 5. Désinstallez-la avant de passer à Joomla 5. Vous utiliserez désormais Smart Search (com_finder).
=La course d'essai
Dans le cadre de votre planification, il est recommandé de tester votre mise à niveau sur un sous-domaine ou localement pour vérifier qu'elle fonctionne parfaitement. Veillez à garder une trace de toutes les étapes que vous devez suivre pour que votre mise à niveau se déroule parfaitement.
Une fois que vous avez testé votre mise à jour sur un sous-domaine ou un hôte local, et qu'elle fonctionne parfaitement, vous pouvez prendre une sauvegarde de votre site de production et effectuer la mise à jour sur celui-ci. Les instructions étape par étape sont ci-dessous.
Mise à niveau pas à pas=
Le site que vous allez mettre à niveau doit répondre à toutes les exigences techniques et fonctionner sous Joomla 4.4.x pour pouvoir être mis à niveau. Si votre site ne fonctionne pas encore sous Joomla 4.4.x, mettez-le à jour vers 4.4.x avant de procéder à la mise à niveau vers J5.
1. Suivez toutes les instructions de la section Planification (ci-dessus) avant de procéder à la mise à niveau.
2. Sauvegarde de votre site web.
3. Mettez à jour toutes les extensions qui doivent l'être.
4. Désactiver ou désinstaller toutes les extensions qui ne sont pas compatibles avec le J5.
5. Si vous utilisez l'ancien composant de recherche (com_search) ou tout autre module connexe, désinstallez-les avant de procéder à la mise à niveau.
6. Si vous utilisez Google reCAPTCHA, désactivez-le et commencez à utiliser Invisible reCAPTCHA à la place.
7. Activez le débogage (Configuration globale -> Onglet Système -> Débogage du système sur Oui.
8. Sauvegarder à nouveau votre site web.
9. Testez votre sauvegarde pour vous assurer qu'elle se rétablit (Oui, faites-le, vous vous sentirez mieux).
10. Allez dans Système -> Mise à jour -> Joomla
11. Cliquez sur Options dans la barre d'outils supérieure sur le côté droit.
12. Changer le canal de mise à jour pour Joomla Next
13. Cliquez sur Enregistrer et fermer dans la barre d'outils supérieure.
14. Si votre serveur répond aux spécifications techniques, vous verrez l'écran suivant avec des liens sur la barre latérale gauche pour les paramètres requis, les paramètres recommandés et les extensions.
15. Il y a de bonnes chances que les paramètres requis et recommandés soient corrects, car cet écran ne s'affichera pas si votre environnement ne répond pas aux exigences techniques. Il se peut que les extensions ne soient pas correctes. Voir la section Planification (ci-dessus) concernant la vérification de la pré-mise à jour et la raison pour laquelle la coche n'est pas verte, mais que toutes les extensions compatibles sont présentes. Vous avez déjà effectué vos tests (n'est-ce pas ?), vous savez donc déjà si elles sont compatibles ou non.
16. Le plugin de compatibilité ascendante sera activé lors de la mise à jour de Joomla 4.4.x vers 5.x.
17. Si vous n'avez pas suivi les instructions de la section Planification (ci-dessus) pour l'essai, arrêtez maintenant et retournez à la section Planification pour suivre les instructions. La planification est la partie la plus importante de cette mise à niveau.
18. Une fois que vous êtes sûr que toutes vos extensions sont compatibles avec J5 et que vous avez testé la mise à jour et que le résultat était parfait, vous pouvez cocher le bouton pour Accuser réception des avertissements concernant les extensions potentiellement incompatibles et procéder à la mise à jour, cliquer sur OK dans la boîte popup, puis cliquer sur le bouton Mettre à jour.
19. Ensuite, votre site vous demandera à nouveau de confirmer que vous avez effectué une sauvegarde (ce que vous avez fait et vous avez testé la restauration).
20. Votre site effectuera la mise à niveau vers J5.
21. Si la mise à niveau est réussie, vous verrez apparaître un écran comme celui-ci
22. Vous verrez que votre site est Joomla 5 dans le coin supérieur droit de l'écran.
23. Testez la partie frontale de votre site.
24. Testez le backend de votre site.
25. Désactivez Debug dans System -> Configuration globale -> onglet Serveur.
26. Réparez votre nouveau système Smart Search si nécessaire.
27. Configurez votre plugin de schéma comme décrit dans la zone de planification de ce document.
28. Savourez une bonne boisson et émerveillez-vous de la qualité de votre vie.
Et si ça se passe mal?
Si vous avez tout testé au préalable, cela ne devrait pas être le cas. Mais il est possible qu'un élément de l'environnement ait changé ou qu'un code d'une extension ait été modifié entre le moment de vos tests et celui de votre mise à jour.
Comme vous avez activé la fonction Debug avant de commencer, vous devriez pouvoir voir l'extension qui pose problème et la désactiver (il se peut que vous deviez le faire à partir de la base de données si vous ne pouvez plus accéder au backend pour la désactiver). De cette façon, votre site fonctionnera pendant que vous chercherez ce qui n'a pas fonctionné et que vous le corrigerez.
Dans le pire des cas, restaurez votre sauvegarde afin d'avoir le temps de remédier à ce qui s'est passé 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 du système et cliquez sur Base de données.
Dans la page Maintenance : La page Base de données affiche les problèmes éventuels de structure de la base de données de votre site. Cochez la case appropriée, puis cliquez sur le bouton Mettre à jour la structure dans la barre d'outils supérieure.
Autres endroits pour obtenir de l'aide=
Joomla Forum :Migration et mise à jour vers la version 5.x