Derniers articles

Catégories

Bash Jquery Linux php PluXml Proxy Raspberry Pi ssh Tools Tunnel Unix

Du cache pour PluXml

11 octobre 2012 09:33

PLuXml est vraiment très rapide. Mais sur un mini pc à base d'arm rien n'est jamais asser léger. Un cache des parties les plus lourdes à calculer parait logique.

La fonction ob_start() de php est parfaite pour cela. Les scripts de créations de cache ne manques pas et on ne va donc pas réinventer la roue. Un script trouver sur amoweb.fr fait exactement ce que je cherche, ne reste plus qu'à l'intégrer à PluXml.

Voici pour commencer le fichier staticcache.php que l'on va utiliser. Posé le dans le dossier racine de PluXml.

<?php

if(!@opendir(PLX_ROOT.'plxCache/')) mkdir(PLX_ROOT.'plxCache/');

class plxCache
{	
	//Trouver une technique pour trouve s'il y a eu une modification
	function startCache($name, $plxMotor)
	{
		//Génère un nom de fichier pour la cache, variable en fonction de modifications :
		$filecache = filemtime(PLX_ROOT.$plxMotor->aConf['racine_commentaires'])
								. '-' . filemtime(PLX_ROOT.$plxMotor->aConf['racine_articles']) . '_' . $name . '_cache.tmp';

		//Le fichier cache existe déjà on l'affiche
		if(file_exists(PLX_ROOT.'plxCache/'.$filecache))
		{
		    $cache = fopen(PLX_ROOT.'plxCache/'.$filecache,"r");
		    while (!feof($cache)) echo fgets($cache, 2048);
		    fclose($cache);
			return 0;
		}
		else
		{
			//On supprime l'ancien fichier cache :
			$filesCache = glob(PLX_ROOT.'plxCache/*_'. $name . '_cache.tmp', GLOB_MARK );
			foreach($filesCache as $fileToDelete ) {@unlink($fileToDelete);}
			
			//On lance la caching		
        	ob_start();
			return 1;
		}
	}

	function stopCache($name, $plxMotor)
	{
		$filecache = filemtime(PLX_ROOT.$plxMotor->aConf['racine_commentaires'])
								. '-' . filemtime(PLX_ROOT.$plxMotor->aConf['racine_articles']) . '_' . $name . '_cache.tmp';

		//Le fichier existe déjà, il a donc déjà été affiché :
		if(file_exists(PLX_ROOT.'plxCache/'.$filecache)) return;

		//On récupère le contenu du cache
		$cachecontent = ob_get_contents();
        ob_end_clean();
		//On affiche le cache
        echo $cachecontent;
		//On sauvegarde le cache dans un fichier
        $cache = fopen(PLX_ROOT.'plxCache/'.$filecache, "w");
        fwrite($cache, $cachecontent);
        fclose($cache);
		
	}
}
?>

Il faut maintenant l'intégrer dans notre site, les parties les plus lourdes à calculer sont les listes des articles des pages home, tag, catégorie. Il me parait également interressant de conserver en cache le menu

Pour les pages home, tags et catégories l'intégration est vraiment simple, il faut juste se veiller à ce qu'il y ai un cache pour chaque numéro de page (pagination). Voici un exemple d'intégration dans le fichier home.php de mon template.

Lire la suite de Du cache pour PluXml

Classé dans : Accueil, Divers - Mots clés : PluXml, php - aucun commentaire

PluXml création d'un plugin

10 octobre 2012 13:30

Pour les besoins de ce blog il fallait un système qui puisse gérer la colorisation syntaxique de différents codes et proposer le copier coller du code. Le plugin Jquery Snippet fera l'affaire...


Le système de plugin de PluXml est très bien fait et simple mais nos modifications sont si modestes, à quoi bon alourdir la plume avec un plugin qui forcément va prendre de la ressource. Ce blog tournant sur un Raspberry ceci à son importance, toute relative j’admets...


Pour utiliser snippet il suffit donc d'éditer le fichier header.php ou le fichier correspondant et d'y ajouter quelques lignes, personnellement j’apprécie avoir mes différents fichiers css et js au même endroit, dans l'exemple ci-dessous les fichiers sont posés dans un dossier js dans le répertoire des plugins de pluxml.

<?php
	echo "\t".'<link rel="stylesheet" type="text/css" href="'.PLX_PLUGINS.'js/jquery.snippet.min.css"/>'."\n";
	echo "\t".'<script type="text/javascript" src="'.PLX_PLUGINS.'js/jquery.min.js"></script>'."\n";
	echo "\t".'<script type="text/javascript" src="'.PLX_PLUGINS.'js/jquery.snippet.min.js"></script>'."\n";
	echo "\t".'<script type="text/javascript" src="'.PLX_PLUGINS.'js/blogathome.js"></script>'."\n";
?>

Il faut également quelques lignes ou l'on va configurer les thèmes à utiliser et les différents effets. Perso tout mes codes js se trouvent dans le fichier blogathome.js listé ci-dessus.


Un exemple de directives pour appeler snippet:

$(document).ready(function(){

$("pre.htmlCode").snippet("html",{style:"vim-dark",clipboard:"/blog/plugins/snippet/ZeroClipboard.swf",showNum:false});

$("pre.styles").snippet("css",{style:"vim-dark",clipboard:"/blog/plugins/snippet/ZeroClipboard.swf",showNum:false});
	// Finds <pre> elements with the class "styles"
	// and snippet highlights the CSS code within
	// using the "vim-dark" styling.
	// without showing line numbers.

$("pre.js").snippet("javascript",{style:"vim-dark",clipboard:"/blog/plugins/snippet/ZeroClipboard.swf",showNum:true});
	

$("pre.dynamic").snippet("php",{style:"vim-dark",clipboard:"/blog/plugins/snippet/ZeroClipboard.swf",showNum:true});
		
});

Vous trouverez d'autres exemples sur le site de snippet.

Il suffit ensuite de mettre la class voulue à une balise <pre> afin de voir snippet faire son job...


Lire la suite de PluXml création d'un plugin

Classé dans : Accueil, Divers - Mots clés : PluXml, Jquery - aucun commentaire

Raspberry Pi kesako

07 octobre 2012 23:10

Le Raspberry Pi utilise un processeur de type arm, les mêmes que ceux de la pluparts de nos smartphones quoiques ceux-ci ont des processeurs plus récents, plus de mémoires et sont souvents bien plus puissants.

C'est donc un ordinateur vraiment minimaliste, lancé par la fondation du même nom, le projet est essentiellement à but éducatif. Le Raspberry possède un port GPIO lui ouvrant la porte des "sens". En effet ce port lui permet d’interagir avec des senseurs externes, ce qui le rend très intéressant et permet d'imaginer des utilités non soupçonnées.


Mon utilisation du joujou va être plus traditionnel;
  • Serveur de fichier via smb et nfs
  • Serveur de backup via rsync
  • Serveur de streaming via mpd
  • Serveur web


Voila en gros comment le petit va se faire manger...

Lire la suite de Raspberry Pi kesako

Classé dans : Accueil, Divers - Mots clés : Raspberry Pi - aucun commentaire

Mini serveur mini Blog PluXml

07 octobre 2012 20:59

Par quoi commencer ce blog...

Une présentation de ce mini cms taillé sur mesure pour le Raspberry Pi


Lire la suite de Mini serveur mini Blog PluXml

Classé dans : Accueil, Divers - Mots clés : PluXml, Raspberry Pi, PluXml - aucun commentaire

précédente page 2 sur 2

Derniers articles

Catégories

Archives