J'ai longtemps cherché le moyen le plus simple et le plus pratique de gérer mes photos et les afficher sur mon site. J'ai codé au moins 3 gestionnaires de galerie différents et aucun ne m'a jamais convenu parfaitement. Le premier était plutôt simple, d'où son nom Fotoo simple HTML gallery, il ne faisait qu'extraire la miniature EXIF dans un fichier à part et lire le commentaire dans le fichier descript.ion (restes de mon passé MS-DOS). C'est notamment ce qui a servi pour la publication de mes agendas. Ensuite j'ai tenté de faire un super gestionnaires de photos, Fotoo Manager, qui devait faire le café, mais que j'ai abandonné : trop long à développer, trop compliqué. Par la suite j'ai décidé de fusionner la simplicité du premier mais avec les idées du second (édition de tags et descriptions des images en ligne), c'était Fotoo Mini Manager. Cependant il posait plusieurs problèmes, le premier étant la complexité d'édition des données et le second le stockage des données dans des fichiers XML qu'aucun autre logiciel ne saurait utiliser.
Et enfin j'ai découvert jBrout. C'est un excellent petit logiciel pour gérer ses photos, car très proche des fichiers : les albums ne sont que les répertoires contenant les photos et les tags et commentaires sont stockés directement dans les fichiers (via IPTC et Exif). C'est simple, pratique et surtout les données ne sont pas stockées on ne sait où. Là les données sont dans les photos, rien à faire.
Cependant si jBrout gère remarquablement mes photos, cela ne règlait pas le problème de l'affichage des photos, leurs tags et leurs commentaires, sur mon site web. Je me suis donc attelé à la tâche pour reproduire plus ou moins la logique de jBrout en PHP, avec quelques menus avantages. Le résultat c'est Fotoo Gallery. Une galerie en PHP qui affiche les photos par répertoire, par tag et par date (comme les 3 onglets de jBrout), qui récupère les données depuis les informations IPTC/EXIF de l'image. Difficile de faire plus simple à l'utilisation : recopiez vos photos dans un sous répertoire où est Fotoo Gallery et voilà vos photos sont gérées. Pas besoin comme dans jBrout d'utiliser Ajouter/Rafraîchir, Fotoo Gallery détecte lui-même les nouveaux fichiers, ceux qui ont été supprimés et ceux qui ont été modifiés. Enfin, comme les données sont stockées dans les photos, vous pouvez très bien supprimer le répertoire de cache contenant la base de données de Fotoo Gallery, il recréera ses données tout seul.
Les fonctionnalités en détail :
- Utilise PHP 5 et SQLite uniquement, rien à configurer
- Détection automatiques des nouvelles photos et des changements dans les photos, mise à jour en live des données
- Rapide : ne génère une miniature que lorsque la miniature EXIF n'existe pas
- Utilise IMLib, Imagick ou GD (selon dispo) pour la génération de miniature (quand pas de miniature EXIF)
- Vue par répertoire, par tags ou par date (année/mois/jour)
- Récupération des commentaires des photos via les données EXIF (JPEG comment)
- Récupération des tags des photos via IPTC
- Tags en rapport avec un tag (= autres tags associées aux photos d'un tag donné)
- Commentaire par album : fichier README à la racine du répertoire
- Raccourcis de liens possibles dans commentaires albums/photos (taper wp:Belgium fera un lien vers la page wikipédia "Belgium", tag:Arbres fera un lien vers la liste des photos du tag "Arbres")
- Possibilité de traduire l'interface en utilisant un fichier de configuration
- Possibilité de changer entête/pied de page/feuille de style
Enfin c'est peut-être mieux de voir un exemple en fonctionnement. Pour cela il suffit d'aller voir ma galerie de photos.
Comment installer ?
Recopiez simplement ce fichier à la racine du répertoire contenant vos photos et renommez-le en index.php. C'est tout.
Utilisation avancée
- Pour créer un commentaire d'album, créez un fichier texte nommé simplement "README" dans le répertoire de l'album et éditez-le.
- Pour traduire l'interface en français, téléchargez user_config.php et placez le dans le même répertoire que la galerie.
- Pour traduire dans une autre langue, suffit de faire pareil, mais éditez le fichier et traduisez les textes.
- Pour utiliser votre propre CSS, créez un fichier user_style.css dans le même répertoire que la galerie.
- Pour modifier l'entête et le pied de page, créez des fichiers user_header.php et user_footer.php dans le même répertoire que la galerie. Vous pouvez utiliser cet exemple de user_header.php pour vous inspirer.
Des questions ? Des bugs ? Des "c'est pourri" ? Lâchez vos coms ! ;)