Christophe Lance marketing internet et web designChristophe Lance marketing internet et web design (Mobile version)Logo Christophe Lance (Mobile)

C'est une question qui fait parfois surface sur les réseaux sociaux. Les utilisateurs qui ne connaissent pas bien Joomla peuvent avoir de la peine à trouver comment modifier certaines informations, lorsqu'il y a beaucoup de contenu. En effet, les pages sont créées dynamiquement et ce processus peut être complexe en raison de l'intégration de données enregistrées dans des tables différentes: articles, modules, plugins, champs personnalisés, menus, templates ou chaînes de traduction, des fichiers, sans compter qu'un CMS est un outil collaboratif avec des permissions parfois différentes entre les utilisateurs et en plusieurs langues.

Voici donc quelques pistes vous aider à améliorer votre workflow et qui démontrent par ailleurs la flexibilité de ce CMS.

Astuces pour localiser les contenus à modifier

1) Tout d'abord, le gestionnaire d'articles de Joomla et les composants qui supportent cette syntaxe de recherche standard permettent d'utiliser l'expression content: mots clés pour rechercher dans le corps des textes et pas seulement dans les titres. N'oubliez pas de cliquer sur Outils de recherche pour afficher d'autres filtres.

La syntaxe content: mot clé
La syntaxe content: mot clé

2) Ensuite, il est possible de modifier tous les contenus enregistrés dans les articles et les modules en zone frontale du site. Cela simplifie beaucoup les mises à jour, car il suffit de visualiser la page, puis de cliquer sur les liens "Modifier" qui apparaissent en cliquant sur les menus identifiés par une roue dentée.

Le lien modifier est affiché après connexion
Le lien Modifier apparaît après connexion à l'administration

Pour cela, il faut disposer des droits d'administration et dans la barre de menu du backend, choisir:

  • Système > configuration et sélectionner "Modules et liens de menu" ou "Modules" dans Icônes d'édition en ligne,
  • Dans l'onglet Système, cocher Sessions partagées, puis enregistrer. Vous allez être déconnecté, c'est normal, car une nouvelle session est créée.
On se connecte en même temps au frontend et au backend
On se connecte en même temps au frontend et au backend

Après (re)connexion, vous pouvez vous rendre sur les pages en zone frontale du site et commencer à modifier les articles et les modules (widgets) du site. En utilisant Google, il devient même possible de rechercher toutes les occurrences d'un mot clé avec la syntaxe courante: site:monsite.com mots clés.

3) Chaque template propose un certain nombre d'emplacements pour les modules que vous pouvez visualiser directement en partie frontale du site. Dans l'administration, choisissez Template > Styles de template, puis activer temporairement la fonction "Prévisualisez la position des modules". De retour en zone frontale, les emplacements de modules deviennent visibles, lorsque l'on rajoute le paramètre ?tp=1 à l'url de la page. Par exemple, https://www.monsite.com/mapage?tp=1

Il devient alors possible d'utiliser l'options outils de recherche du gestionnaire de modules pour filtrer les instances de modules en fonction de l'emplacement (position) et du lien de menu.

Filtrer les modules par lien de menu et position
Filtrer les modules par lien de menu et position

4) Les textes codés en PHP dans le coeur du CMS et de ses extensions sont enregistrés sous forme de chaînes de traduction qu'il est possible de modifier dans le backend de Joomla en ajoutant une nouvelle référence dans Extensions > Langues > Substitutions.

Une paire clé / valeur est créé pour une nouvelle traduction
Une paire clé / valeur est créée pour une nouvelle traduction

Le texte traduit dans la langue courante est référencé par une clé que l'on identifie en activant le débogage langue dans Système > Configuration > Système. On visite ensuite la zone frontale pour noter la clé qui correspond à la valeur que l'on veut modifier. Ne pas oublier de mettre le site en mode maintenance durant cette étape, sinon vos visiteurs risquent d'avoir mal aux yeux !

Activer le débogage langues
Activer le débogage langues

