Dernière version: v0.9. Détails des nouveautés...
Peut-être avez-vous été dans cette situation. Je vous propose une solution.
Il existe de nombreux programmes de ce genre. J'ai regardé des descriptions, vu ce qu'ils produisaient, essayé d'installer certains programmes très complets et alléchants. Finalement, je n'ai rien trouvé qui satisfasse tous mes critères:
J'aurais pu reprendre un programme existant. J'en ai fait un
nouveau.
Vous pouvez consulter un
exemple de présentation d'une collection d'images,
ou bien un autre
exemple, incluant un découpage en sections.
La section "photos" de
l'amphi-gouri est entièrement faite avec ce script.
Il suffit de rassembler quelques fichiers contenant des images (par exemple au format jpeg), d'appeler un script, et cela génère tout le reste.
La maintenance est simple: on peut ajouter des photos ou modifier le titre, le commentairegeneral ou les commentaires attachés à chaque photo (dans le fichier liste), puis il suffit de relancer le script, qui fait ce qu'il faut.
(Nouveau depuis la version 0.6) On peut choisir les tailles des images qui sont générées.
En particulier, seules les images dont les paramètres ont changé voient leur imagettes recalculées.
Si vous êtes impatient, pas besoin de lire le reste: téléchargez et lancez le programme par perl navimg.pl, et laissez-vous guider.
perl navimg.pl
Après visite, vous pouvez naturellement ajouter ou supprimer des images, et affiner (rotation, effets).
Non. En un mot: ça marche sous n'importe quel Linux sans préparation.
Cela marche aussi sur tous les autres systèmes Unix ou compatible avec la norme Posix, BeOS et même Windows. Cela dit, je n'ai pas testé. Pour la plupart de ces systèmes il faudrait d'abord installer les composants requis, alors qu'avec Linux ils sont inclus.
Plus précisément, il suffit d'avoir un environnement avec quelques éléments extrêmement courants:
Tout ceci est installé par défaut par à peu près n'importe quelle distribution de Linux. ImageMagick est normalement présent, sauf si on a expressément refusé des options comme "graphisme" "multimédia" ou "traitement d'image" à l'installation.
Bref: ça marche chez vous.
Un site "sérieux en php" ne peut pas être gravé sur un CD-Rom pour être consulté sur n'importe quel système. Des pages html statique ont cet avantage. Et celles-ci sont tout de même générées par programme, ce qui évite de les faire à la main.
Tout est dans le fichier liste qui a une structure ligne à ligne.
Ouvrez-le avec votre éditeur de texte préféré.
Quand on incorpore une nouvelle image, la ligne générée
ressemble à ceci (où <tab> représente un caractère
tabulation):
IMG_0001.JPG <tab> <tab> <tab>
...
Un exemple typique de modification:
IMG_0001.JPG <tab> <tab> -rotate 90
<tab> Photo of a bull in the water canoeing
Après avoir modifié le fichier, il suffit de relancer le script pour régénérer les pages, et le cas échéant les imagettes.
Toutes nouvelles images ajoutées au répertoire principal sont incorporées à la liste automatiquement (et déplacées vers le répertoire origine) quand le script est relancé.
Par défaut, les images sont générées en 640x480, 800x600, 1024x768 et 1600x1200 avec des qualités de fichier JPEG appropriées. Pour l'instant il faut éditer le début du fichier (lignes 35 à 40) pour modifier cette liste. Prenez exemple sur le format utilisé dans le fichier.
On supprime les lignes correspondantes dans le fichier liste, et on relance le script. On peut aussi supprimer les fichiers images générés.
On remplace ... par un commentaire dans la ligne relative à l'image, voir ci-dessus.
Pour tourner l'image dans le sens horaire, il faut placer une
commande -rotate 90 après la seconde tabulation,
ainsi:
IMG_0001.JPG <tab> <tab> -rotate 90
<tab> ...
Pour le sens anti-horaire, -rotate 270 convient.
On insère dans la liste une ligne structurée comme dans
cet exemple (aucune tabulation):
SECTION L'aller en avion.
Exemple de galerie avec découpage en sections
On peut appliquer aux images toutes les transformations proposée par ImageMagick (recadrage, amélioration des contrastes, annotations textuelles, filtres divers, etc...).
Pour cela, il suffit de placer une
commande, comme par exemple un recadrage -crop
100x100+100+100 entre la première et la seconde tabulation,
ainsi:
IMG_0001.JPG <tab> -crop 100x100+100+100
<tab> <tab> Image recadrée
Quelques exemples de commandes utilisées: -normalize pour les photos sous-exposées, -despecke pour réduire le grain, -gamma 2 pour corriger une éventuelle non-linéarité des couleurs.
On peut demander plusieurs effets, il faut les séparer par des espaces.
Il existe des dizaines d'autres possibilités, voir aussi la page de manuel de convert, par exemple en tapant man convert.
Il suffit de télécharger le fichier liste de cette galerie, par exemple si l'adresse est http://amphi-gouri.org/photos/200110stockholm/ la liste est accessible par http://amphi-gouri.org/photos/200110stockholm/liste.
Le programme ne prévoit pas qu'une photo apparaisse plusieurs fois dans la liste (cela créerait une boucle dans la succession des liens html).
Vous pouvez toutefois le faire, notamment si vous voulez présenter plusieurs versions (recadrages, etc...) de la même image, en prenant exemple sur le modèle ci-dessous:
IMG_3542.JPG <tab> <tab> <tab>
Photo d'ensemble
IMG_3542.JPG-01 <tab> -crop 320x240+860+400
-geometry '200%' <tab> <tab> Photo recadrée et
agrandie
Le programme ne prévoit pas de vous laisser toute liberté sur la mise en page. Mais, bon, on avait dit un truc simple.
Cela dit, c'est un logiciel libre, vous pouvez regarder dans le programme (même si vous ne savez pas le perl), et modifier les instructions print qui génèrent le code HTML.
Si on reste dans ce qui est expliqué ici, tout fonctionne bien. Il n'y a donc pas de bug au sens strict.
Cependant, il est facile d'abîmer le fichier liste, par exemple si vous perdez les tabulations. Je tâcherai d'arranger cela.
Si vous êtes complètement perdu, vous pouvez déplacer ou renommer le fichier liste et lancer le script, un nouveau sera généré.
navimg fait appel à l'option -interlace Plane d'ImageMagick qui permet de générer des JPEG "progressifs", c'est à dire qu'à mesure du téléchargement, on voit d'abord une image grossière puis qui s'affine, au lieu de la voir apparaître de haut en bas. Il semble que certaines version d'ImageMagick gèrent mal cette option (la 5.3.8 et précédentes sont atteintes, la 5.4.8 n'a pas le problème tapez convert | grep Version -A 1 pour connaître le numéro de votre version). Si vous constatez que vous obtenez des grosses images partout au lieu d'imagettes, c'est peut-être ça. Pour contourner le problème, il suffit de supprimer la mention -interlace Plane dans le script. La bonne solution est d'avoir un système à jour.
Merci à Stéphane Brefort de m'avoir contacté pour me signaler un problème avec certaines version d'ImageMagick.
v0.3 2002/08 première version publique
v0.4 2002/09 accepte maintenant une variété de formats de fichier. Prochaine étape: faire détecter automatiquement par ImageMagick quels fichiers sont des images ?
v0.5 2002/10/25 Un brin de javascript pour charger en avance la photo suivante. Bien sûr personne n'est lésé si le navigateur client désactive javascript. Provisions pour générer automatiquement une arborescence complète (non documenté).
v0.6 2003/02/13 Au début du fichier, présence de variables configurables. On peut définir les tailles des images générées, la taille des imagette, la couleur de fond et du texte.
v0.7 2003/05/15 Merci à Pascal Gouedo de m'avoir signalé deux petits problèmes et des solutions: si la première image n'appartient à aucune section, elle se retrouve rangée dans la dernière section dans certaines résolutions. Et aussi: le lien vers l'image précédente n'avait jamais son commentaire associé. J'ai incorporé ses solutions dans la version 0.7. Merci!
v0.8 2003/10/15 Le pied de page est personalisable, et vous invite à placer un lien vers l'auteur des photos. Petites modifcations mineures.
v0.9 2004/10/24 Par défaut, les résolutions 1600x1200 et 800x600 ne sont plus activées (mais sont faciles à réactiver). Une instruction CSS est ajoutée pour que les images ne soient pas entourées d'un filet.