Vous avez encore un site Joomla 3 qui fait tourner jDownloads 3.9 et vous devez passer à Joomla 5, voire Joomla 6 ? La migration de jDownloads 3.9 vers jDownloads 4 fait partie des migrations d'extensions les plus délicates que je rencontre. Le composant ne se réinstalle pas « à neuf » : sa base de données change de structure entre la série 3.9 et la série 4, la conversion se fait pendant la mise à jour, et une seule erreur dans l'ordre des opérations suffit à bloquer l'installation.
Dans ce tutoriel, je détaille la méthode que j'applique pour migrer jDownloads sans perdre les fichiers, les catégories, les statistiques ni les droits d'accès : l'ordre exact des paliers, les prérequis, les erreurs les plus fréquentes avec leurs solutions, et les contrôles à faire après la migration. Le guide est à jour de jDownloads 4.1.8, version de sécurité publiée le 12 novembre 2026.
Le principe : une mise à jour en place, palier par palier
Il n'existe pas d'export/import entre jDownloads 3.9 et jDownloads 4. C'est l'installeur de la version 4 qui détecte les tables de la 3.9 et les convertit. Conséquence directe : la migration doit se faire sur le site d'origine (ou sur une copie exacte), en faisant évoluer Joomla et jDownloads en alternance. Sur le forum officiel, l'équipe jDownloads est claire : recopier les tables d'un site Joomla 3 dans un Joomla 5 neuf n'est pas une voie supportée, et le résultat peut être un transfert partiel.
Voici le chemin que je suis systématiquement :
| Palier | Joomla | jDownloads | PHP minimum |
|---|---|---|---|
| 0. Point de départ | 3.10.x (3.10.2 minimum) | 3.9.8.7 (3.9.8.6 minimum) | selon hébergeur, Joomla 3.10 accepte PHP 8.0 |
| 1. Migration Joomla | 3.10 → 4.4 | reste en 3.9, plugin système désactivé | 7.2.5 (8.1 conseillé) |
| 2. Conversion jDownloads | 4.4 | 3.9 → 4.0.52 | idem |
| 3. Migration Joomla | 4.4 → 5.x | 4.0.52 | 8.1 |
| 4. Mise à jour jDownloads | 5.x | 4.0.52 → 4.1.8 | 8.1 |
| 5. Optionnel | 5.x → 6.x | 4.1.8 | 8.3 |
Le passage par la 4.0.52 n'est pas un détail : l'éditeur exige cette version comme point de départ pour monter en série 4.1. Et la série 4.1 est celle qui apporte la compatibilité Joomla 5 et Joomla 6 complète.
Prérequis avant de migrer jDownloads
- Travailler sur une copie du site (sous-domaine ou dossier de préproduction), jamais directement en production.
- Une sauvegarde Akeeba à chaque palier, numérotée. C'est ce qui vous permettra de revenir proprement en arrière, et c'est la première chose que demande le support jDownloads en cas de problème.
- Joomla 3.10.2 minimum (idéalement la dernière 3.10) et jDownloads 3.9.8.6 minimum : mettez à jour en 3.9.8.7 avant toute chose. En dessous, l'installeur de la version 4 refuse la mise à jour.
- Vous êtes encore en jDownloads 3.2.x ? Pas de saut direct vers la 4 : il faut d'abord passer en 3.9 (procédure en deux passes décrite dans la documentation officielle), puis seulement suivre ce tutoriel.
- Vérifier l'hébergement : Joomla 5 exige PHP 8.1 et MySQL 8.0.13 ou MariaDB 10.4 ; Joomla 6 exige PHP 8.3. Un vieux MySQL 5.7 qui suffisait à Joomla 4 bloquera le passage en Joomla 5.
- Faire l'inventaire de l'écosystème jDownloads : modules, plugins (système, contenu, bouton d'éditeur, recherche), mises en page personnalisées, et extensions tierces branchées dessus (JComments, Community Builder, AltaUserPoints…).
- Noter le chemin du dossier d'upload (Options › Chemins). Il doit être un chemin absolu et cohérent avec le serveur de destination.
Étape 1 : préparer jDownloads 3.9 sur Joomla 3.10
- Mettez jDownloads à jour en 3.9.8.7.
- Dans Extensions › Plugins, désactivez uniquement le plugin « Système - jDownloads ».
- Laissez tout le reste activé : le composant, les modules et le plugin de contenu « jDownloads Tags fix ».
- Lancez la vérification de pré-mise à jour de Joomla 3.10 pour repérer les autres extensions incompatibles.
- Sauvegarde n°1.
Étape 2 : migrer Joomla 3.10 vers Joomla 4.4
Faites la migration Joomla classique via le composant de mise à jour. Pendant cette phase, jDownloads 3.9 ne fonctionne plus en frontend : c'est normal, la version 3.9 n'est pas compatible Joomla 4. Ne tentez rien sur jDownloads tant que Joomla 4.4 n'est pas stable (connexion à l'administration, extensions critiques, template).
Faites ensuite la sauvegarde n°2 : « Joomla 4.4, jDownloads pas encore mis à jour ». C'est l'état de référence auquel on revient si la conversion de jDownloads échoue.
Étape 3 : installer jDownloads 4.0.52 par-dessus la 3.9
- Téléchargez le paquet jDownloads 4.0.52 dans la rubrique « Previous Releases 4.0 Series » du site jdownloads.com.
- Installez-le via Système › Installer des extensions, par-dessus la 3.9. Ne désinstallez jamais la 3.9 avant.
- L'installeur contrôle la structure des tables avant de les convertir. Si un message signale une différence de structure, arrêtez-vous et reportez-vous à la section des erreurs ci-dessous.
- Ouvrez le panneau de contrôle de jDownloads : depuis la 4.0.41, un contrôle des définitions de tables s'exécute au premier appel après une mise à jour depuis la 3.9. S'il signale une anomalie, utilisez la fonction de correction des tables proposée dans la page Outils.
- Vérifiez dans Extensions › Plugins que tous les plugins jDownloads sont activés, y compris le nouveau plugin système.
- Vérifiez que l'élément de menu « toutes les catégories » de jDownloads existe : le composant en a besoin pour construire ses URL et l'administration affiche un avertissement s'il manque.
- Sauvegarde n°3.
Étape 4 : passer de Joomla 4.4 à Joomla 5
jDownloads 4.0.52 fonctionne sous Joomla 5 : vous pouvez donc migrer Joomla 4.4 vers Joomla 5 de façon classique. Laissez le plugin de compatibilité ascendante de Joomla 5 actif pendant la transition, le temps que toutes vos autres extensions soient à jour. Sauvegarde n°4.
Étape 5 : mettre à jour vers jDownloads 4.1.8
Une fois en Joomla 5 avec jDownloads 4.0.52, faites la mise à jour vers la dernière version de la série 4.1 (4.1.8 à la date de cet article), via le gestionnaire de mises à jour ou le paquet. Ce que la série 4.1 apporte pour une base qui vient de la 3.9 :
- Réparation automatique et non destructive des ACL et des assets : les catégories et téléchargements dont l'asset était orphelin ou mal rattaché sont réparés pendant la mise à jour. Le message d'avertissement « réparation ACL » affiché par l'installeur ne concerne qu'une minorité de sites.
- Correctif pour les anciennes bases 4.0.x (depuis la 4.1.4) : la colonne
template_namede la table des mises en page est élargie avant l'insertion des nouvelles mises en page. - Correctifs de sécurité : la 4.1.6 retire des fichiers d'upload de test livrés par erreur à partir de la 4.1.0, et la 4.1.8 corrige plusieurs failles (gestion des fichiers et images, permissions de téléchargement, URL externes). Ne vous arrêtez donc pas sur une 4.1.0 à 4.1.7.
Après la mise à jour, videz le cache de Joomla, le cache du navigateur et l'OPcache PHP (depuis le panneau de votre hébergeur). Si vous utilisez la surveillance automatique du dossier de téléchargements avec une clé secrète et une tâche planifiée, l'éditeur recommande de changer cette clé et de mettre à jour la tâche.
Étape 6 (optionnelle) : Joomla 6
jDownloads 4.1 est compatible Joomla 6. Le seul vrai prérequis supplémentaire est côté serveur : PHP 8.3 minimum (8.4 recommandé), MySQL 8.0.13 ou MariaDB 10.4. L'éditeur travaille par ailleurs sur une future version majeure de jDownloads.
Les erreurs fréquentes et leurs solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| « The Table #__jdownloads_files has an incorrect number of data fields », mise à jour annulée | Structure des tables 3.9 non conforme (souvent un site qui a traversé plusieurs versions depuis la 3.2) | Restaurer la sauvegarde n°2, comparer les tables avec le fichier administrator/components/com_jdownloads/sql/install.mysql.utf8.sql de la 3.9, ajouter les champs manquants ou supprimer les champs obsolètes dans phpMyAdmin, puis relancer. |
| Au 2e essai : « Duplicate column name 'importance' » | Le premier essai a déjà converti une partie des tables : la base est dans un état mixte 3.9/4 | Ne jamais relancer par-dessus un échec. Restaurer la sauvegarde n°2, corriger, puis relancer. |
Champs manquants dans la table #__jdownloads_limits | Même cause : une ancienne mise à jour incomplète | Compléter la table d'après le fichier SQL de la 3.9 avant la mise à jour. |
| Site en erreur après la migration Joomla, plugin de contenu jDownloads en cause | Le composant a été désactivé au lieu du seul plugin système | Restaurer, réactiver tout jDownloads sauf le plugin système, recommencer. |
| « Class JRequest not found » ou erreur équivalente | Un module, plugin ou une extension tierce restée en version Joomla 3 | Désactiver les modules jDownloads et les extensions liées le temps de la mise à jour, puis les remplacer par leurs versions Joomla 4/5. |
Dates 0000-00-00 00:00:00 dans publish_down | Héritage de la 3.9, refusé par MySQL en mode strict | Corrigé par l'installeur depuis la 4.0.27, et les dates nulles héritées sont mieux gérées depuis la 4.1.8 : utilisez bien les dernières versions. |
| « jDownloads requires version 3.9 » lors de l'installation de la 4 | jDownloads 3.9 trop ancien (avant 3.9.8.6) ou déjà désinstallé | Revenir à la sauvegarde n°1 et mettre à jour en 3.9.8.7 sous Joomla 3.10. |
| Fichiers introuvables après migration | Chemin du dossier d'upload relatif ou pointant vers l'ancien serveur | Corriger le chemin absolu dans Options › Chemins. |
Et si je refais mon site de zéro en Joomla 5 ou 6 ?
C'est le cas le plus piégeux, et je le rencontre souvent lors des refontes : le nouveau site est monté à part, et on voudrait « juste récupérer » jDownloads. Comme on l'a vu, l'éditeur ne supporte pas l'import direct des tables 3.9 dans une installation neuve.
Ma méthode dans ce cas : je fais d'abord monter une copie de l'ancien site jusqu'en jDownloads 4.1.8 en suivant les étapes de ce tutoriel. À ce stade, les tables sont au format 4.1, identique à celui du nouveau site. Le transfert vers le nouveau site devient alors un travail d'intégrateur (tables #__jdownloads_* et dossier des fichiers), avec une vigilance particulière sur les asset_id, qui ne correspondent pas d'une installation Joomla à l'autre. C'est faisable, mais c'est du sur-mesure : à réserver à une copie, avec exactement la même version de jDownloads des deux côtés.
Après la migration : la check-list de contrôle
- Mises en page : la série 4.1 fournit des mises en page Bootstrap 5 modernisées. Vos mises en page personnalisées de la 3.9 sont à reprendre ou à remplacer, et à activer dans jDownloads › Mises en page.
- Permissions : contrôlez les autorisations au niveau des options du composant puis de chaque catégorie (téléchargement, mais aussi création et modification en frontend). Une permission « Autorisé » héritée d'un vieux réglage peut rouvrir l'envoi de fichiers en frontend à des groupes qui ne devraient pas en avoir.
- URL et référencement : le routeur a été retravaillé dans la série 4.1. Comparez les anciennes URL indexées (Google Search Console) avec les nouvelles et créez les redirections 301 nécessaires dans le composant Redirections de Joomla. Une page de téléchargement bien positionnée qui tombe en 404, c'est du trafic perdu.
- Tests de téléchargement : en visiteur, en utilisateur connecté, sur une catégorie protégée, avec le téléchargement multiple (archive ZIP) si vous l'utilisez.
- Modules et plugin de contenu : vérifiez les modules jDownloads et les téléchargements insérés dans les articles.
- Extensions liées : JComments existe en version Joomla 4 (édition maintenue par estreme) ; AltaUserPoints est remplacé par User Points, que jDownloads 4 prend en charge ; les plugins tiers développés pour jDownloads 3.9 doivent être adaptés à la version 4.
- Journal d'erreurs PHP : un coup d'œil aux logs de l'hébergeur dans les jours qui suivent.
FAQ : migration jDownloads
Peut-on mettre à jour jDownloads 3.9 directement en 4.1 ?
Le chemin documenté par l'éditeur passe par la 4.0.52, qui est la version exigée pour monter en série 4.1. Je ne prends pas le risque de sauter ce palier.
Mes fichiers sont-ils déplacés pendant la migration ?
Non : les fichiers restent dans le dossier de téléchargements, c'est la base de données qui est convertie. Vérifiez simplement que le chemin configuré est absolu et correct sur le serveur final.
Combien de sauvegardes faut-il faire ?
Une par palier, soit quatre ou cinq. C'est ce qui rend chaque étape réversible, surtout la conversion de jDownloads (étape 3), qui ne se relance jamais par-dessus un échec.
jDownloads fonctionne-t-il avec Joomla 6 ?
Oui, à partir de la série 4.1, sous réserve d'un serveur en PHP 8.3 minimum.
Mon site est encore en jDownloads 3.2, que faire ?
Passer d'abord en 3.9 sous Joomla 3, en suivant la procédure dédiée de la documentation jDownloads, puis reprendre ce tutoriel à l'étape 1.
Besoin d'aide pour votre migration Joomla ?
Je migre des sites Joomla depuis 2009, avec leurs extensions les plus capricieuses : jDownloads, mais aussi Phoca Download, JEvents, AcyMailing et bien d'autres. Si votre site Joomla 3 dépend de jDownloads et que vous préférez ne pas jouer avec la base de données de production, consultez ma page Migration Joomla vers Joomla 6 et les tarifs de migration.
Sources
Consultées le 12 novembre 2026 :
- jDownloads for Joomla 5 & 6 : page de téléchargement et changelog de la série 4
- Annonce de jDownloads 4.1 et de jDownloads 4.1.4
- Forum jDownloads : plugin système et composant pendant la mise à jour
- Forum jDownloads : erreur « Duplicate column name »
- Forum jDownloads : transfert de base vers un Joomla 5 neuf
- Joomla : prérequis techniques
Web54 — intégrateur Joomla depuis 2009, spécialiste des migrations — Nancy & Lorraine —

