PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 17/04/2013 10:41:39

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

[plugin] plxMinifyCache

Description :

minifie et met en cache le source. Basé sur Steve Clay et Ryan Minify.

Exemple :

http://imanweb.free.fr/blog/

Télécharger :

http://imanweb.free.fr/PluXML/

Github.com :

https://github.com/ali0une/plxMinifyCache

installation :

auto (v1.2)

configuration :

Possibilité de spécifier la durée (en secondes) du cache (defaut = 3600).
Possibilité de spécifier certaines pages à ne pas mettre en cache (article, recherche) (v1.3)
Pages issue de POST ne sont pas mises en cache (v1.4)
Possibilité de minifier les inline scripts et styles. (v1.4)

administration :

Possibilité de voir et vider le cache (v1.2)

Dernière modification par i M@N (20/04/2013 01:47:17)

Hors ligne

#2 17/04/2013 11:08:55

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

Salut
Très interessant ce plugin.
Ce qui m'interesserait maintenant c'est un benchmark pour quantifier le gain fait avec le plugin et son cache (en utilisant par exemple le plugin MyLoremIpsum pour générer 10, 100, 500, 1000 articles et comparer les perfs avec et sans cache).
Je vais regarder le code pour voir si on peut s'affranchir de la modif du fichier index.php


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#3 17/04/2013 12:14:01

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

v1.1 : pas de cache en mode preview

Hors ligne

#4 17/04/2013 12:19:48

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

Stéphane a écrit :

Très interessant ce plugin.

Merci : )


Stéphane a écrit :

Ce qui m'interesserait maintenant c'est un benchmark pour quantifier le gain fait avec le plugin et son cache (en utilisant par exemple le plugin MyLoremIpsum pour générer 10, 100, 500, 1000 articles et comparer les perfs avec et sans cache).

Pourquoi pas ... même en gagnant 10 ko par page, plus t'affiches de pages plus tu gagnes. Et surtout tu soulages le server : il calcule ta page toutes les heures, le reste du temps il se contente d'envoyer une page déjà générée. De toute façon tu y gagnes.


Stéphane a écrit :

Je vais regarder le code pour voir si on peut s'affranchir de la modif du fichier index.php

Nice : )

Hors ligne

#5 17/04/2013 14:37:19

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

(re)Salut


Voilà mes remarques, explications et ma version de ton plugin wink


- ci-dessous donc ma version sans avoir besoin de modifier le fichier index.php.
- juste besoin d'activer le plugin et ça fonctionne
- j'utilise le hook IndexEnd. Tu es passé à coté d'une fonctionnalité des plugins, celle qui permet d'injecter du code au niveau d'un hook pour qu'il y soit interprété à cet endroit, et non pas dans la méthode du plugin. Il faut construire une chaine de caractère avec dedans le code que tu veux executer. Après en faisant un echo "<?php ".$ma_chaine." ?>"; le code sera executé non pas dans la méthode du plugin mais à l'endroit du hook appelé.
- question: faut-il utiliser ob_end_flush ? J'ai vu que tu as mis la ligne en commentaire. Perso j'executerais cette ligne car sinon on a que l'ob_start executé et pas de fonction qui ferme la bufférisation.
- j'ai modifié la fonction OnDeactivate pour ne pas utiliser la fonction glob car si je me souviens bien sur free.fr par exemple l'utilisation de cette fonction est désactivée. Donc comme il y a un risque avec certains hébergeurs, j'ai préféré une méthode plus classique.
- bien vu: on prefera readfile que file_get_contents (ou autre) car c'est la plus rapide, donc la plus intéressante pour un système de cache.
- le test sur le mode préview je l'ai mis au niveau du constructeur pour conditionner la déclaration du hook du plugin, ce qui est beaucoup plus optimisé. on n'éxecute pas comme ça des lignes inutiles.
- ça serait pas mal d'avoir une option pour vider le répertoire du cache à partir de l'administration. ça peut etre utile car si on fait des modifs online, ça permettra de forcer un rafraichissement du cache.


Voilà, ça sera tout pour le moment wink


<?php
/**
 * Plugin plxMinifyCache
 *
 * @package	PLX
 * @version	1.0
 * @date	15/04/2013
 * @author	i M@N
 **/
class plxMinifyCache extends plxPlugin {

