Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TP : générateur de galerie d'images
Accueil Cours Reprenez le contr ô '
le à l aide de Linux ! TP : é é
g n rateur de galerie d images '
dans les scripts bash vous pouvez r é utiliser toutes les commandes de la console que vous connaissez : ls , grep , cut , sort , les
… -, ' !
flux allez y tous les coups sont permis . Vous risquez m ê me d avoir à lire le manuel pour trouver quelques param è tres
Objectifs
Nous souhaitons r é
aliser dans ce TP un g é é n rateur de galerie d images en bash ' .
'
Le script s appellera galerie.sh . Pour sa premi ère version , il faudra le placer dans un dossier contenant des images ;
il g é é
n rera des
du Z é . ro '
C est assez facile : ceux qui ne connaissent pas ne devraient pas y consacrer beaucoup de temps , '
d autant plus qu il '
su ff it de lire la premi ère partie seulement de ce cours pour faire ce TP .
Le rendu final
La page web que vous devez arriver à g é é n rer devrait ressembler à la figure suivante .
https://openclassrooms.com/courses/reprenezlecontrolealaidedelinux/tpgenerateurdegaleriedimages 1/5
11/10/2016 OpenClassrooms TP : générateur de galerie d'images
(minimaliste ) suivant :
console
<!DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1‐strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Ma galerie</title>
<meta http‐equiv="Content‐Type" content="text/html; charset=utf‐8" />
<style type="text/css">
a img { border:0; }
</style>
</head>
<body>
<p>
<a href="alsamixer.png"><img src="miniatures/alsamixer.png" alt="" /></a>
<a href="icone_installer.png"> <img src="miniatures/icone_installer.png" alt="" />
</a>
<a href="installation.png"><img src="miniatures/installation.png" alt="" /></a>
</p>
</body>
</html>
Vous pourrez r é utiliser le d é but et la fin de ce code source pour chaque fichier HTML de galerie que vous cr é
erez . Par contre , au milieu
(les images <img /> et les liens <a> ), il faudra adapter automatiquement le code en fonction des images pr é
sentes dans le dossier .
Vous a ff icherez des miniatures sur la page et ferez un lien vers leur version agrandie .
sur des images . À vous d a 'ff icher le manuel et de comprendre comment on l utilise ' .
https://openclassrooms.com/courses/reprenezlecontrolealaidedelinux/tpgenerateurdegaleriedimages 2/5
11/10/2016 OpenClassrooms TP : générateur de galerie d'images
Bon : je vous aide quand m ê me un peu parce que cette commande a énorm é ment de param è tres . « Miniature » en anglais se dit
« ».
thumbnail
' -ê
fichier galerie.html é
par d faut .
Solution
'
L heure est venue de passer à la correction !
console
#!/bin/bash
# Vérification des paramètres
# S'ils sont absents, on met une valeur par défaut
if [ ‐z $1 ]
then
sortie='galerie.html'
else
sortie=$1
fi
# Préparation des fichiers et dossiers
echo '' > $sortie
if [ ! ‐e miniatures ]
then
mkdir miniatures
fi
# En‐tête HTML
echo '<!DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1‐strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Ma galerie</title>
<meta http‐equiv="Content‐Type" content="text/html; charset=utf‐8" />
<style type="text/css">
a img { border:0; }
</style>
</head>
<body><p>' >> $sortie
# Génération des miniatures et de la page
for image in `ls *.png *.jpg *.jpeg *.gif 2>/dev/null`
do
convert $image ‐thumbnail '200x200>' miniatures/$image
echo '<a href="'$image'"><img src="miniatures/'$image'" alt="" /> </a> '>> $sortie
done
# Pied de page HTML
echo '</p>
</body>
</html>' >> $sortie
https://openclassrooms.com/courses/reprenezlecontrolealaidedelinux/tpgenerateurdegaleriedimages 3/5
11/10/2016 OpenClassrooms TP : générateur de galerie d'images
Il v é '
rifie d abord si un param è tre est pr é
sent . Si oui , '
il l utilise comme nom de fichier de sortie , sinon il utilise galerie.html .
On doit cr é er un fichier vide pour galerie.html . Normalement , on peut faire ça avec touch , mais si le fichier existe d é , jà on
.
veut le vider On choisit donc de faire un echo vide dans ce fichier pour le vider .
On cr é e le dossier qui accueillera les images miniatures s il n existe pas ' ' .
On é crit l en t ' -ê te HTML dans le fichier .
On fait une boucle sur tous les fichiers de type image (*. png *
, . jpg , etc . ) qui existent dans le dossier Pour chacun d eux . ' , on cr é e
une miniature d une taille maximale de ' 200 200 x pixels dans le sous dossier - miniatures . Le petit symbole «>» permet , comme
'
' '
Je tiens à rappeler qu il n y a pas une seule façon de r é
aliser ce script mais plusieurs . Je vous ai pr é
sent é la mienne et , bien qu elle '
fonctionne , je vous pr é '
viens que l on peut largement l am ' é .
liorer Je vous propose d ailleurs des pistes pour am ' éliorer ce script .
Am liorations
Comme je le disais plus t ô, t le script que je vous ai propos é de faire est minimal . Le but é '
tait d avoir à r é
aliser un script accessible à tous
Pour certaines de ces am é liorations , il faudra vous renseigner dans le manuel voire poser des questions sur les forums .
Ne vous arr ê tez pas en si bon chemin ! Cherchez , cherchez et cherchez encore ! Vous allez vous habituer à faire des recherches et vous
Le cours se termine ici . Bien entendu , il aurait éé t possible de le compl é ter ( presque à l infini ' !) mais je ne dispose pas d autant de temps ' .
N é anmoins , '
avec l ensemble de ce cours vous avez d é sormais je l esp ' è re une introduction à Linux enfin accessible aux d ébutants . Il reste
Bonne continuation !
Que pensez vous de ce cours - ?
'
J ai termin é ce chapitre et je passe au suivant
https://openclassrooms.com/courses/reprenezlecontrolealaidedelinux/tpgenerateurdegaleriedimages 4/5