Migration Joomla 1.5 : pourquoi tant d’éléments cassent
Une migration Joomla 1.5 n’est pas une simple mise à niveau Joomla : l’écart entre cette ancienne version et une plateforme récente touche l’architecture, les tables de base de données, les extensions et les templates Joomla. Le site cible doit généralement être installé séparément, puis recevoir les contenus et les fonctionnalités compatibles.
Selon la documentation Joomla consacrée aux migrations, les données du cœur et celles des extensions tierces ne se déplacent pas nécessairement de la même façon. Un composant historique peut n’avoir aucun équivalent actuel ; il faut alors choisir entre le remplacer, reconstruire sa fonction ou abandonner les données concernées.
En 2026, il faut aussi choisir une version cible encore maintenue et vérifier ses exigences auprès de Joomla avant de commencer. Les instructions qui visaient Joomla 4 restent utiles pour comprendre le chantier, mais elles ne suffisent pas à déterminer la destination adaptée aujourd’hui.
À examiner avant le chantier :
- Écart entre les architectures et les versions PHP
- Compatibilité des extensions, modules, plugins et templates
- État des contenus, menus, médias et comptes utilisateurs
- Conservation des adresses et des données utiles
Inventorier les contenus et préparer la migration de base de données
Une fois le périmètre défini, l’inventaire permet de séparer ce qui doit être conservé de ce qui encombre encore le site. Prenons l’exemple fictif d’une association : ses articles restent utiles, mais plusieurs menus périmés et comptes inutilisés ne méritent pas d’être transférés.
Nettoyer articles, catégories, menus et médias
Selon les consignes de migration Joomla, les anciennes sections sont converties en catégories parentes dans les versions ultérieures ; les catégories deviennent alors des catégories imbriquées. Il faut donc revoir l’arborescence, supprimer les éléments placés à la corbeille et relever les alias susceptibles de créer des doublons.
Pour les médias, décider entre transférer tout le dossier /images et ne déplacer que les fichiers employés évite de recopier un répertoire désordonné. Le dossier /stories mérite une attention particulière : des articles peuvent encore y référencer des images, et son omission provoquerait des visuels manquants.
Contrôles de contenu à effectuer :
- Articles, catégories et menus réellement utilisés
- Éléments supprimés de la corbeille avant transfert
- Images encore appelées depuis le dossier stories
- Comptes administrateurs et profils utilisateurs à conserver
Vérifier l’encodage et les adresses web
Une migration de base de données peut révéler des caractères accentués remplacés par des signes incohérents. Contrôler l’encodage des caractères dans un échantillon d’articles, de noms de catégories et de contenus importés permet de détecter le problème avant qu’il ne touche tout le site.
Selon le Joomla! Extensions Directory, les outils de migration doivent être évalués selon les versions qu’ils prennent effectivement en charge. Aucun outil ne garantit à lui seul la conservation des URL : relever les anciennes adresses et leur destination prévue reste indispensable à la réparation des liens.
Éléments à comparer avant et après import :
- Type de donnée transférée et méthode recommandée
- Vérification des alias et identifiants conservés
- Encodage des caractères affichés dans le contenu
- Anciennes URL associées aux nouvelles destinations
Compatibilité des extensions et réparation des erreurs PHP
Après l’inventaire, le principal risque vient des fonctions ajoutées au site au fil des années. Une extension ancienne peut interrompre le chargement des pages, tandis qu’un template incompatible peut désorganiser la navigation même si les articles ont été transférés correctement.
Remplacer les extensions et les templates obsolètes
Selon les recommandations de Joomla, chaque composant, module, plugin, langue et template tiers doit être vérifié individuellement. Pour chacun, noter son usage, la disponibilité d’une version compatible et l’existence d’une procédure d’import évite de découvrir tardivement qu’une fonction essentielle n’a pas de solution directe.
Un ancien formulaire peut être remplacé par une extension maintenue ou reconstruit avec une solution adaptée au site cible. Pour les templates Joomla, mieux vaut vérifier la compatibilité, les positions de modules et l’affichage mobile plutôt que supposer qu’un habillage ancien se convertira automatiquement.
Décisions à consigner pour chaque extension :
- Conserver si une version compatible et maintenue existe
- Remplacer si une fonction équivalente est disponible
- Reconstruire si les données ou règles métier sont importantes
- Supprimer si l’usage est devenu inutile ou redondant
Traiter les erreurs PHP sur une copie de test
La correction des erreurs PHP commence sur un environnement de développement, jamais directement sur le site public. Examiner les journaux, désactiver temporairement les extensions suspectes et réinstaller leurs versions compatibles aide à distinguer un défaut de code d’un problème de configuration.
Les modifications directes du cœur de Joomla ne se transfèrent pas comme des options ordinaires. Si l’ancien site a été personnalisé de cette manière, il faut retrouver le besoin fonctionnel puis le réimplémenter avec les mécanismes pris en charge par la version choisie.
Sauvegarde, tests et mise en ligne sans perte
Quand les contenus et les extensions fonctionnent sur la copie, les essais doivent couvrir les parcours réels : lecture d’un article, recherche, formulaire, connexion et affichage mobile. Une page d’accueil correcte ne prouve pas que les liens internes, les médias et les droits d’accès sont en ordre.
Organiser la sauvegarde et restauration
Effectuer une sauvegarde avant chaque étape risquée donne un point de retour concret en cas d’import incomplet ou de configuration erronée. Conserver une copie distincte des fichiers et de la base de données, puis vérifier qu’elle peut être restaurée, réduit le risque de confondre une archive présente avec une sauvegarde exploitable.
| Étape | Vérification | Action en cas d’échec |
|---|---|---|
| Avant migration | Copie des fichiers et de la base | Reprendre la sauvegarde avant toute modification |
| Après import | Articles, menus, médias et caractères accentués | Corriger les données ou relancer l’import ciblé |
| Avant ouverture | Extensions, formulaires et droits d’accès | Isoler l’élément défaillant sur la copie de test |
| Après mise en ligne | Pages prioritaires et redirections | Réparer les URL et contrôler les journaux |
Réparer les liens et renforcer la sécurité du site
Comparer les adresses du site ancien et du nouveau permet de créer des redirections pour les pages déplacées. Tester les liens internes, le plan de site et les pages les plus consultées complète la réparation des liens et limite les impasses pour les visiteurs comme pour les moteurs de recherche.
La sécurité du site dépend aussi du retrait des anciennes copies publiques : un Joomla 1.5 laissé accessible après le lancement constitue une surface d’exposition inutile. Avant de basculer le domaine, contrôler la configuration, les courriels liés à l’hébergement et la dernière sauvegarde rend la mise en ligne plus maîtrisable.
| Symptôme observé | Cause possible | Contrôle recommandé |
|---|---|---|
| Caractères accentués altérés | Encodage incohérent durant l’import | Comparer les données importées et leur affichage |
| Images absentes | Dossier ou chemin de média manquant | Vérifier les références et le transfert des fichiers |
| Page introuvable | URL modifiée ou alias différent | Ajouter puis tester une redirection adaptée |
| Erreur PHP | Extension ou personnalisation incompatible | Consulter les journaux sur l’environnement de test |
Source : Documentation officielle Joomla!, « Migration & Update » ; Joomla! Extensions Directory, catégorie Migration & Conversion.