Site perso de Gauret
Accueil du site > Informatique > Développement > Mon afficheur de photos par le web

Photos

Mon afficheur de photos par le web

mardi 17 juin 2008, par Aurélien Bompard


J’ai craqué. J’avais essayé de résister pourtant, et j’avais tenu longtemps. Mais là ça y est, j’ai craqué. Au lieu de publier mes photos à l’aide d’une célèbre application web dédiée à ça sans se poser de questions, j’ai développé moi-même un n-ième outil.

Mon cahier des charges

Et là pour le coup, des applis web pour publier des photos, y’en a vraiment des pelletés sur Internet... Mais bon, voilà, c’est fait, au moins celle-là elle correspond à 100% de mes besoins, qui étaient les suivants :
- jolie
- légère et rapide
- je ne dois pas à avoir à faire plus que d’envoyer un dossier avec des photos sur un espace web.
- pouvoir afficher les photos en miniatures et en grand
- avoir la possibilité de vérouiller un dossier de photos par un mot de passe
- pouvoir publier aussi des vidéos

Et c’est tout, le reste des fonctionnalités classiques de ce genre d’outil sont inutiles pour moi (commentaires, notations, etc.)

J’ai aussi besoin de pouvoir créer des albums, exit donc le fameux service hébergé Flickr, qui ne propose ça que pour les comptes payants.

Briques

Je n’ai tout de même pas tout développé à partir de rien. Pour l’affichage des photos en miniature et en grand, je cherchais quelquechose du genre de Lightbox. C’est très joli, dynamique, et s’appuie sur des pages standards. Ca me plaît. Mais ça ne permet pas d’afficher des vidéos. Heureusement, un clône de Lightbox, Shadowbox, fait ça sans problème. En plus, c’est sous licence libre (LGPL). Que demande le peuple ?

Mon petit développement

Le peuple, il demande un générateur d’index qui prépare la page de miniatures, avec les bons liens comme il faut pour que ShadowBox se lance. Et le peuple, il voudrait aussi un moyen de générer les miniatures automatiquement. Il est exigent, le peuple.

Voilà donc ce que j’ai fait, j’ai écrit deux scripts :
- un en PHP pour générer les pages web
- un en python pour fabriquer les miniatures

L’index web

Le script PHP exploite les possibilités offertes par la directive "DirectoryIndex" d’Apache. Cette directive est communément utilisée pour dire que l’appel d’un répertoire dans l’URL se traduit par l’appel d’un fichier index.html ou index.php à l’intérieur de celui-ci. Mais on peut mettre bien plus qu’un nom de fichier, en fait on peut même mettre une URL relative ou absolue qui pointe vers un script. Et c’est ce script qui sera utilisé pour fabriquer l’index du répertoire. Pile-poil ce qu’il me faut !

Le générateur de miniatures

Il s’agit là d’un script python qu’on passe sur un répertoire contenant des photos ou des vidéos, et qui créé les miniatures pour ces éléments. Il recompresse et redimentionne aussi les photos. Et il convertit les vidéos en FLV [1] pour lecture dans le navigateur. Et il peut même renommer les photos pour leur donner un nom cohérent auto-incrémenté.

Récupérez-le

J’ai placé tous ces développements sous licence Affero GPL v3, qui est la GPL des applications web : si vous modifiez le code et que vous utilisez cette application sur le web, alors vous devez fournir vos modifications.

Si vous êtes intéressé, voici le code :
- photos-index-0.4.tar.gz (le nom est temporaire, si vous avez des idées je suis tout ouïe)

L’archive contient un fichier README avec les instructions.

Et bien sûr, mes photos, qui constituent un bon site de démo.

Si vous avez des idées de développement et de fonctionnalités, je suis preneur, bien que je ne garantisse pas que je passerais beaucoup de temps dessus, vu qu’à l’origine il s’agit d’un besoin personnel. Maintenant bien sûr, si vous avez une contribution, je ne vais pas refuser... ;-) Si vous trouvez des bugs, ça m’intéresse aussi.

