Aujourd'hui je vais vous parler d'une possibilité d'exporter vos informations Joomla, quels que soient les composants que vous utilisez, que ce soit du Joomla content, Jevents ou encore K2 ou que sais-je encore,

Mon petit module s'adapte à tous et à tous ces composants possibles et inimaginables sur votre CMS favoris, puisqu'il s'éxécute "directement" sur la base de données.. La seule et unique condition pour que l'export fonctionne, c'est que le contenu de vos composants ou de vos modules soit stocké en base de données. En effet, ce petit module que j'ai installé côté administrateur, ne prend pas en compte les sauvegardes de données dans des fichiers texte, XML ou autre. Il vous sort un fichier texte.

Le principe utilisé est un principe basé sur le système de gestion de base de données MySQL, il faudra peut-être donc adapter si vous travaillez avec un autre SGBD. En effet, on sort complètement du SQL ANSI92 (de mémoire ?) puisque l'outil travaille avec une spécifité MySQL que nous allons évoquer ci-dessous.

Principe de base

Dans ce module j'ai donc installé sur mon interface d'administration de Joomla, je vais simplement lancer une requête SQL. Le gros intérêt de ce fonctionnement c'est que nous pouvons mettre dans notre requête, exactement ce que l'on souhaite récupérer de la base de données. Inutile donc de faire un export total de votre base de données, vous n'avez simplement qu'à écrire votre requête SQL comme bon vous semble pour exporter les parties de vos tables qui vous interesse. Mon outil va simplement rajouter à votre propre requête SQL, le code (MySQL) qui va bien pour exporter vos informations dans un format de fichier texte.
 Il eût été possible, et plus long, de faire un outil plus universel, mais qui utilise un autre SGBD de la suite WAMP/LAMP, donc MySQL ? Mais n'hésitez pas à repomper et adapter le code (en me disant où faire un lien si vous travaillez à partir de ce module)

Mise en œuvre 

Comme vous pouvez le voir dans la copie d'écran ci-dessous, je propose d'aller rajouter à la requête, l'ensemble de paramètres qui peuvent vous servir pour votre export. Dans ces paramètres, la requête fixe la ligne SELECT et propose à l'utilisateur de rajouter les clauses WHERE, GROUP BY, ORDER BY et à HAVING.
 export1
Vous pouvez donc ainsi, à partir de votre propre Joomla, exporter ce que vous souhaitez. C'est l'avantage de mon système, nous ne sommes pas cantonnés à un export de l'ensemble de la base de données.
Je n'ai pas mis en place dans ce module un "bouton" de lancement (un bouton d'action), de manière à ce que ce module se lance automatiquement au chargement de la page sur l'accueil de la page d'administration. C'sdt discutable, je sais. Ce module est installé et configuré pour être lancé à chaque chargement de la page où il se trouve. Je ne peux que vous conseiller ainsi de y intégrer à une page qui possède un statut d'accès uniquement à l'administrateur de site web. Ce module virgule au cours de ce développement, a été installé du côté administrateur de jumia. Vous pouvez donc bien entendu, installer ce plugin du côté public. Les fichiers fonctionnent exactement de la même manière il suffit simplement dans le fichier XML de corriger sur la ligne 2 et de placer le répertoire dans la partie publique du site (pas dans le sous répertoire administrator en clair). Mais je doute l'intérêt de y installer du côté public sauf a spécifier des droits particuliers avec authentification.
Installer sur un Joomla de base, vous verrez apparaître au moment du chargement de votre interface administrateur, un nouveau module qui s'intitule export Joomla. Remarquez que la ligne de la commande SQL reste affichée. Ceci étant dans un premier temps pour un simple but de débogage, je ne l'ai pas supprimée car je pense qu'elle peut servir. Vous pouvez d'ailleurs remarquer que le chemin d'accès sur un client Windows s'écrit non pas avec des anti slash mais bien avec des /. J'insiste vraiment sur ce point si vous souhaitez déplacer le fichier ailleurs car j'ai cherché très longtemps. Notez aussi que ces signes "barres" sont toutes doublées. Sans ce doublement, la création du fichier ne fonctionne pas. Du moins sous Windows.
Je n'ai pas testé ce module sur un autre serveur que Windows car je n'en ai pas l'utilité ailleurs, mais je vous mets en garde peut-être faudrait-il corriger certaines lignes de code comme se séparateur de répertoire pour bien spécifier le chemin dans lequel vous souhaitez enregistrer le fichier. Remarquez aussi que dans ma copie d'écran, j'ai bien mis un chemin absolu à partir du "root" c:.
Ce module, je souhaite véritablement qu'il soit automatique. C'est la raison pour laquelle il se charge au moment du chargement de la page d'accueil du panneau d'administration de Joomla. Peut-être faudrait-il, pour votre part, modifier ceci et éventuellement créer un chemin dans le menu composant. Mais ne sachant encore pas le faire, je ne me suis pas attelé à cette tâche....

Mon Github

slhuilli1's GitHub repositories