5) Les articles et les modules disposent d'un champ commentaire. N'hésitez pas d'y ajouter des mots clés, par exemple "à relire", "hebdomadaire" ou "fichu module que je ne trouve jamais". Il sera ensuite possible de les retrouver par une recherche sans que ces commentaires n'apparaissent aux visiteurs.

Ouvrir le capot pour vraiment tout trouver

Note: la suite de cet article nécessite de mettre les mains dans le cambouis, alors n'oubliez pas d'enfiler un bleu de travail.

Il est possible que certaines données ne soient pas accessibles en zone frontale, parce qu'elles sont publiées par des extensions ou des templates qui n'offrent pas cette possibilité. Sur Joomla, le gestionnaire de menu contient toutes les informations sur les extensions utilisées, mais il est parfois difficile de savoir à quel élément de menu une page appartient.

L'élément de menu identifie l'extension utilisée
L'élément de menu identifie l'extension utilisée

Dans ce cas, on peut déterminer l'identifiant de menu en consultant le code HTML de la page. Dans le code HTML de chaque page, la balise body contient un attribut class avec de nombreuses valeurs dont une classe nommée itemid-x. Le chiffre x correspond à l'identifiant de l'élément de menu que vous pouvez retrouver dans le gestionnaire de menu de Joomla en tapant id:x dans le champ de recherche.

 <body class="gantry site com_content view-article no-layout no-task dir-ltr itemid-119 outline-14">

En visitant cet élément de menu dans le gestionnaire de menu, on trouvera toutes les informations nécessaires comme le type de composant (ex. com_content / Articles), la vue (Article simple) et même l'identifiant numérique de l'article &id=y affiché dans le champ URL du lien. Il y a un bouton pour accéder directement à l'article, mais cet identifiant peut aussi être utilisé dans le gestionnaire d'articles en tapant l'expression id:y dans l'outil de recherche.

index.php?option=com_content&view=article&id=2

Rechercher dans les tables de la base de données

Une autre méthode est de rechercher directement dans la base de données à l'aide de l'application phpMyAdmin installée sur tous les hébergements ou d'une extension comme DBReplacer que l'on peut installer dans Joomla et qui évitera de faire des bêtises comme supprimer une table par erreur. On peut rechercher par mots clés dans l'ensemble des tables ou de manière plus précise dans certaines tables seulement, par exemple les colonnes introtext et fulltext de la table content correspondent au contenu des articles. Le tableau ci-dessous récapitule les tables les plus importantes:

Tables MySQL Colonnes
#_contentintrotext, fulltext
#_categoriesdescription
#_modulesparams
#_template_stylesparams
#_fields_values (champs personnalisés)value
#_overrider (surcharge des langues)string

Une autre solution est d'exporter la base de données sous forme de fichier texte (dump) avec phpMyAdmin ou depuis l'interface de leur hébergeur et d'effectuer une recherche par mots clés dans le fichier, afin de déterminer l'identifiant et la table où se trouvent les données (même principe que plus haut). Par exemple, en ligne de commande avec l'application Terminal, à partir du dossier courant, grep "mot clé" --color dump.sql.

Rechercher dans les fichiers

S'il n'y a rien dans la base de données, alors les informations peuvent être enregistrées directement dans des fichiers comme le fichier index.php à l'intérieur du dossier template. Tous les fichiers situés dans le template courant peuvent être modifiés directement depuis Joomla en utilisant l'éditeur CodeMirror accessible dans la rubrique Extensions > Templates > Templates. Il faut aussi noter que des frameworks comme Gantry de Rockettheme ou Pages de JoomlaTools enregistrent leurs données principalement dans des fichiers. Différents logiciels permettent d'effectuer des recherches dans des dossiers multiples comme l'excellent BBEdit, ou en ligne de commande, à partir du dossier courant, grep -r "mot clé" --color .. Si l'on a pas accès au serveur en ligne de commande, il faudra préalablement récupérer les fichiers avec un logiciel SFTP comme FileZilla.

En fin de compte, la simplicité de mise à jour d'un site créé avec un CMS dépend beaucoup de l'organisation et des choix de conception en amont par le webmaster/développeur, d'où l'importance à accorder à cette étape.

Devis et renseignement gratuits