1 - Fonctions de cache
function lis_dans_cache($fichier,$returnvar=null,$echoresult=null,$unserialize=true){
  //lit le cache
  if (file_exists('temp/'.$fichier)){
    $var=file_get_contents('temp/'.$fichier);
    if ($unserialize==true){$var=unserialize($var);}
    if ($echoresult==true){echo $var;return true;}
    if ($returnvar==true){return $var;} 
  }else{return false;}
}
function ecris_dans_cache($fichier,$var,$serialize=true){
  //ecrit le cache
  if ($serialize==true){$var=serialize($var);}
  file_put_contents('temp/'.$fichier,$var);
}
function clear_cache(){
  $fs=glob('temp/*');
  foreach ($fs as $file){
      unlink ($file);
  }
}
function start_cache(){
  ob_start();
}
function end_cache($fichier,$returnvar=null,$echoresult=null){
  $var=ob_get_clean();
  if ($echoresult==true){ecris_dans_cache($fichier,$var,false);echo $var;return true;}
  if ($returnvar==true){ecris_dans_cache($fichier,$var,true);return unserialize($var);}
  
}


//Stocker le résultat d'une portion de code

          if (!$var=lis_dans_cache('nomdufichierdecache',true,false,false)){// pas dans le cache
            start_cache();
              list_matching_snippets($titre,$tagonly);
            end_cache'nomdufichierdecache',false,true);
          }else{
            echo $var;
          }

//Stocker une variable
if (!$var=lis_dans_cache('tagcloud',true,false,true)){
  $tags=list_tags();
  $taglist=array();
  foreach($tags as $tag){
    $taglist[]=$tag['x'];
  }
  natcasesort($taglist);
  
  ecris_dans_cache('tagcloud',$taglist,true);
  ecris_dans_cache('tags',$tags,true);
}else{
  $taglist=$var;
  $tags=lis_dans_cache('tags',true);
}