Pour mes besoins personnels, ainsi que ceux de quelques personnes autour de moi (pour ne pas les citer, ambre et thibs), je vais commencer le développement d'une gestionnaire de galleries d'images. Je ne vais pas demander d'aide pour le développement, je pense pouvoir en venir à bout tout seul :) mais je vais profiter de mon blog pour d'une part pour mettre mes idées à plat, et d'autre part pour reccueillir vos commentaires et remarques éventuelles. Je pense diffuser ce script une fois qu'il me satisfera.

Voilà ce que j'attends personnellement d'un gestionnaire de galleries de base:

Front-end

  • Gestion d'albums multiples
  • Niveaus d'imbrication d'albums infini
  • Présentation des photos via des thumbnails (miniature)
  • Navigation facile dans l'arborescence des albums
  • Affichage d'une description et d'une date pour les photos
  • Possibilité pour les visiteurs de commenter les photos
  • Validité XHTML/CSS

Back-end

  • Upload des photos (une par une, plusieurs d'un coup, ou via une archive tar[gz|bz2]/zip)
  • Récupération des photos sur la machine (de façon a pouvoir uploader par ftp)
  • Interface complète de création/modification/suppression des albums
  • Interface complète pour la création/modification/supression des photos et de leurs descriptions
  • Création des thumbnails a l'upload des photos
  • Retouches simples sur les photos (redimensionnement, rotations, etc)

C'est déjà bien pour commencer. Une fois la liste des fonctionnalitées définies, il faut voir quelles technologies utiliser. Il va sans dire que le langage principal sera PHP (j'utiliserai certainement le framework eclipse, tournant sur un serveur apache (de façon a pouvoir utiliser un .htaccess par exemple), le tout sur un serveur *nix (pour les outils genre ImageMagick). L'utilisation d'un serveur SQL est possible, mais ne m'enchante pas. Je pense utiliser des fichiers XML pour stocker les diverses informations relatives aux albums et aux photos. Un autre problème est celui de la manipulation des photos. Plusieurs suites d'outils sont disponibles, dont ImageMagick, NetPBM et GD. Chacunes de ces solutions présentent des avantages et des inconvénients, dont je ferai pas la liste ici, mais je pense fortement a supporter ImageMagick dans un premier temps. Le support des autres librairies pourrait bien être inclus par la suite.

Ce qui nous donne donc pour les technologies:

  • UNIX/Linux
  • PHP
  • Apache
  • XML
  • ImageMagick

Bon voilà, si vous avez des remarques, n'hésitez pas.