Bonjour Anne,
Toutes mes condoléances.
Il se trouve que j'ai récemment eu un besoin similaire, pour diffuser
des photos de mariage, et voici comment je m'y suis pris : j'ai utilisé
ImageMagick pour réduire la taille des photos, et Galleriffic, une
librarie jQuery sous licence Creative Commons, qui permet de faire des
pages web semi-automatiquement à partir d'un stock de photos, plus un
script écrit pour l'occasion, pour automatiser tout ça.
Mes photos s'appellent toutes IMG_xxxx.JPG, donc il faudra probablement
adapter à ton cas personnel. Le script s'appelle process.sh (cf. PJ). Il
prend en entrée un fichier texte (ici, people.txt), qui comporte le
numéro de chaque photo et un descriptif de quelques mots. Tu peux lancer
le script autant de fois que tu veux, il ne traite que les fichiers qui
n'ont pas déjà été traités.
Le fichier index1.html est statique et contient le haut de page, le
index3.html est statique et contient le bas de page, et le index2.html
est dynamique (généré par le script) et contient le milieu de page. Une
fois que c'est fait, tu "uploades" sur ton serveur le index.html qui
résulte de la concaténation des fichiers ci-dessus, et le contenu des
répertoires ./large, ./small et ./thumb.
N.B. : le script ne prétend pas être optimal dans son utilisation
d'ImageMagick (j'ai découvert des astuces depuis, que je n'ai pas encore
intégrées dedans), mais il fait ce pour quoi il a été écrit, donc
pas-taper-merci.
Voili-voilà, j'espère que ça pourra t'être utile. Adapte le truc à ton
besoin, à tes souhaits, c'est libre.
--
Marc
Le 23/09/2016 à 13:32, anne.guilde@??? a écrit :
> bonjour,
>
> Ma mère est décédée et j'ai pris plein de photos d'objets et de meubles
> pour qu'on se partage avant de vendre l'appartement.
>
> J'ai mon propre serveur à la maison.
>
> J'aimerais faire un site web pour que toutes les personnes puissent
> choisir à distance les objets.
>
> Mon premier problème est le poids des photos : plus de 2 mo par photo.
> A distance cela ne va pas être génial pour visualiser.
> Le chargement de toutes ces photos va être pénible.
>
> Auriez-vous une solution pour alléger ces photos?
>
> Y-a-t-il un logiciel que je pourrais utiliser pour afficher toutes ces
> photos?
>
> Merci
> Anne
>
6687 Yves
6691 Agnès et Richard
6692 Michel et Jacqueline
6700 La Dodoche
6707 Guillaume
6712 Départ de la mairie en Dodoche (1)
6713 Départ de la mairie en Dodoche (2)
#!/bin/bash
if [ ! -d "large" ] ; then
mkdir large
fi
if [ ! -d "small" ] ; then
mkdir small
fi
if [ ! -d "thumb" ] ; then
mkdir thumb
fi
watermark="false"
if [ -f "index-2.html" ] ; then
rm index-2.html
fi
while read line ; do
number=`echo $line | awk '{ print $1 }'`
names=`echo $line | awk '{ for (i=2;i<NF;i++) { printf "%s ",$i }; printf $NF }'`
FullSizeImageName="IMG_"$number".JPG"
LargeImageName="IMG_"$number"_LARGE.JPG"
SmallImageName="IMG_"$number"_SMALL.JPG"
ThumbImageName="IMG_"$number"_THUMB.JPG"
if [ ! -f "$FullSizeImageName" ] ; then
echo "File $FullSizeImageName not found"
else
ImageSize=`identify $FullSizeImageName | awk '{ print $3 }'`
ImageWidth=`echo $ImageSize | awk -Fx '{ print $1 }'`
ImageHeight=`echo $ImageSize | awk -Fx '{ print $2 }'`
if [ ! -f "./large/$LargeImageName" ] ; then
if [ $ImageWidth -gt $ImageHeight ] ; then
convert $FullSizeImageName -resize 1500x1000 /tmp/temp$$
else
convert $FullSizeImageName -resize 1000x1500 /tmp/temp$$
fi
if [ "$watermark" = "true" ] ; then
composite -compose multiply -gravity SouthEast -geometry +30+30 \
watermark450x50.png /tmp/temp$$ ./large/$LargeImageName
else
mv /tmp/temp$$ ./large/$LargeImageName
fi
echo ./large/$LargeImageName" created"
else echo "$FullSizeImageName already processed"
fi
if [ ! -f "./small/$SmallImageName" ] ; then
if [ $ImageWidth -gt $ImageHeight ] ; then
convert $FullSizeImageName -resize 500x333 ./small/$SmallImageName
else
convert $FullSizeImageName -resize 333x500 ./small/$SmallImageName
fi
echo ./small/$SmallImageName" created"
fi
if [ ! -f "./thumb/$ThumbImageName" ] ; then
if [ $ImageWidth -eq 3456 ] && [ $ImageHeight -eq 5184 ] ; then
# Photo de taille standard, format portrait
convert $FullSizeImageName -resize 2% /tmp/temp$$
elif [ $ImageWidth -eq 5184 ] && [ $ImageHeight -eq 3456 ] ; then
# Photo de taille standard, format paysage
convert $FullSizeImageName -resize 2% /tmp/temp$$
elif [ $ImageWidth -lt $ImageHeight ] ; then
# Cas particulier des images en format portrait, qui suite à un
# recadrage, se retrouvent avec des dimensions non standard, ce
# qui donnerait une miniature un peu trop petite si on les
# redimensionnait à 2% comme toutes les autres
convert $FullSizeImageName -resize 69x104 /tmp/temp$$
else
convert $FullSizeImageName -resize 104x69 /tmp/temp$$
fi
convert /tmp/temp$$ -gravity center -extent 120x120 ./thumb/$ThumbImageName
echo ./thumb/$ThumbImageName" created"
fi
echo " <li>" >> index-2.html
echo " <a class=\"thumb\" name=\"IMG_"$number"\" " \
"href=\"./small/IMG_"$number"_SMALL.JPG\" title=\""$names"\">" >> index-2.html
echo " <img src=\"./thumb/IMG_"$number"_THUMB.JPG\" alt=\""$names"\" />" >> index-2.html
echo " </a>" >> index-2.html
echo " <div class=\"caption\">" >> index-2.html
echo " <div class=\"download\">" >> index-2.html
echo " <a href=\"./large/IMG_"$number"_LARGE.JPG\">Grand format</a>" >> index-2.html
echo " </div>" >> index-2.html
echo " <div class=\"image-title\">"$names"</div>" >> index-2.html
echo " <div class=\"image-desc\">IMG_"$number"</div>" >> index-2.html
echo " </div>" >> index-2.html
echo " </li>" >> index-2.html
echo " " >> index-2.html
fi
done < people.txt
if [ -f /tmp/temp$$ ] ; then
rm -f /tmp/temp$$
fi
cat index-1.html index-2.html index-3.html >index.html
echo "index.html generated"