Je pense que vous aurez désormais remarqué, je continue mon travail documentaire en intégrant dans chacun de mes liens hyper texte de téléchargement de mes fichiers, des métadonnées sous la forme de la nouvelle balise HTML5 data-*
Un peu de vocabulaire
Afin de mieux comprendre et à partir métier de notre travail, sachez que nous appelons natif, un fichier dans un format que l'on peut modifier. Nous allons donc avoir dans nos fichiers natifs, généralement des fichiers au format Word, Excel voire SVG, mais comme notre organisation nous impose de distribuer ses fichiers dans un format non modifiable, ils sont systématiquement converti au format PDF.
La problématique
S'oppose alors il y a problématique suivante deux points comment stocker et héberger nos fichiers natifs pour qu'il soit non seulement archiver et récupérer, associé à nos fichiers PDF forcément, mais surtout accessible uniquement aux administrateurs de Joomla ?
Pour répondre à ce besoin, j'ai créé comme je le fais désormais dans mes nouvelles correction, une balise dans mon lien <a que j'ai nommé data-natif.
Dans cette nouvelle propriété de mon lien, je vais y Cauet le lien relatif vers le fichier natif qui sera stocké au même endroit que le fichier PDF sur mon serveur.
Toutefois, mon utilisateur courant pourrait très bien afficher le code source de ma page afin de récupérer l'url de ce fichier, le télécharger, l'éditer et en faire un faux.
Fonctionnement
Ainsi, le plugin que je vous propose aujourd'hui, une fois installé dans Joomla 3, va vous permettre au moyen d'une simple expression rationnelle, de récupérer l'ensemble de la propriété data-natif avec bien entendu son contenu, et de tout simplement me supprimer de l'article.
Ainsi, si l'utilisateur affiche code source de la page, il ne verra jamais où sont stockés mes fichiers natifs point en revanche, l'administrateur de jumia pourra, en regardant simplement son code source, retrouver un endroit où le natif est enregistré
hidenatifs.php
<?php
defined('_JEXEC') or die('Access deny');
class plgContentHideNatifs extends JPlugin
{
function onContentPrepare($content, $article, $params, $limit){
$re = '/(data-natif\s*?=\s*?".*")/mU';
$article->text = preg_replace($re, "", $article->text);
}
}
?>
hidenatifs.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="plugin" group="content" method="upgrade">
<name>Hidenatifs</name>
<author>Sébastien LHUILLIER</author>
<creationDate>Avril 2024</creationDate>
<copyright></copyright>
<license></license>
<authorEmail>Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.</authorEmail>
<authorUrl>www.sebastien-lhuillier.com</authorUrl>
<version>1.0</version>
<description>
Masque les fichiers natifs stockés dans la prorieté HTML5 data-natifs si l'utilisateur n'est pas administrateur
</description>
<files>
<filename>hidenatifs.xml</filename>
<filename plugin="hidenatifs">hidenatifs.php</filename>
</files>
<config>
</config>
</extension>