au coeur d'un fichier HTML5, je dois automatiser une tâche à savoir afficher plusieurs liens : à partir de fichiers se trouvant dans un de me répertoires, je dois créer des liens avec ces fichiers.
Le fichier HTML se situe au milieu d'un script bash. Pour réaliser cette automatisation, je dois utiliser du script bash, mais je ne sais pas comment utiliser du bash dans un morceau de code HTML.
Si tu te réfères au TP de la dernière partie du cours de Linux, il y a effectivement un exemple de script bash qui génère du code HTML
La correction est donnée dans le TP, mais je ne l'ai pas regardée afin de proposer ma solution, avant de regarder la solution.
Je sais pour l'avoir très légèrement vu, que le script démarre par la
#!/bin/bash
donc il s'agit d'un script bash, et la consigne du TP indique clairement d'automatiser une petite tâche HTML 5, à savoir , afficher des liens de miniatures, qui une fois que l'on clique dessus, ouvrent le fichier originel.
A partir de là, peux-tu me conseiller ?
Merci
Amicalement
- Edité par pseudo-simple 21 octobre 2016 à 21:16:31
il n'est pas question d'écrire une page HTML en y insérant du code bash qui rendrait la page dynamique (ce serait alors un script CGI en shell - c'est possible), mais d'écrire un code bash qui crée une page HTML statique
- écrire les headers d'un fichier HTML - itérer sur les fichiers images du répertoires (comme je le disais précédemment) - réduire l'image - produire une sortie sous la forme de liens vers le fichier original sur l'image réduite - écrire les "footers" du fichier HTML
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
c'est ce que je dis : écrire du bash, dans lequel on intègre du HTML
Ce que je ne sais pas, c'est comment itérer sur les fichiers images du répertoire, puisque l'on n'a pas appris à itérer en HTML
Voici mon code actuel , à partir duquel, je veux travailler, sans avoir à tout réécrire :
#!/bin/bash
for fichier in `ls fleur/*.jpeg` #dans cette boucle, je créé les miniatures des photos originelles
do
convert fleurs/"$fichier" -resize 120x120 miniatures/"$fichier-miniature"
done
<!DOCTYPE html>
<html>
<head>
<title>Ma galerie</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
read -p 'Saisis le nom des fichiers à renommer : ' fichier
<style type="text/css">
a img {border:0; }
</style>
</head>
<body>
<p> #Ici je voudrais créer une boucle qui permette d'automatiser la création de liens
<a href="image3"><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>
La deuxième partie du code n'a pas encore été adapté ...
J'ai mis deux commentaires dans le code.
- Edité par pseudo-simple 22 octobre 2016 à 15:43:55
#!/bin/bash
if [ "$#"=0 ]
then
fichier='galerie.html'
else
fichier=$1
fi
echo '' > $fichier
echo '<!DOCTYPE html>
<html>
<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>'>> $fichier
for fich in `ls fleurs/*.jpeg 2>/dev/null`
do
convert "$fich" -thumbnail '10x10>' miniatures/"$fich"
echo '<a href= "' "$fich" '" ><img src="' miniatures/"$fich" 'alt=" "/></a>' >> $fichier
done
echo ' </p>
</body>
</html>'>> $fichier
Pour le cas où il y a aucun paramètre lors de l'exécution ( ./galeris.sh tout simplement), il me semble que l'éxécution se passe bien avec en résultat :
une ligne de miniatures de 1cm par 1cm côte à côte à l'écran. Les miniatures sont cependant indifférentiables
dans ton script : le premier test est erroné; il faut des espaces le premier echo est inutile, le deuxième peut écraser le fichier la commande ls est inutile, voire problématique il manque un guillemet dans la balise img quand on veut afficher des guillemets, on les protège avec un anti-slash
echo "des \"guillemets\""
pour réduire le nombre d'écriture dans le fichier, on peut rediriger la sortie de la boucle for vers le fichier
je crois que c'est tout...
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
l'ajout des espaces entre "=" et les deux variables dans la première condition semble en effet avoir réglé le problème. J'ai appris une chose ...peut-être devrait-on l'ajouter dans le cours
Et il y avait aussi le manque d'un guillemet dans la balise img de la boucle for
Très bon coup d'oeil
MERCI à VOUS
Automatisation par utilisation Bash dans du HTML5
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Blond, bouclé, toujours le sourire aux lèvres...
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Blond, bouclé, toujours le sourire aux lèvres...