	/**
	 * Constructeur de la classe plxMinifyCache
	 *
	 * @param	default_lang	langue par défaut utilisée par PluXml
	 * @return	null
	 * @author	i M@N
	 **/
	public function __construct($default_lang) {

		# Appel du constructeur de la classe plxPlugin (obligatoire)
		parent::__construct($default_lang);

		# droits pour accéder à la page config.php du plugin
		$this->setConfigProfil(PROFIL_ADMIN);

		# Déclarations des hooks
		if($_SERVER['QUERY_STRING'] != 'preview') # pas de gestion du cache si on est en mode preview
			$this->addHook('IndexEnd', 'IndexEnd');
	}

	public function OnActivate() {
		/* cache dir check */
		if (!is_dir(PLX_ROOT."cache/")) {
		mkdir(PLX_ROOT."cache/");
		}
		$plxMotor = plxMotor::getInstance();
		if (version_compare($plxMotor->version, "5.1.7", ">=")) {
			if (!file_exists(PLX_ROOT."data/configuration/plugins/plxMinifyCache.xml")) {
				if (!copy(PLX_PLUGINS."plxMinifyCache/parameters.xml", PLX_ROOT."data/configuration/plugins/plxMinifyCache.xml")) {
					return plxMsg::Error(L_SAVE_ERR.' '.PLX_PLUGINS."plxMinifyCache/parameters.xml");
				}
			}
		}
	}

	/**
	 * Méthode appelée quand on désactive le plugin: pour nettoyer le cache
	 *
	 * @return	null
	 * @author	Stephane F.
	 **/
	public function OnDeactivate() {
		/* clean cache dir */
		if($dh = opendir(PLX_ROOT."cache/")) {
			while(($file = readdir($dh))!== false) {
				if(strtolower(strrchr($file,'.')==".html"))
					unlink(PLX_ROOT."cache/".$file);
			}
			closedir($dh);
		}
	}

	/**
	 * Méthode qui gère le cache de la sortie écran
	 *
	 * @return	stdio
	 * @author	i M@N, Stephane F.
	 **/
	public function IndexEnd() {

		$string = '
		require_once(PLX_PLUGINS."plxMinifyCache/lib/HTML.php");
		require_once(PLX_PLUGINS."plxMinifyCache/lib/JSMin.php");
		require_once(PLX_PLUGINS."plxMinifyCache/lib/CommentPreserver.php");

		$output = preg_replace("@ {2,}|\t+@is", "", $output);
		$output = preg_replace("@<br />@is", "<br>", $output);
		$output = preg_replace("@<hr />@is", "<hr>", $output);

		$output = Minify_HTML::minify($output, array(
				"jsMinifier" => array("JSMin", "minify"),
				"jsCleanComments",
				"xhtml" => true
			)
		);

		$output = preg_replace("@\n@is", " ", $output); # suppression de retour chariot

		$delay = "'.$this->getParam("delay").'";
		$cache = PLX_ROOT."cache/cache_".md5($_SERVER["QUERY_STRING"]).".html";
		$expire = time() - $delay; // 3600 (1 hr)
		if(@is_file($cache) AND filemtime($cache) > $expire) {
			$expire_offset = $delay;
			header("Expires: ".gmdate("D, d M Y H:i:s", time() + $expire_offset)." GMT");
			header("Cache-Control: private, must-revalidate, proxy-revalidate, post-check=10, pre-check=60, max-age=".$expire_offset);
			header("Pragma: no-cache");
			$gzip = substr_count($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") ? "ob_gzhandler" : "";
			ob_start($gzip);
			readfile($cache);
			echo "\n<!-- cached ".$_SERVER["QUERY_STRING"]." ".date("Y-m-d H:i:s",filemtime($cache))." -->";
			ob_end_flush();
			exit;
		} else {
			$output .= "\n<!-- minified ".date("Y-m-d h:i:s")." -->";
			file_put_contents($cache, $output);
		}
		';
		echo '<?php '.$string.' ?>';
	}
}
?>

Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#6 17/04/2013 18:22:26

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

je viens de penser à une autre optimisation possible: utiliser include au lieu de require_once qui sera plus rapide


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#7 17/04/2013 18:28:05

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

Stéphane a écrit :

(re)Salut
Voilà mes remarques, explications et ma version de ton plugin wink

re ... cool : )


Stéphane a écrit :

- ci-dessous donc ma version sans avoir besoin de modifier le fichier index.php.
- juste besoin d'activer le plugin et ça fonctionne

Parfait, merci. Je note ça peut resservir.


Stéphane a écrit :

