Suite des épisodes de la bannière aléatoire !
Résumé des épisodes précédents : grâce à zenphoto, je pouvais aller extraire un morceau d’image d’un des albums. La bannière du site changeait ainsi de manière aléatoire à chauqe chargement de la page, et le résultat était parfois surprenant. Hélas, depuis le début d’année, Free a augmenté sa sécurité, et la fonction php include() que j’utilisais est maintenant totalement interdite. Retour donc à une bannière fixe, malgré de nombreux essais de contournement.
Je me suis alors orienté vers une autre solution : puisque de mon blog WordPress en local (sur le pc) la fonction include fonctionne toujours, lorsque l’image générée me plait, je la sauvegarde dans un répertoire. Il suffit ensuite d’appeler une de ces images de manière aléatoire. Pour ce faire, après une petite recherche sur le web, j’ai trouvé le code suivant :
<?php
$curdir=getcwd(); chdir(get_template_directory() . "/images/headers");
$files=glob("*.{gif,png,jpg,gif}", GLOB_BRACE);
chdir($curdir);
$file=$files[array_rand($files)];
?>
<img src="<?php echo(get_bloginfo('template_url')."/images/headers/$file"); ?>" width="770" height="140" alt="<?php bloginfo('name'); ?> random header image" />
Je le teste en local, tout fonctionne à merveille. Mais voilà, nouveau problème avec Free : glob est également désactivé ! 🙁
Heureusement, mes fichiers portant tous le même nom suivi d’un chiffre (banniereX.jpg), j’ai pu simplifier le code en procédant de la sorte :
<?php
$rand = rand(1, 50);
?>
<img src="<?php echo(get_bloginfo('template_url')."/images/headers/banniere$rand.jpg"); ?>" width="970" height="140" alt="<?php bloginfo('name'); ?> random header image" />
C’est beaucoup plus simple, mais m’oblige à gérer le nombre de fichiers présent manuellement : cinquante images pour l’instant si vous avez suivi… J’en ajouterai sûrement d’autres de temps en temps.
Et finalement, la solution m’a été donnée sur le forum phpfrance : plus de fonction glob, et plus besoin de gérer le nombre d’images :
<?php
$curdir=getcwd(); chdir(get_template_directory() . "/images/headers");
$dossier=getcwd();
$list = opendir($dossier);
$tabfile = array();
while ($fichier = readdir($list))
{
($fichier != "." && $fichier != ".." && $fichier != ".htaccess")? $tabfile[] = $fichier : '' ;
}
closedir($list);
//mélange du tableau
shuffle($tabfile);
// premier élément du tableau
$file = array_shift($tabfile);
chdir($curdir);
?>
<img src="<?php echo(get_bloginfo('template_url')."/images/headers/$file"); ?>" width="970" height="140" alt="morceau d'image..." title="morceau d'image..." />






Enfin, toute la phase de démarrage a été revue : nouvelle apparence, et surtout (encore) plus rapide, avec la suppression de la couche
Après 
Très beau petit roman que celui-ci : je l’ai ouvert un dimanche matin, et ne l’ai refermé que deux heures plus tard, une fois terminé.
Après
A travers ce petit roman, et sans avoir l’air d’y toucher, ce sont les heures sombres de l’occupation japonaise en Mandchourie qui sont évoquées. Vers les années 30, l’armée japonaise occupe le terrain, et le fanatisme envers l’empereur y est de rigueur chez les jeunes officiers.