Après une activité très orientée Techno, je souhaite revenir un peu à la Photo, en vous exposant quelques oeuvres, sous forme de galeries photos. WordPress propose plusieurs solutions pour cela. Mais le choix n’est pas si facile, et dépend beaucoup de ce que l’on envisage de faire.

Questions et contraintes

La gestion des images en galeries peut se diviser en trois étapes:

  1. L’upload des images, leur stockage, et la fabrication des vignettes,
  2. L’affichage des galeries,
  3. L’affichage des images proprement dites.

Première étape: l’upload

Les questions a se poser sont nombreuses:

  • Upload: photo par photo ou en série,
  • Stockage: lieu du stockage, organisation en galerie, par date, en album …
  • Utilisation des pièces jointes (attachments) de WordPress, ou pas,
  • Vignettes: quelle taille, carrée ou rectangulaire (attention au respect de l’orientation),

Seconde étape: affichage de la galerie

Cette phase me semble moins problématique, les questions étant plutôt d’ordre esthétique: la galerie est-elle personnalisable? Dans quelle mesure? Quelle technologie utilise-t-on (Css, flash, Javascript)?

Ici, il faut plutôt faire attention aux objectifs du blog: si la majorité des articles contiennent des galeries, il ne s’agit plus d’un blog classique, mais plutôt d’un photoblog, et dans ce cas, il vaut mieux utiliser un outil spécialisé.

Troisième étape: affichage de l’image

Les questions portent sur l’esthétique et l’ergonomie. Nous avons principalement trois possibilités:

  1. Afficher l’image seule. Cette image apparaîtra dans une page blanche. Avec cette solution, les problématiques de taille de l’image sont gérés par le navigateur,
  2. Afficher l’image dans une page particulière du blog. Il faudra pour cela, gérer les templates image.php ou attachment.php,
  3. Utiliser une librairie Javascript permettant l’affichage en surimpression des images.

Les deux premières solutions gênent, à mon avis, la navigation, dans le sens ou elles imposent des aller-retours de la page « image » à la page « galerie », ce qui n’est pas très agréable.

L’avantage de la troisième solution (javascript), est que l’image apparaît en surimpression de la page courante, ce qui n’impose pas de changement de page. L’autre avantage est visuel: la plupart des scripts assombrissent l’écran avant d’afficher la photo, ce qui améliore sensiblement le confort visuel.

Attention à la taille des images, pour les solutions 2 et 3: il est important que la taille de l’image reste inférieure à la résolution de l’écran. Comme nous ne connaissons pas à l’avance cette résolution, il est préférable de rester sur des tailles du type 800×600.

Les solutions

Globalement, nous avons quatre méthodes possibles:

  • Utiliser les fonctions natives de WordPress,
  • Utiliser un plugin qui assure les trois étapes (upload, affichage de la galerie et des photos),
  • Utiliser plusieurs plugins pour couvrir les trois étapes.
  • Stocker les images dans un autre outil (Flickr par exemple), et ne traiter que l’affichage au niveau de WordPress.

Jusqu’à la version 2.5, WordPress ne proposait rien de réellement exploitable. La version 2.5 apporte le Media Manager et le shortcode gallery, qui améliorent sensiblement les choses, mais la solution proposée manque de souplesse:

  • La création des vignettes (deux tailles seulement), ne tient pas forcement compte de l’orientation de l’image initiale,
  • Le choix du/des répertoires de stockage est limité

Néanmoins, pour un utilisation occasionnelle, les fonctionnalités des versions 2.5 et 2.6.x sont suffisantes: L’étape 1 est assurée par le Media Manager, l’étape 2 par le shortcode [ gallery], et l’étape 3 peut être assurée par une template image.php ou attachment.php.

Si l’on opte pour une solution basée sur des plugins, il faut rester vigilant sur deux points:

  • L’indépendance vis-à-vis des plugins: modifient-ils la base, sont-ils intrusifs, pourra-t-on changer de plugin sans remettre en cause l’intégralité des galeries?
  • L’impact des plugins sur les performances globales du blog (taille et complexité des scripts).

Le premier point me semble particulièrement important: si les plugins utilisés ne s’appuient pas sur des éléments standards de WordPress, il deviendra impossible d’en changer. Hors la qualité des plugins évoluent dans le temps: nous ne savons si un plugin excellent aujourd’hui, ne deviendra pas médiocre demain, ou s’il sera toujours supporté et maintenu. De ce point de vue, il faut donc garder la possibilité de changer de plugin à tout moment. Nous pouvons tenir le raisonnement inverse: si l’on envisage de gérer beaucoup de galeries, avec de nombreuses photos, la gestion des images par WordPress, va surcharger la table des articles (wp_posts), et ralentir le site.

Le second point concerne plus la phase d’affichage des images, si l’on opte pour une solution Javascript. La référence dans ce domaine est Lightbox, qui a donné naissance à de très nombreux dérivés. Ces scripts se basent sur des librairies Javascript, telles que Prototypes, Scriptaculous, JQuery ou Mootools. Le problème est que certaines de ces librairies sont très lourdes: une solution basée sur Prototypes, par exemple, augmentera le poids de vos pages de plus de 100 Ko !

La question du stockage des photos est importante: comme pour la blogroll, nous avons le choix entre tout garder dans WordPress, ou utiliser un autre outil tier, le blog n’assurant que l’affichage. La réponse dépend de deux paramètres:

  • La capacité de stockage de l’hébergeur du blog,
  • Des objectifs de publication: si l’objectif est de partager un gros portfolio, il vaudrait peut-être mieux utiliser un outil comme Flickr, et un plugin associé. Si l’objectif est de montrer quelques photos, une solution interne suffira.

Quelques plugins

Compte-tenu du nombre et de la complexité des plugins existants dans ce domaine, se lancer dans un comparatif serait illusoire. je vous livre cependant quelques références de plugins que j’ai eu l’occasion de tester:

Le codex de WordPress consacre un article aux photoblogs et galeries photo, avec de nombreuses références.

Conclusion

Gérer des photos sur un blog nécessite un minimum de réflexion préalable. Il faut globalement répondre à trois questions:

  • Stocke-t-on les photos en interne, ou utilise-t-on un outil tiers?
  • Souhaite-t-on s’appuyer sur les mécanismes internes à WordPress ou utiliser un plugin?
  • Pour l’affichage des images, utilise-t-on un script, les templates attachments?

Répondre à ces questions suppose de savoir précisément ce que l’on veut faire, le point clé étant la quantité de galeries et de photos envisagées.

Pour ma part, même si cela reste un peu lourd, je préfère rester compatible avec WordPress pour le moment. Si mon volume de photos augmente, je changerai de stratégie.