Skip to main content

Où se trouve le contenu de mon site Joomla! ?

Mots clés
Ressources externes

Logiciels FTP

Cyberduck

Filezilla

Ces deux logiciels existent pour Mac et Windows

Extensions

Traitement de texte JCE

Attachments

Phoca Download

DOCMan

HexData

Stockage externe

Amazon S3

publié le 16 Septembre 2015 par
Jean-François Questiaux
Chef de projet
Jean-François Questiaux - Manager Agence Better Web

Un visiteur du site nous a posé une question intéressante :

Dans la base de données de Joomla 2.5  ou 3, comment le lien avec les images d'un article est-il réalisé ? Le but est de récupérer les articles avec leurs images associées de Joomla 2.5 pour les incorporer dans Joomla 3. Je ne souhaite pas faire la mise à jour j2.5 -> j3.

Répondons d'abord à la première question.

Stockage du contenu du site

Les textes

Dans le CMS Joomla!, le contenu textuel des articles (titre, texte, liens, tableaux, paramètres de l'article) sont stockés dans la base de données du site, dans une table nommée #__content.

Les images

Elles sont stockées sur le serveur lui-même. Pour être plus exact, il faudrait dire "sur UN serveur", car il y a plusieurs possibilités :

  1. Dans une installation traditionnelle de Joomla!, les images des articles sont sauvegardées dans le dossier images qui se trouve sur le même serveur que tous les autres dossiers et fichiers du site. Pour récupérer ces images (par exemple pour les transférer vers un autre site), le plus simple est d'utiliser un logiciel FTP tel que Cyberduck ou Filezilla. Le transfert depuis le serveur vers votre disque dur ou un autre serveur est très simple.
    Attention : nous déconseillons fortement l'installation de l'extension FTP eXtplorer. Cette extension a connu plusieurs failles de sécurité qui ont conduit au piratage d'énormément de sites. Elle constitue une "porte d'entrée" potentielle à votre installation disponible pour les pirates !
  2. Si vous utilisez l'excellent traitement de texte JCE, vous avez la possibilité (via un des plugins payants) de stocker vos images "dans le cloud", sur le système Amazon S3. L'avantage de cette méthode est de pouvoir partager facilement les mêmes images entre plusieurs sites.
    Pour rappel, nous mettons les plugins JCE à la disposition des clients que nous hébergeons.
  3. Techniquement, vous pouvez inclure dans un de vos articles une image se trouvant sur un autre site. Il suffit de faire un "clic droit" sur l'image en question, de copier l'adresse du lien et de la coller dans votre gestionnaire d'image. Cependant cette technique, appelée Hotlinking, n'est en général pas appréciée par les propriétaires des images en question et la plupart des serveurs sont configurés pour l'empêcher de fonctionner. Nous vous déconseillons donc de l'utiliser.

Le contenu multimedia

Il s'agit des vidéos, des contenus audio et des animations Flash.

Ici aussi, les mêmes possibilités existent que pour les images mais en pratique les fichiers se trouvent souvent hébergés ailleurs :

  • sur YouTube, DailyMotion, Vimeo,... pour les vidéos
  • sur SoundCloud, ... pour l'audio

Si vous n'utilisez pas ces services, nous vous recommandons d'héberger vos vidéos sur un serveur distant comme Amazon S3. Le coût est très faible et vous profitez de la puissance de leurs serveurs. Cela vous permettra de garder de bonnes performances sur un site très fréquenté où plusieurs vidéos sont visionnées simultanément. Et dans ce cas aussi, vous pouvez partager facilement ces ressources entre différents sites.

Les fichiers à télécharger

Nous pensons ici principalement aux fichiers PDF, mais vous pouvez inclure un lien vers n'importe quel type de fichier : Word, Excel, PowerPoint, ...

Au niveau du stockage, vous avez les mêmes options : serveur du site ou serveur distant (Amazon S3). 

Pour la gestion des fichiers, plusieurs extensions sont disponibles :

  • Le plugin File Manager (payant) du traitement de texte JCE vous permet d'insérer facilement des fichiers dans vos articles, mais sans gestion de droits sur l'accès à ces fichiers : tous les visiteurs ayant accès à l'article ont aussi accès au fichier inclus.
  • L'extension Attachments (gratuite) permet la même chose, mais avec une gestion des droits d'accès. Suivant vos paramètres, les visiteurs pourront - ou pas - télécharger le fichier.
  • Si vous avez beaucoup de documents, il est probablement utile d'utiliser une extension proposant une gestion avancée des documents : classement en catégories (éventuellement imbriquées), gestion des droits d'accès fine, recherche sur les titres et les descriptions, statistiques de téléchargement,... Nous recommandons Phoca Download (gratuit) ou DOCMan (payant) suivant les fonctions requises. Ces extensions proposent un plugin permettant d'inclure facilement un ou plusieurs documents dans un article.

Passons maintenant à la deuxième partie de la question.

Transférer des articles d'un site à l'autre

Si vous n'avez seulement que quelques articles à transférer, le plus simple est encore de faire un copier/coller depuis la fenêtre de l'éditeur (pas l'article en front-end) d'un site à l'autre :

  1. Ouvrez l'article dans le back-end du site d'origine
  2. Sélectionnez le contenu de l'article et copiez-le
  3. Dans un autre onglet du navigateur, créez un nouvel article dans le nouveau site
  4. Copiez le contenu dans la fenêtre de l'éditeur
  5. Copiez/collez le titre ou donnez-en un nouveau
  6. Sélectionnez la catégorie et sauvegardez

Il vous restera à copier via FTP les images de l'ancien site vers le nouveau.

Attention :

  1. Ne modifiez pas les noms de fichiers et de dossiers images que vous transférez sinon le lien entre l'article et l'image sera brisé et celle-ci ne s'affichera pas.
  2. Si une image déjà présente sur le nouveau site porte exactement le même nom qu'une des images que vous transférez, celle-ci sera "écrasée" lors du transfert FTP. Si les deux images sont identiques en tout point (contenu, dimensions), cela ne pose pas de problème mais si ce n'est pas le cas, vous devrez renommer une des deux images avant de faire le transfert. Ensuite, vous n'aurez pas d'autre choix que de corriger le lien dans les articles où cette image apparaît.

Si vous avez un grand nombre d'articles à transférer d'un site à l'autre, il sera préférable d'utiliser soit une extension permettant un import/export de contenu, soit, si vous en avez l'expérience, travailler directement au niveau de la base de données avec phpMyAdmin, par exemple. Cette application est mise à votre disposition par votre hébergeur via la console de l'hébergement ou un lien spécifique.

Comme nous utilisons de préférence la deuxième option, nous ne pouvons pas recommander d'extension de transfert particulière, mais HexData (payante), qui permet un import/export de n'importe quel contenu Joomla! (article, utilisateurs, extensions,...) via un fichier CSV, nous semble prometteuse.

Attention :

  1. Dans les deux cas (extension ou phpMyAdmin), vous devrez transférer par FTP les fichiers image ou multimedia, avec les précautions mentionnées plus haut.
  2. Si des articles existent déjà dans le nouveau site, il est probable que leurs ID soient identiques à celles des articles de l'ancien site. Dans ce cas, ces dernières seront modifiées lors du transfert, ce qui peut causer des erreurs s'il y a des liens entre articles basés sur leur ID. Si ces liens pointent vers de mauvaises destinations, il faudra les corriger dans les articles concernés.
  3. Vérifiez aussi que les articles transférés se trouvent bien dans la bonne catégorie. Lors du transfert, c'est l'ID de la catégorie du site "source" qui sera utilisée.
  4. Si vous travaillez directement dans la base de données, tenez compte du fait que la structure de la table #__content n'est pas la même d'une version de Joomla! à l'autre. Il faudra donc apporter des modifications avant le transfert. Il faut aussi - malheureusement - tenir compte de la présence de la table #__assets de Joomla! qui empêche de "simplement" copier du contenu d'une base de données à l'autre. Une fois le nouveau contenu importé dans la table #__content, vous devrez ouvrir et sauvegarder chaque article importé pour mettre à jour la table #__assets. Si vous avez beaucoup d'articles, il vaut mieux utiliser un script spécifique pour réaliser cette opération.

Si vous trouvez tout cela encore trop compliqué pour vous, nous pouvons bien entendu nous charger de tous vos transferts ou migrations de sites.

Ressources externes

Logiciels FTP

Cyberduck

Filezilla

Ces deux logiciels existent pour Mac et Windows

Extensions

Traitement de texte JCE

Attachments

Phoca Download

DOCMan

HexData

Stockage externe

Amazon S3