[PLUGIN]subDomForPict : modifiez les urls de vos images

Jerry WhamJerry Wham Member
mars 2017 modifié dans Plugins
Selon les recommandations de google, il est préférable de disposer d'un sous-domaine pour les images d'un site. Cela permet un téléchargement parallèle des ressources et améliore le temps de chargement des pages.

Si vous avez la possibilité de créer un sous-domaine (la plupart des hébergeurs le proposent), créez-en un afin qu'il pointe vers le dossier data/images/ (modification de l'option open_basedir). Renseignez ensuite l'url de ce sous-domaine dans le panneau de configuration du plugin (si votre sous-domaine est appelé "sous", il faudra mettre dans le champ :
http://sous.domaine.org/
).

Ainsi, si l'option est renseignée, les url du type :
http://www.domaine.org/data/images/sous-dossier/image.png

seront automatiquement modifiées en
http://sous.domaine.org/sous-dossier/image.png

Les sources sont disponibles sur Github.

Historique :

29/01/2014 : dépôt des sources sur github
19/05/2014 : correction bug : Can't use method return value in write context in subDomForPict.php on line 37
01/03/2017 : mise à jour de compatibilité avec Pluxml 5.6

Enjoy :P

Réponses

  • Bonsoir,
    Je n'arrive plus à faire fonctionner ce plugin avec PluXml 5.5.
    J'ai bein créé mon sous-dmaine qui pointe vers mon serveur et sur le serveur j'ai créé un virtual host img.domaine.com qui pointe vers le dossier dossierSite/data/medias dans mon serveur web.

    Une idée ? :s
  • Vu la simplicité du plugin, il devrait continuer de fonctionner quelle que soit la version de PluXml sauf si le hook IndexEnd été supprimé.
    Tu peux nous en dire plus sur ce qui ne se passe pas comme ça devrait ?
  • YannicYannic Member
    février 2017 modifié
    Jerry Wham a écrit:
    Vu la simplicité du plugin, il devrait continuer de fonctionner quelle que soit la version de PluXml sauf si le hook IndexEnd été supprimé.
    Tu peux nous en dire plus sur ce qui ne se passe pas comme ça devrait ?

    Salut, en regardant vite fait, c'est que le plugin cherche à remplacer data/images au lieu de data/medias mais surtout il faudrait prendre en compte le cas changement du dossier medias par l'utilisateur ce qui serais possible je pense en faisant un autre hook juste avant pour creer une nouvelle constante du genre PLX_MEDIAS à utiliser dans le plugin ou quelque chose du genre pour recuperer le chemin medias utilisé.

    Edit : pas besoin de constante, quelque chose du genre pour le hook IndexEnd :
    		if ($this->getParam('subdom')!="") {
    			$a = '\'.str_replace(\'/\',\'\/\',$plxMotor->aConf[\'medias\'])';
    			$b = $this->getParam('subdom');
    			$string = '$output = preg_replace(\'/src="(.*)'.$a.'.\'/\',\'src="'.$b.'\',$output);';
    			echo "<?php ".$string." ?>";
    		}
    
    ( à optimiser / revoir peut-être car j'ai eu du mal avec les slaches,antislashs,guillemets,apostrophes ) mais à l'air de bien fonctionner chez moi dans cette forme.

    PS: L'idée de faire pointer un sous-domaine sur le dossier médias est excellente.

    Buster/NGINX/PHP7/PluXml5.8

  • Ah oui, à l'époque, le dossier images était bien distinct. Donc l'évolution que tu proposes est très justifiée. Mais à optimiser en effet.
Connectez-vous ou Inscrivez-vous pour répondre.