#!/bin/bash # Paramètres de connexion au site web distant $FAI_USERNAME="Votre nom d'utilisateur" $FAI_PASSWORD="Votre mot de passe" # Répertoire de base de la galerie BASE_REP="/home/e-smith/files/ibays/galerie/galerie" # Nom des répertoires contenant les images grand format HIGH_REP="pwg_high" # Nom des répertoires contenant les vignettes TN_REP="thumbnail" # Préfixe des fichiers vignettes TN_PRE="tn-" # Dimension des vignettes TN_SZ=150 # Dimension des images à afficher IMG_SZ=800 # Qualité des images QUAL=80 mk_thumb() { for i in `ls -Aw1 $1` do # Ignorer les répertoires des images grand format et des vignettes if [ -d $1/$i -a "$i" != "$HIGH_REP" -a "$i" != "$TN_REP" ] then # Recherche des fichiers JPEG find $1/$i -type f -maxdepth 1 \( -iname *.jpg -o -iname *.jpeg \) -printf "%f\n" | while read IMG_FILE do echo -n "Traitement de $i/$IMG_FILE..." # Renommage du fichier en minuscules IMG_FILE_LOWER=$(echo $IMG_FILE | tr '[:upper:] àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ' '[:lower:]_aceeeeiioouuACEEEEIIOOUU') if [ $IMG_FILE != $IMG_FILE_LOWER ] then mv $1/$i/$IMG_FILE $1/$i/$IMG_FILE_LOWER && echo -n " LOWER..." IMG_FILE=$IMG_FILE_LOWER fi # Suppression de l'EXIF thumbnail jhead -dt $1/$i/$IMG_FILE > /dev/null && echo -n " EXIF..." # Correction de la date dans l'EXIF IMG_DATE=$(jhead -v $1/$i/$IMG_FILE | grep "DateTime " | cut -b 17-35 | tr "\- T" ":-") IMG_ORIG=$(jhead -v $1/$i/$IMG_FILE | grep "DateTimeOriginal " | cut -b 29-47 | tr "\- T" ":-") if [ "$IMG_ORIG" != "" -a "$IMG_DATE" != "$IMG_ORIG" ] then jhead -ts$IMG_ORIG $1/$i/$IMG_FILE > /dev/null && echo -n " DATE..." fi # Vérification de la taille de l'image if [ $(identify -format "%w" $1/$i/$IMG_FILE) -gt $IMG_SZ -o $(identify -format "%h" $1/$i/$IMG_FILE) -gt $IMG_SZ ] then # Création du répertoire des images grand format [ ! -e $1/$i/$HIGH_REP ] && mkdir $1/$i/$HIGH_REP # Déplacement du fichier dans le répertoire des images grand format if [ ! -e $1/$i/$HIGH_REP/$IMG_FILE ] then mv $1/$i/$IMG_FILE $1/$i/$HIGH_REP && echo -n " HIGH..." fi # Redimensionnement de l'image à afficher convert -antialias -geometry $IMG_SZ\x$IMG_SZ\> -quality $QUAL $1/$i/$HIGH_REP/$IMG_FILE $1/$i/$IMG_FILE && echo -n " SIZE..." fi # Création du répertoire des vignettes [ ! -e $1/$i/$TN_REP ] && mkdir $1/$i/$TN_REP # Création de la vignette TN_FILE=$1/$i/$TN_REP/$TN_PRE$IMG_FILE if [ ! -e $TN_FILE ] then convert -antialias -thumbnail $TN_SZ\x$TN_SZ\> -quality $QUAL $1/$i/$IMG_FILE $TN_FILE && echo -n " THUMB..." fi echo done # On recommence avec le répertoire suivant mk_thumb "$1/$i" fi done } echo "" echo "********************************************************" echo "* Création des vignettes *" echo "********************************************************" IFS=$'\t\n' mk_thumb $BASE_REP echo "" echo "********************************************************" echo "* Mise à jour des photos sur le site distant *" echo "********************************************************" /usr/bin/lftp -c "open -u $FAI_USERNAME,$FAI_PASSWORD ftp://ftpperso.free.fr ; mirror -R -e -vvv $BASE_REP /galerie/"