- j'utilise le hook IndexEnd. Tu es passé à coté d'une fonctionnalité des plugins, celle qui permet d'injecter du code au niveau d'un hook pour qu'il y soit interprété à cet endroit, et non pas dans la méthode du plugin. Il faut construire une chaine de caractère avec dedans le code que tu veux executer. Après en faisant un echo "<?php ".$ma_chaine." ?>"; le code sera executé non pas dans la méthode du plugin mais à l'endroit du hook appelé.

Clairement, je ne suis pas encore un expert, je bidouille encore pas mal malgré le super PDF pour faire un plugin. Merci pour l'explication, ça aussi je vais m'en resservir je pense. : )


Stéphane a écrit :

- question: faut-il utiliser ob_end_flush ? J'ai vu que tu as mis la ligne en commentaire. Perso j'executerais cette ligne car sinon on a que l'ob_start executé et pas de fonction qui ferme la bufférisation.

Grande question ... à priori c'est pas la peine, ça génère plus de problèmes qu'autre chose. D'après ce que j'ai compris ob_end_flush est appelé automatiquement à la fin de l'exécution du script c'est donc redondant et il n'est utile que dans certains cas, notament les boucles.


Stéphane a écrit :

- j'ai modifié la fonction OnDeactivate pour ne pas utiliser la fonction glob car si je me souviens bien sur free.fr par exemple l'utilisation de cette fonction est désactivée. Donc comme il y a un risque avec certains hébergeurs, j'ai préféré une méthode plus classique.

glob est plus optimal, donc je garde glob et je mets un fallback si !function_exists('glob') avec ta méthode. ; )


Stéphane a écrit :

- bien vu: on prefera readfile que file_get_contents (ou autre) car c'est la plus rapide, donc la plus intéressante pour un système de cache.

Oui.


Stéphane a écrit :

- le test sur le mode préview je l'ai mis au niveau du constructeur pour conditionner la déclaration du hook du plugin, ce qui est beaucoup plus optimisé. on n'éxecute pas comme ça des lignes inutiles.

Ah merci, ça aussi je savais pas trop comment m'y prendre. : )


Stéphane a écrit :

- ça serait pas mal d'avoir une option pour vider le répertoire du cache à partir de l'administration. ça peut etre utile car si on fait des modifs online, ça permettra de forcer un rafraichissement du cache.

Done pour la v1.2 dispo demain. ; )


Stéphane a écrit :

Voilà, ça sera tout pour le moment wink

C'est déjà pas mal, mais merci pour le coup de main "much appreciated". : )
Je te mets dans les auteurs et dans les crédits, c'est la moindre des choses.



Edit :

Stéphane a écrit :

je viens de penser à une autre optimisation possible: utiliser include au lieu de require_once qui sera plus rapide

Ah ah ... t'es là!

Justement je l'ai modifié cet après-midi, ça m'a choqué aussi, j'ai dû copier/coller sans faire attention j'utilise jamais require_once c'est moins optimal que include_once. ; )

++

Dernière modification par i M@N (17/04/2013 18:32:09)

Hors ligne

#8 17/04/2013 21:39:14

bankai
Pluxml Forever :)
Lieu : Saint-Pierre-la-cour
Inscription : 06/02/2011
Messages : 611
Site Web

Re : [plugin] plxMinifyCache

Je testerais ce plugin pendant le Week-End, jolie travail les amis smile


Mon site web : Mon blog tout simplement avec sa version de pluXml : version dev Github
Un soucis, une angoisse, une question ? le Wiki est là pour tous ici, pour le reste, on est là pour ça :-)
Suivre PluXml sur les réseaux sociaux : Google+ Twitter

Hors ligne

#9 17/04/2013 21:59:06

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

v1.2 :

  • ajout d'une interface admin pour vider le cache.

  • modifications suite aux remarques de Stéphane, merci à lui : )

v1.2 commit sur github


@bankai merci : )

Dernière modification par i M@N (17/04/2013 22:00:01)

Hors ligne

#10 18/04/2013 17:27:23

bg62
Membre
Inscription : 18/05/2007
Messages : 1 782
Site Web

Re : [plugin] plxMinifyCache

superbe wink
un petit test du GTmerix et 2% de gain ce qui n'est pas moindre chose ...
mais, perso, j'ai ceci, lorsque je clique sur le titre d'un article :

