Aller au contenu principal

Joomla - supprimer les tables de votre base de données selon un certain préfixe

Nettoyez votre base de données Joomla en supprimant facilement les tables inutiles à partir d'un préfixe donné. Suivez ce guide pas à pas pour utiliser un petit utilitaire PHP en toute sécurité.

· 3 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.

Joomla - supprimer les tables de votre base de données selon un certain préfixe

⚡
TL;DR

Cet article partage un petit script PHP qui supprime les tables de la base de données Joomla correspondant à un préfixe donné (par exemple les restes d'un ancien composant désinstallé). Vous l'uploadez à côté de configuration.php, vous le lancez depuis le navigateur pour sélectionner et supprimer les tables correspondantes, puis vous le retirez immédiatement du serveur — et surtout, faites une sauvegarde de la base avant.

Un post récent sur le forum français de Joomla demandait comment supprimer des tables présentes dans la base de données Joomla ; celles qui utilisent un préfixe donné comme old_ ou quelque chose du genre.

En effet, de temps en temps, il peut être utile de jeter un œil à la liste des tables de votre base de données et peut-être que vous y trouverez des tables préfixées par exemple old_ ou par un vieil outil utilisé il y a des années (avec le bon préfixe mais un composant supprimé depuis, du genre joomla_oldcomp).

Il y a quelques années, j'ai écrit un utilitaire PHP pour ça ; voyons comment l'utiliser.

À quoi ressemble l'utilitaire​

Kill tables

Tapez un préfixe dans le champ texte et l'utilitaire liste immédiatement toutes les tables de votre base Joomla qui correspondent. Cochez celles dont vous voulez vous débarrasser, cliquez sur Kill selected tables, et elles sont supprimées. Le bouton Remove this script à droite supprime l'utilitaire de votre serveur quand vous avez terminé.

C'est tout l'outil : un écran, un champ texte, aucun fichier de configuration.

Comment l'utiliser​

  1. Cliquez sur le lien https://github.com/cavo789/joomla_free/blob/master/src/kill_db_tables/kill_db_tables.php pour obtenir une copie de mon utilitaire PHP,
  2. Copiez/téléchargez le script et, avec votre client FTP (WinSCP par exemple), uploadez-le sur votre site Joomla, dans le même répertoire que votre fichier configuration.php. Nommez le script par exemple delete_tables.php,
  3. Ouvrez votre navigateur, allez sur l'URL de votre site et accédez à delete_tables.php, donc par exemple https://yoursite.com/delete_tables.php
  4. Dans le champ texte, commencez simplement à taper votre préfixe et vous obtiendrez la liste des tables utilisant ce préfixe. Quand vous êtes sûr, cliquez sur le bouton Kill selected tables.
  5. Enfin, pensez bien à cliquer sur le bouton Remove this script car le script ne doit pas rester là.

Pensez bien à cliquer sur `Remove this script`.

Assurez-vous de savoir ce que vous faites et d'avoir une sauvegarde de la base de données, au cas où.

Conclusion​

Un préfixe old_ ou joomla_oldcomp oublié, c'est le genre de bazar qu'on remarque une fois par an sans jamais prendre le temps de le nettoyer, parce que le faire à la main dans phpMyAdmin veut dire cocher trente cases sans être certain de rien. Ce script fait la sélection pour vous, en un seul écran, puis se supprime lui-même.

Avant de supprimer quoi que ce soit, prenez le temps de regarder ce que contiennent ces tables : Joomla - Exécuter une requête SQL en dehors de Joomla et afficher un joli tableau HTML est le pendant en lecture seule de cet utilitaire.


Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?