﻿Script pour Changer de fond d'écran avec les images d'une galerie coppermine.



	Ce script fonctionne sous Linux sous l'environnement graphique Gnome, pour les curieux qui ne connaissent pas Linux, je les invites à tester Ubuntu livecd: http://www.ubuntu-fr.org/

I.Installation de cpmfetch:

cpmfetch est un outil php permettant de récupérer une image de votre galerie Coppermine pour, principalement, l'afficher sur un site tiers. J'ai utilisé cette outil pour me permettre de récupérer une image au hasard en local.

Télécharger la dernière version stable de cpmfetch "http://cpmfetch.fistfullofcode.com/downloads/copperminefetch-2.0.0.tar.gz" et décompresser la. Le dossier fraichement créer contient 2 sous dossiers qui nous intéresse particulièrement:

le dossier docs, qui contient le manuel d'installation et d'utilisation de cpmfetch, pour l'ouvrir, double clic sur docs/basic/index.php.

le dossier cpmfetch qu'il convient de transférer à la racine de votre galerie (par exemple si votre galerie ce trouve à l'adresse http://mon_site_perso/ma_galerie/ il faudra déposer le dossier dans le dossier ma_galerie)

une fois le dossier copier vers votre site, lancer le script install.php, pour cela rendez vous à l'adresse de votre galerie comme suit: http://mon-site/ma_galerie/cpmfetch/install.php
	Vous devriez obtenir une page contenant un certain nombre d'information au sujet de votre serveur, ainsi que des liens vers des images de votre galerie. Dans le cas contraire, ce référer à la documentation.

	Cpmfetch est installer, il faut maintenant créer une petite page php afin de générer notre image aléatoire: ouvrir un éditeur de texte basic comme gedit par exemple (ou vi pour les puriste)
coller ce code (ou télécharger la page toute faite depuis le forum):


<?php
  include_once "./cpmfetch/cpmfetch.php";
  $objCpm = new cpm("./cpmfetch/cpmfetch_config.php");
  $objCpm->cpm_viewRandomMediaFrom("",1, 1, array( 'imagesize' => 'large' ));
  $objCpm->cpm_close(); 
?>


les deux première ligne doivent être modifier selon la configuration de votre site (exemple: http://mon_site/ma_galerie donnera include_once ''./ma_galerie/cpmfetch/cpmfetch.php'')

la troisième ligne permet de demander à cpmfetch d'afficher 1 image en taille réel (pour plus de détail voir la doc de cpmfetch).

Enregistrer ce code au format .php (random.php pour notre exemple) et copier le dans votre galerie, tester son bon fonctionnement en le lançant depuis votre navigateur.

Voilà l'installation de cpmfetch terminé, le plus gros est fait, maintenant nous allons travailler sur notre poste local (sous linux bien sur).

II.Installation du script d'application du fond d'écran.

Ouvre un éditeur de texte et copier ce script  (ou télécharger la page toute faite depuis le forum):

#! /bin/sh
# paramètre(par défaut=scale): [scale|tile|center|seamless]

#chemin vers l'image de fond: 
imgtmp=~/.cpgwallpaper/cpgwallpaper.jpg.tmp
imgwp=~/.cpgwallpaper/cpgwallpaper.jpg
imgdir=~/.cpgwallpaper
#Chemin vers fond d'écran (système) par défaut
gct=$(gconftool-2 -g /desktop/gnome/background/picture_filename)
type="${1:-scale}"
#creation du dossier .cpgwallpaper, dans le dossier perso de l'utilisateur, s'il n'existe pas
test ! -d "$imgdir" && mkdir "$imgdir"
#Récupération de l'image aléatoire (random.php représente la page php précédemment créer et transférer)
wget -q http://url.de.coppermine/random.php -O-|sed -n 's/.*src="\([^"]*\).*$/\1/p'|wget -q -i- -O- > "$imgtmp"
#transfert de l'image tmp vers jpg
mv "$imgtmp" "$imgwp"
#Application de l'image en fond écran
test "$gct" != "$imgwp" && gconftool-2 -s -t string /desktop/gnome/background/picture_filename "$imgwp" 

Pensez à bien modifier la ligne wget -q http://url.de.coppermine/random.php en remplaçant l'url par la votre...

enregistrer ce script (cpgwallpaper.sh) dans votre dossier personnel (je vous conseille de créer un dossier .cpgwallpaper et de l'enregistrer dedans) et rendez le exécutable: clic droit > propriétés > Permissions > cocher la case « autoriser l'exécution du fichier comme un programme » tester son bon fonctionnement double clic > lancer. Le fond d'écran du bureau doit changer après quelques secondes.

Pour changer de fond d'écran à chaque démarrage, dans système > préférences > application au démarrage > cliquez sur le bouton ajouter, compléter le champ NOM et cliquer sur parcourir pour choisir le script cpgwallpaper.sh.

Pour changer le fond toutes les x minutes, utiliser l'outil crontab: dans un terminal taper crontab -e (si c'est la première fois que vous utilisez crontab, vous devrez choisir un éditeur...)
ajouter une ligne pour le script, par exemple pour le lancer toutes les 5 minutes:
*/5 * * * * /chemin/vers/le/script/wallpaper.sh > /dev/null
J'admets que la crontab c'est pas très simple à utiliser... plus de détail c'est ici: http://doc.ubuntu-fr.org/cron

C'est terminé, le script cpgwallpaper.sh et cette documentation sont libre d'usage de modification et de tout ce que vous voulez...
