La nouvelle version 4 de Joomla connaît un grand succès et a permis de relancer l'intérêt pour la plateforme dans le marché très concurrentiel des CMS. C'est pourquoi, il est temps de mettre à jour sans plus attendre votre site vers cette version plus moderne et performante. Ce processus appelé mini-migration par Joomla est relativement simple dans la mesure où vous n'utilisez pas trop d'extensions tierces. Dans ce dernier cas, il faudra examiner chaque extension et vérifier sa compatibilité avec le composant de mise à jour présent dans Joomla 3.10 et avec l'annuaire d'extensions de Joomla. Les extensions obsolètes peuvent être aussi remplacées par l'utilisation des champs personnalisés de Joomla, les fonctions natives ou des extensions plus simples.
Préparer une check-list est indispensable avant d'entreprendre toute tâche un peu délicate ou compliquée. Les point suivants vous aideront à mettre à jour efficacement votre CMS.
Préparer la mise à jour du CMS
- Vérifier que votre serveur réponde aux exigences techniques minimales demandées par Joomla 4, notamment la version de PHP (7.2.5).
- Vérifier que vous avez bien accès aux fichiers par SFTP/SSH et à la base de données et que vous savez comment modifier les fichiers de configuration et la base de données sans risque.
- Utiliser un serveur de développement ou de pré-production pour tester la mise à jour.
- Ne pas oublier de sauvegarder fichiers et base de données à chaque étape manuellement ou avec Akeeba Backup.
- Si vous effectuez votre mise à jour en ligne, mettre le site en mode hors ligne ou utiliser un filtre par adresse IP dans le fichier .htaccess.
- Le processus de mise à jour comprend de nombreuses modifications de la base de données. Si la version de Joomla est très ancienne, il faut donc mettre à jour en plusieurs fois à partir des versions intermédiaires du CMS, notamment, si l'on rencontre des bugs dans le processus. Par exemple, si vous êtes encore en version 2.5.14, testez d'abord en passant à 2.5.15, puis 2.5.28. Vous pouvez obtenir les versions intermédiaires ici et les installer par téléchargement.
- Cliquer sur Vérifier la base de données dans les options du système après chaque mise à jour.
- Avant de passer à Joomla 4, mettre à jour préalablement votre site vers la dernière version de Joomla 3.10. Dans cette version, le composant de mise à jour vérifie la compatibilité des extensions utilisées.
- Désactiver les extensions qui ne font pas partie du cœur de Joomla pendant la mise à jour, surtout les plugins qui se greffent au coeur du cycle d'exécution du CMS.
- Supprimer complètement les extensions non compatibles en désinstallant l'extension de type package qui va supprimer toutes les dépendances en même temps. En général, les tables de bases de données ne sont pas effacées, ce qui limite le risque de pertes de données.
- Désactiver les systèmes de cache fichiers ou mémoire du CMS. En cas de problème n'hésitez pas à vider à nouveau le cache depuis le backend ou manuellement sans oublier que l'emplacement configurable du système cache fichiers des dernières versions du CMS peut se trouver dans /administrator/cache.
- Mettre le rapport d'erreurs PHP à aucun dans Joomla, si vous êtes submergé(e) par les notices ou si des processus en Ajax ne fonctionnent plus.
Finaliser l'installation de Joomla 4
- Mettre à jour le serveur avec la dernière version de PHP (actuellement 8.1/8.2) et de la base de données.
- Vérifier les permissions des fichiers, notamment de configuration.php (Joomla le fait automatiquement après un enregistrement de la configuration).
- Supprimer le fichier .htaccess actuel et le remplacer en renommant le fichier htaccess.txt fourni par Joomla 4. Attention, le fichier .htaccess a peut-être été personnalisé, par exemple avec des redirections SEO. ll faut les ajouter.
- Mettre à jour le fichier robots.txt.
- Désactiver toutes les extensions que vous n'utilisez pas, par exemple Contacts, Banners, Workflow ou l'ancien moteur de recherche (com_search).
- Dans Système > Sites de mise à jour, supprimer les liens d'extensions qui ne fonctionnent plus.
- Réinstaller, mettre à jour et republier les extensions tierces une à une et tester. N'oubliez pas de renouveler vos licences et de ne jamais utiliser le marché noir d'extensions commerciales. C'est la porte grande ouverte au piratage de votre site (on ne vous plaindra pas).
- Activer l'accès au site avec Webauthn (TouchID, Windows Hello) ou par double-authentification (le code de sécurité peut être généré par une application, par email, etc.), afin de sécuriser le backend de votre CMS.
- Contrôler les réglages du plugin en-têtes http et activer notamment le HSTS.
- Vider le dossier /tmp contenant les fichiers temporaires laissés par la mise à jour.
- Si vous les utilisez, vérifier le fonctionnement des tâches planifiées, notamment sur Joomla 5.
Mettre à jour la partie frontale
Certains template frameworks qui dépendent peu de Joomla pour la partie frontale vont demander moins de travail. Si vous utilisez l'ancien template Protostar de Joomla 3, il sera nécessaire de le mettre à jour vers Cassiopeia, ce qui va bousculer votre mise en page, c'est normal. Les identifiants des positions des modules ont changé. Certains noms de classes CSS ont aussi changé entre Bootstrap 2 et Bootstrap 5, ce qui implique des changements dans votre feuille de style. Pour modifier le code HTML des articles et des catégories, vous pouvez effectuer des rechercher / remplacer avec une extension comme ReReplacer de Regular labs ou directement dans la base de données. Il faudra aussi tenir compte des points suivants:
- Ne modifiez pas votre template directement, mais créez un template enfant.
- Activer la fonction de vérification d'accessibilité intégrée à Joomla et testez vos articles.
- Convertir les icônes Font awesome dans la version 5 qui est supportée nativement. Attention aux icônes qui disparaissent, car elles ne sont plus compatibles avec la nouvelle syntaxe, notamment celles intégrées directement dans le code CSS.
- Mettre à jour les codes de substitutions (overrides) dans le dossier html de votre template. Le code obsolète de certains overrides est l'une des causes les plus fréquentes d'erreurs après la mise à jour. Vérifier aussi les changements du layout chrome des modules qui se trouvaient auparavant dans un fichier modules.php.
- Idéalement optimiser la façon dont les fichiers Javascript sont intégrés dans le code PHP de votre code personnalisé, bien que les anciennes méthodes devraient encore fonctionner.
- Utiliser l'outil développeur de votre navigateur pour vérifier les éventuels problèmes posés par d'anciens scripts Javascript, de fichiers qui ne seraient pas chargés correctement ou qui seraient chargés en trop.
- Si vous êtes perfectionniste, profitez de l'occasion pour convertir vos scripts jQuery – qui n'est plus supporté par défaut – en vanilla Javascript.
- Je conseille fortement d'activer l'outil de débogage intégré à Joomla qui vous permettra de comprendre la nature des erreurs ou des problèmes de performances rencontrés. Lors d'une de mes migrations, une extension détraquée a fait passer le nombre de requêtes SQL de 32 à 900.
- Si le site est toujours cassé, tester sur le template par défaut Cassiopeia.
- Effectuer un audit SEO pour vérifier qu'il n'y pas de liens cassés ou non adaptés aux moteurs de recherche (SEF).
- Vérifier que votre site est toujours intégré aux éventuels services externes comme Google Search Console ou Analytics.
Ne pas oublier d'effectuer une sauvegarde complète des fichiers et de la base de données et de… remettre le site en ligne. Vous disposez maintenant d'un CMS à jour, sécurisé et performant.
Source:
Documentation officielle pour la mise à jour vers Joomla 4