Et si vous voulez suivre le développement de l’outil, c’est possible en passant par Git avec la commande suivante :

git clone http://aurelien.bompard.org/projects/divers/photos.git/

Si vous décidez de l’utiliser, laissez-moi un message, ça me fera plaisir de savoir que ça vous a été utile ! :)

Historique

  • 22 août 2008 : version 0.4 :
    • ajout d’un générateur de flux Atom : make-atom.py
    • utilisation de Python Imaging Library dans make-gallery.py plutôt que des appels système à ImageMagick (désactivé par défaut)
    • possibilité de demander l’affichage d’une photo en particulier par l’URL (utilisé par le flux RSS)
    • correction de quelques bugs mineurs
  • 17 juin 2008 : version 0.3 :
    • correction d’un bug Javascript avec IE

Notes

[1] Acronyme de Flash Video, un format ouvert et lisible par Gnash.

Répondre à cet article

13 Messages de forum

  • Mon afficheur de photos par le web

    18 juin 2008 01:35, par orgrim

    Ben, ça se rapproche du belindex, ou comment laisser faire le boulot à apache

    le belindex en oeuvre ici : http://files.orgrim.net

    Encore un truc que j’ai jamais publié... Bref, faut qu’on en recause gros

    Répondre à ce message

  • Bonjour, L’archive telecharger sur le site de free me donne une erreur CRC. Sinon la demo est tres bien.

    Répondre à ce message

  • Felicitation

    18 juin 2008 12:57, par Kusa

    Bravo il répond bien à mes attentes, je vais voir le code source voir si il y a moyen de modifier l’icone du dossier(que j’ai vu sur ta démo) et si possible des petits thèmes.

    Encore bravo pour le travail.

    Répondre à ce message

    • Felicitation 14 juillet 2008 10:07, par Aurélien Bompard

      Merci beaucoup !

      Pour l’icône du dossier, ça devrait pas être un problème, il suffit de remplacer le fichier que j’ai utilisé. Je ne pense pas que des thèmes soient utiles, vu qu’il n’y a que trois icônes et une mini feuille de style, mais bon, c’est comme tu veux, c’est libre :)

      Répondre à ce message

  • Merci c’est un peu mieux, mais le nom des fichiers une fois decompresser donner le chemin inclus.

    Répondre à ce message

  • rebonjour,

    c’est toujours moi qui essaie de faire fonctionner le script.

    en lancant le make_gallery il me place les fichiers dans le repertoire /tmp/magallery

    mais se termine comme suit :

    IndexError : list index out of range

    Normal ?

    Répondre à ce message

  • ca avance, mais j’ai tous les repertoires qui sont affichés tel que css, scripts et images.

    Répondre à ce message

  • bon sous opera , ca fonctionne pas. rendu degeulasse.

    Répondre à ce message

    • Mon afficheur de photos par le web 14 juillet 2008 10:10, par Aurélien Bompard
      Ah, j’ai pas testé sous Opera effectivement. J’essaierai la prochaine fois que j’en ai un sous la main. Mais je pense pas avoir utilisé quoi que ce soit de spécifique Mozilla, donc ça m’étonne.

      Répondre à ce message

  • Mon afficheur de photos par le web

    19 juin 2008 09:51, par splitsch

    Salut ! Très très classe !!! Bravo pour le travail effectué ! C’est un bon "concurrent" à Zenphoto, en fait (les commentaires en moins ;))

    A quand une annonce sur framasoft ?

    Aplus !

    Répondre à ce message

    • Mon afficheur de photos par le web 14 juillet 2008 10:14, par Aurélien Bompard

      Merci !!

      Zenphoto je connaissait pas, mais ça a manifestement des tonnes de fonctionnalités que je n’ai pas (et dont je n’ai pas besoin au passage...)

      Si d’autres gens que moi l’utilisent, et si je nettoie un peu le code, je pourrait envisager de le publier sur un site qui a une vraie portée, pourquoi pas :)

      Merci en tout cas pour les encouragements !

      Répondre à ce message


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP