Mon afficheur de photos par le web
Le mardi 17 juin 2008, 21:51 - Lien permanent
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 verrouiller 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. Ça 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 ?
EDIT: Shadowbox n’est plus libre dans les versions récentes
Je passe donc à prettyPhoto, mais le principe reste le même.
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 : photo-imp-latest.tar.gz.
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 et en utilisant le dépôt hébergé sur Gitorious. L’historique est visible dans le fichier ChangeLog.
Si vous décidez de l’utiliser, laissez-moi un message, ça me fera plaisir de savoir que ça vous a été utile !
Notes
[1] Acronyme de Flash Video, un format ouvert et lisible par Gnash.
















Commentaires
mercredi 18 juin 2008, 01:35
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
mercredi 18 juin 2008, 10:53
Bonjour, L'archive telecharger sur le site de free me donne une erreur CRC. Sinon la demo est tres bien.
mercredi 18 juin 2008, 12:57
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.
mercredi 18 juin 2008, 17:17
Merci c'est un peu mieux, mais le nom des fichiers une fois decompresser donner le chemin inclus.
mercredi 18 juin 2008, 17:54
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 ?
mercredi 18 juin 2008, 18:26
ca avance, mais j'ai tous les repertoires qui sont affichés tel que css, scripts et images.
mercredi 18 juin 2008, 18:42
bon sous opera , ca fonctionne pas. rendu degeulasse.
jeudi 19 juin 2008, 09:51
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!
lundi 14 juillet 2008, 10:02
@Anonyme :
Merci !
C'est étrange qu'il y ait une erreur de CRC, peut-être l'as-tu téléchargé pile au moment où moi je l'uploadais ? Tu peux réessayer ?
lundi 14 juillet 2008, 10:07
@Kusa :
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
lundi 14 juillet 2008, 10:10
@Anonyme :
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.
lundi 14 juillet 2008, 10:14
@splitsch :
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 !
lundi 14 juillet 2008, 10:39
@Anonyme :
Ah, non, peux-tu me donner le message d'erreur complet ? (il doit y avoir plusieurs lignes qui commencent par "Traceback")
vendredi 20 février 2009, 16:09
@Anonyme :
Bravo pour le projet, j'adore
Mais j'ai eu ce même problème => "j’ai tous les repertoires qui sont affichés tel que css, scripts et images."
Comment le résoudre? ou est ce que j'ai loupé une étape de config?
Merci
vendredi 20 février 2009, 18:53
@TheCyberXP :
Hmm, je sais pas trop, normalement il doit y avoir un README d'inclus. Si le PHP est bien activé sur le serveur web, et si la directive DirectoryIndex est bien présente, ça devrait le faire.
Tu as quoi dans les logs d'apache ?