Fatal error: Uncaught exception 'JSMin_UnterminatedStringException' with message 'JSMin: Unterminated String at byte 404: 'écran HD</strong><br>' in /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php:203 Stack trace: #0 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php(145): JSMin->action(1) #1 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php(84): JSMin->min() #2 [internal function]: JSMin::minify('?-->?</div>??<d...') #3 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/HTML.php(241): call_user_func(Array, '?-->?</div>??<d...') #4 [internal function]: Minify_HTML->_removeScriptCB(Array) #5 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/HTML.php(108): preg_replace_callback('/(\s*)<script(\...', Array, '<!DOCTYPE html>...') #6 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/HTML.php(48): Minify_HTML->process() #7 /homepages/39/d141584484/htdocs/index.php(88) : eval()'d code(17): Minify_HTML::minify('<!DOCTYPE html>...', Array) #8 /hom in /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php on line 203

mais quoi qu'est-ce encore ???  (avec la version v1.2)
@+
juste je viens de commencer à mettre en ligne : http://www.unesourisetmoi.info/
smile

Dernière modification par bg62 (18/04/2013 17:38:11)


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#11 18/04/2013 18:01:36

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

@bg62 : tu enlèves ce que tu as modifié dans le fichier index.php, (ce n'est plus nécessaire).
Récupère la v1.2 et reteste.

Si tu as un souci précise l'url, ton hébergeur et la version de PHP.

Merci.

Hors ligne

#12 18/04/2013 18:36:04

bg62
Membre
Inscription : 18/05/2007
Messages : 1 782
Site Web

Re : [plugin] plxMinifyCache

i M@N a écrit :

@bg62 : tu enlèves ce que tu as modifié dans le fichier index.php, (ce n'est plus nécessaire).
Récupère la v1.2 et reteste.

Si tu as un souci précise l'url, ton hébergeur et la version de PHP.

Merci.

je l'avais noté au dessus : la version est bien la v1.2, le lien est dans cette réponse (mais le plugin est donc désactivé .... ) , hébergeur : 1and1, PHP Version 5.2.17 ...  @+

il me donne également des erreurs en local sous wamp ...

( ! ) Fatal error: Uncaught exception 'JSMin_UnterminatedStringException' with message 'JSMin: Unterminated String at byte 520: " />
fonds d'écran animaux : chats et chatons
' in C:\wamp\www\unesourisetmoi.info\plugins\plxMinifyCache\lib\JSMin.php on line 203
( ! ) JSMin_UnterminatedStringException: JSMin: Unterminated String at byte 520: " />
fonds d'écran animaux : chats et chatons
in C:\wamp\www\unesourisetmoi.info\plugins\plxMinifyCache\lib\JSMin.php on line 203
Call Stack
#	Time	Memory	Function	Location
1	0.0006	406144	{main}( )	..\index.php:0
2	0.3231	3262000	eval( '?>@is", "
", $output); $output = preg_replace("@@is", "", $output); $output = Minify_HTML::minify($output, array( # "cssMinifier" => array("Minify_CSS", "minify"), "jsMinifier" => array("JSMin", "minify"), "jsCleanComments", "xhtml" => true ) ); $output = preg_replace("@\n@is", " ", $output); # suppression de retour chariot $delay = "3600"; $cache = PLX_ROOT."cache/cache_".md5($_SERVER["QUERY_STRING"]).".html"; $expire = time() - $delay; // 3600 (1 hr) if(@is_file($cache) AND filemtime($cache) > $expire) { $expire_offset = $delay; header("Expires: ".gmdate("D, d M Y H:i:s", time() + $expire_offset)." GMT"); header("Cache-Control: private, must-revalidate, proxy-revalidate, post-check=10, pre-check=60, max-age=".$expire_offset); header("Pragma: no-cache"); $gzip = substr_count($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") ? "ob_gzhandler" : ""; ob_start($gzip); readfile($cache); echo ""; # ob_end_flush(); exit; } else { $output .= ""; file_put_contents($cache, $output); } ?> )	..\index.php:88
3	0.3297	3519112	Minify_HTML::minify( )	..\index.php(88) : eval()'d code:17
4	0.3297	3574176	Minify_HTML->process( )	..\HTML.php:48
5	0.3297	3574784	preg_replace_callback ( )	..\HTML.php:108
6	0.3412	3776864	Minify_HTML->_removeScriptCB( )	..\HTML.php:108
7	0.3438	3795344	call_user_func ( )	..\HTML.php:241
8	0.3438	3795360	JSMin::minify( )	..\HTML.php:241
9	0.3438	3796056	JSMin->min( )	..\JSMin.php:84
10	0.3513	3814856	JSMin->action( )	..\JSMin.php:145

si ça peut t'aider  ....

Dernière modification par bg62 (18/04/2013 19:43:15)


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#13 18/04/2013 19:16:59

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

Bonjour
Une petite question qui me vient comme ça. Comment se comporte le site pour la partie des commentaires. Si un visiteur poste un commentaire, comment réagit le cache ? Le commentaire est visible tout de suite ou il faut attendre l'expiration du cache pour un rafraichissement ?


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#14 18/04/2013 19:51:35

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

Stéphane a écrit :

Bonjour
Une petite question qui me vient comme ça. Comment se comporte le site pour la partie des commentaires. Si un visiteur poste un commentaire, comment réagit le cache ? Le commentaire est visible tout de suite ou il faut attendre l'expiration du cache pour un rafraichissement ?

Salut : )

il faut attendre l'expiration du cache. A la limite mettre une durée de cache plus courte.

Mais je comprends que ça puisse généer certains. il faudra étudier la possibilité de dissocier ce qui est mis en cache si c'est possible ... à voir, je note.

Hors ligne

#15 18/04/2013 20:06:41

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

@bg62 :
regarde ton source, ligne 131 à 133 :

[== HTML ==]
				<div class="article-content">
					Si vous avez réellement un <span style="text-decoration:underline">grand écran</span>, il vous faut choisir parmi les <strong>fonds d'écran HD</strong> [...] tous ceux qui vous plaisent :)<br />

toutes tes apostrophes ' ne sont pas encodées en &#039; contrairement au reste du source ... commence par remplacer ça pour voir.
C'est la seule page qui bug ou ça fonctionne sur les autres?

Hors ligne

#16 18/04/2013 20:15:53

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

Une idée pour cette histoire de commentaire.
En utilisant le hook plxMotorAddCommentaire, tu pourrais supprimer le fichier en cache pour la page en cours de visu. De cette façon au rechargement de la page, elle sera remis en cache avec le nouveau commentaire.
A voir aussi pour les messages d'erreur s'il y a une erreur de capcha ou si une info obligatoire dans le formulaire n'est pas saisie.
Une autre réflexion pour des problèmes similaires: comment ne pas mettre en cache la page affichée avec le moteur de recherche créée avec le plugin MySearch (on peut se poser le meme genre de question pour d'autres pages qu'il ne faut pas mettre en cache). il faudrait surement prendre en compte le mode d'affichage ($plxShow::mode): home, article, categories, archives, tags.
Ce ne sont que des pistes...


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#17 18/04/2013 20:28:05

bg62
Membre
Inscription : 18/05/2007
Messages : 1 782
Site Web

Re : [plugin] plxMinifyCache

oui  ... pas tout compris là ....
pour cette page  je l'ai régénérée  ... et , perso, je ne vois plus rien d'étrange en ligne ....     ops
pour le reste j'ai réactivé le plugin et  ... mêmes erreurs  ^^^ ???

Dernière modification par bg62 (18/04/2013 20:29:58)


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#18 18/04/2013 21:27:34

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

Stéphane a écrit :

Une idée pour cette histoire de commentaire.
En utilisant le hook plxMotorAddCommentaire, tu pourrais supprimer le fichier en cache pour la page en cours de visu. De cette façon au rechargement de la page, elle sera remis en cache avec le nouveau commentaire.

Bon à savoir mais ça va pas le faire à cause du captcha (voir ci-dessous) et du commentaire qui n'apparaîtra pas ensuite.


Stéphane a écrit :

A voir aussi pour les messages d'erreur s'il y a une erreur de capcha ou si une info obligatoire dans le formulaire n'est pas saisie.

T'as raison ça coince avec le captcha, il ne sera pas actualisé puisqu'il est issu du cache à l'instant où tu veux commenter. Faut désactiver le cache en mode article seul.


Stéphane a écrit :

Une autre réflexion pour des problèmes similaires: comment ne pas mettre en cache la page affichée avec le moteur de recherche créée avec le plugin MySearch (on peut se poser le meme genre de question pour d'autres pages qu'il ne faut pas mettre en cache). il faudrait surement prendre en compte le mode d'affichage ($plxShow::mode): home, article, categories, archives, tags.
Ce ne sont que des pistes...

il faut que je pige comment récupèrer la valeur de $plxShow->plxMotor->mode mais au niveau de mon plugin (dans le header.php de mon theme c'est bon ça echo 'article') pour savoir si c'est un article ... un petit coup de main stp je rame un peu ... : )
C'est bon je viens de trouver : )

Dernière modification par i M@N (19/04/2013 08:02:50)

Hors ligne

#19 18/04/2013 21:29:05

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

bg62 a écrit :

oui  ... pas tout compris là ....

t'inquiète ça me fait ça aussi parfois ...   wink

bg62 a écrit :

pour le reste j'ai réactivé le plugin et  ... mêmes erreurs  ^^^ ???

OK mais je suis pas madame Soleil alors c'est quoi les erreurs cette fois?

Dernière modification par i M@N (18/04/2013 21:30:37)

Hors ligne

#20 19/04/2013 08:02:09

bg62
Membre
Inscription : 18/05/2007
Messages : 1 782
Site Web

Re : [plugin] plxMinifyCache

i M@N a écrit :

OK mais je suis pas madame Soleil alors c'est quoi les erreurs cette fois?

... les mêmes que celles mises plus haut , en ligne comme en local ....
@+


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

#21 19/04/2013 10:08:11

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 222
Site Web

Re : [plugin] plxMinifyCache

Salut i M@N
De la même façon que le test pour savoir si on n'est pas en mode préview, tu peux rajouter celui-ci

AND ($_SERVER['REQUEST_METHOD']!='POST')

De cette façon le résultat des formulaires ne seront pas mis en cache (cas du moteur de recherche par exemple)


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#22 19/04/2013 15:06:23

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

v1.3 : Possibilité de spécifier certaines pages à ne pas mettre en cache (article, recherche)

Hors ligne

#23 19/04/2013 15:08:10

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

Stéphane a écrit :

Salut i M@N
De la même façon que le test pour savoir si on n'est pas en mode préview, tu peux rajouter celui-ci

AND ($_SERVER['REQUEST_METHOD']!='POST')

De cette façon le résultat des formulaires ne seront pas mis en cache (cas du moteur de recherche par exemple)

Merci, je note je mettrai ça dans la v1.4 : )

Hors ligne

#24 19/04/2013 23:24:03

i M@N
Membre
Lieu : Bordeaux, FR / Dakar, SN
Inscription : 07/04/2013
Messages : 72
Site Web

Re : [plugin] plxMinifyCache

v1.4 : Possibilité de spécifier de minifier les inline scripts et styles.
Les pages issues de POST ne sont pas mises en cache.

voir le sur github
v1.4
fix POST v1.4

Dernière modification par i M@N (20/04/2013 01:45:58)

Hors ligne

#25 22/04/2013 11:25:10

bg62
Membre
Inscription : 18/05/2007
Messages : 1 782
Site Web

Re : [plugin] plxMinifyCache

ça commence à viendre  ...  smile
- sur  : http://blog.unesourisetmoi.info/
installé, paramétré et OK  ...  les tests faits montrent son efficacité
mais sur : http://www.unesourisetmoi.info/
si je prodèce de la même manière, tout semble fonctionner SAUF si je clique sur un lien (en sidebar ou dans une page) qui dirige vers un article ^^ et  là :

[== Indéfini ==]

Fatal error: Uncaught exception 'JSMin_UnterminatedStringException' with message 'JSMin: Unterminated String at byte 407: 'écran colorés et agréables. La <span style="text-decoration:underline">flore</span> sur votre ordinateur.<br><img src="data/images/rose-jaune.jpg" alt="rose jaune" /><br><strong>une rose jaune</strong><br>' in /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php:203 Stack trace: #0 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php(145): JSMin->action(1) #1 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php(84): JSMin->min() #2 [internal function]: JSMin::minify('?-->?</div>??<d...') #3 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/HTML.php(241): call_user_func(Array, '?-->?</div>??<d...') #4 [internal function]: Minify_HTML->_removeScriptCB(Array) #5 /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/HTML.php(108): preg_replace_callback('/(\s*)<script(\...', Array, '<!DOCTYPE html>...') #6 /homepages/39/d141584484/htdocs/plug in /homepages/39/d141584484/htdocs/plugins/plxMinifyCache/lib/JSMin.php on line 203

alors là ...  ???
où se trouve le schimilimiblk  ....


le 'www' est fait pour communiquer et échanger, non ?
fonds d'écran   | référencement efficace | Portfolio | Fonds d'écran automobile | outils SEO | échange de liens en dur

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés