Ressources gratuites pour aider les débutants à créer, gérer et développer leur site Joomla

Comment empêcher l'éditeur Joomla de supprimer du code

Votre site Joomla a été construit à l'aide de code. C'est lui qui donne vie à votre site. Cependant, il existe des cas où l'ajout de code peut entraîner des problèmes de sécurité. 

Si vous autorisez l'insertion de code PHP, Javascript, des iframes ou tout autre code dans votre contenu, vous pouvez augmenter le risque que votre site soit compromis par un code malveillant. Pour minimiser ce risque, Joomla limite par défaut l'ajout de code dans les articles. 

L'inconvénient majeur de cette limitation est que l'on ne peut pas insérer des extraits de code provenant de sources fiables. Par exemple, Joomla ne vous permet pas d'insérer des codes d'intégration à partir de sites tels que YouTube et Google Maps.

Ce didacticiel vous montrera comment autoriser l'insertion de code dans votre Joomla.

Essayons d'insérer un code d'intégration Google Maps dans l'un des exemples d'article de Joomla intitulé "Bienvenue sur votre blog".

Notre article pour cette tâche ressemble à la capture d'écran ci-dessous :

Normalement, pour insérer un extrait de code de Google Maps, vous devez cliquer sur

  • Basculer l'éditeur (1)
  • et coller le code directement dans l'éditeur (2) :

 

Jusqu'ici tout va bien. Cependant, si vous enregistrez l'article, vous verrez que le code d'intégration de Google Maps disparaît. Et, vous ne verrez pas apparaître la Google Maps dans votre article sur le front-end du site.

Comment est-ce arrivé?

  • Retournez dans votre panneau de configuration administrateur de Joomla
  • Ouvrez à nouveau cet article pour le modifier et regardez son code source (cliquez soit sur le bouton Toggle Editor comme vous l'avez fait auparavant, soit sur Tools > Source Code ).
  • Vous verrez que Joomla! a supprimé l'extrait de code Google Maps que vous avez inséré dans le code de l'article et enregistré il y a une minute.

C'est le problème. Voici la solution...

Modifier l'option de filtre de texte Joomla

Cette solution fonctionne si vous êtes le super utilisateur et que vous utiliserez l'éditeur par défaut TinyMCE.

Le fait est que votre éditeur TinyMCE a sa propre option appelée "Utiliser le filtre de texte Joomla", qui est définie par défaut sur Off. Le filtre de texte interdit l'utilisation des balises de code "script", "applet" et "iframe" (dont l'une, à savoir "iframe", que nous avons essayé d'insérer il y a quelques minutes à peine)

  • Allez dans Extensions > Plugins > Éditeur
  • Cliquez sur le plugin TinyMCE .
  • Recherchez l'option "Utiliser le filtre de texte Joomla"
  • et définissez-la sur Activé .

  • Enregistrez le plug-in.
  • Ouvrez à nouveau votre article pour le modifier.
  • Cliquez sur le bouton Basculer l'éditeur pour ouvrir l'éditeur de code d'article.
  • Insérez votre exemple d'extrait Google Maps.
  • Enregistrez l'article.

Allez sur votre site et vous verrez que votre Google Maps a été bien intégré.

Si vous souhaitez désactiver le filtrage de code pour vous-même, définissez simplement le paramètre Utiliser le filtre de texte Joomla sur Off .

Désactiver l'éditeur TinyMCE

Voici une solution un peu plus radicale :

  • Accédez à Système > Configuration globale > et cliquez sur l'onglet Site .
  • Recherchez l'option Éditeur par défaut .
  • Définissez cette option sur Éditeur - Aucun.
  • Cliquez sur Enregistrer et fermer

 

Vous pouvez maintenant accéder à votre article et coller le code en toute sécurité. Il apparaîtra comme dans l'image ci-dessous :

 

Solutions à plus long terme

Sur le long terme, ces solutions peuvent être lourdes.

Une solution consiste à utiliser un meilleur éditeur que TinyMCE qui est la valeur par défaut de Joomla.

Joomla Content Editor est gratuit et nettement meilleur :

Deux extensions de RegularLabs.com sont également recommandées . Le plug-in Sourcerer vous permet de placer n'importe quel code dans votre contenu avec l'éditeur toujours activé. Il est disponible en versions gratuites et payantes. Le plug-in Snippets vous permet d'entrer le code une fois, puis de créer un extrait de texte réutilisable qui peut être facilement placé dans n'importe quel article. 

De plus, si vous intégrez des médias à partir de sites populaires, vous pouvez utiliser des plug-ins pour vous faciliter la tâche. OSYouTube prend en charge les vidéos YouTube si facilement qu'il suffit d'insérer l'URL dans les articles. OSVimeo fait la même chose pour la vidéo Vimeo et OSWistia le fait pour les vidéos Wistia. OSEmbed prend en charge Google Maps et des dizaines d'autres sources.

Traduction libre de l'article : https://www.joomlashack.com/blog/joomla/stop-joomla-from-stripping-out-code/

 

 

Agence Joomla

Téléphone : 0672271069

Email : contact@sylvie-ceci.info

Lun Vend 8h00 18h00

Liens utiles