#!/bin/bash

# TP shell
#
# Question I - 5
# 
# Antoine Miné
# 26/01/2007

# cette solution est dérivée de celle de la question 2
# on peut y ajouter les améliorations de la question 4

# nettoyage
rm -f index.html

# on n'efface pas thumb-*

# en-tête
echo "<html>" >> index.html
echo "<head><title>Mes Photos</title></head>" >> index.html
echo "<body><h1>Photos</h1><ul>" >> index.html

# liste des fichiers, les plus récents en dernier
# on ignore les fichiers commençant par thumb- (grep)
# on échappe les espaces par le mot-clé ESPACE (sed)
# INCONVENIENT: le nom de fichier original ne doit pas contenir le mot ESPACE
liste=`ls -d -1 -u -r *.JPG *.jpg *.JPEG *.jpeg *.PNG *.png *.GIF *.gif 2>/dev/null | grep -v "thumb-*" | sed  -e 's/ /ESPACE/g'`

# génération de la page
for i in $liste
do
    # on reconstitue les espaces
    i=`echo $i | sed  -e 's/ESPACE/ /g'`

    if test -f "$i" && (identify "$i" >/dev/null)
    then
	# génération de la minitature si le fichier est nouveau ou a changé 
	if test ! \( -f "thumb-$i" -a "thumb-$i" -nt "$i" \)
	then
	    echo "conversion de $i"
	    convert "$i" -quality 35 -resize 120x120 "thumb-$i"
	fi
	j=`echo "$i" | sed -e 's/&/\\&amp;/g' -e 's/"/\\&quot;/g' -e 's/</\\&lt;/g' -e 's/>/\\&gt;/g'`
	echo "<a href=\"$j\"><img src=\"thumb-$j\"></a>" >> index.html
    fi
done


# fin de page
echo "</body></html>" >> index.html
