Pourquoi yamig ?
- Episode I : Je cherche une application PHP légère pour présenter quelques photos, qui sont accessibles
jusque-là via des pages statiques de vignettes générées avec XnView.
Une rapide recherche sur Internet donne de nombreux résultat, mais les vedettes du secteurs sont, à première vue,
des applications poids-lourd. L'idée était plutôt de trouver une simple page PHP qu'il aurait suffi d'installer à côté des photos.
- Episode II : Tant pis ... Je me lance dans ce qui sera très certainement une Nième galerie PHP : le résultat est yamig.php.
Je persiste tout de même à chercher s'il existe d'autres galeries faites dans le même esprit ;
en insistant un peu, Google puis
1PHPScripts (pubs gratuites !) donnent finalement une petite liste
de scripts qui se présentent comme des galeries légères.
Tout cela pour en venir à ce qui suit ...
- Une présentation rapide de yamig, que j'ai finalement conservé et fait évoluer

- Un tableau récapitulatif de plus de 20 logiciels légers de galeries PHP
Yet Another Minimalist Image Gallery
yamig est une application PHP très simple, constituée d'un seul fichier PHP, qui permet de visualiser des photos.
- Une page d'accueil présente les vignettes de toutes les photos.
- Cliquer sur une vignette donne accès à la photo et à un panneau de navigation.
- Pas de dépôt des commentaires, pas de statistiques de consultation ... yamig reste très simple !
Au fil des versions, quelques options sont tout de même apparues, mais le principe reste le même depuis le début :
un seul fichier à installer suffit pour faire une galerie !
- yamig 0.10 : adaptation de l'image à la fenêtre du navigateur HTML (voir note) :
adaptation à la fenêtre, taille fixe, 100%.
- yamig 0.15 : possibilité de définir des légendes, mode diaporama.
- yamig 0.20 : différents "skins" (sélectionnables ou non par l'utilisateur).
- yamig 0.21 : possibilité d'utiliser des icônes plutôt que des boutons pour les contrôles.
- yamig 0.50 : possibilité de générer automatiquement les vignettes (GIF/JPG/PNG)
si votre serveur web offre PHP avec GD et permet de créer des répertoire/fichiers.
- yamig 0.51 : si vous le souhaitez, offrez aux visiteurs la possibilité d'accéder aux images en pleine résolution (originaux de votre appareil photo N Mega-pixels).
Note :
- Firefox/SeaMonkey/Mozilla, Opera : OK.
- IE7, Konqueror : OK, sauf hauteur maxi automatique (ils n'apprécient le max-height en % utilisé par yamig).
- IE6 : OK ...... en taille 100%.
yamig est utilisé ici-même pour les galeries photos de
vracbazar.
Il est téléchargeable
ici si vous souhaitez l'utiliser (sous license GPL).
Usage si vous avez
une seule galerie photo :
- Editez yamig.php pour préciser le répertoire de vignettes, le répertoire de photos, indiquer si les noms de fichiers
comportent un préfixe particulier (par exemple thumb_ pour les vignettes),
optionnellement définir un titre de galerie, des légendes, une feuille de style personnalisée, ...
- Installez yamig.php sur votre serveur web (renommez-le index.php si vous le souhaitez).
C'est tout ! Il ne vous reste plus qu'à saisir l'URL adéquate (par exemple http://votre.adresse.web/galerie/yamig.php)
dans un navigateur web.
Usage si vous avez
plusieurs galeries photo sur un même site :
- Installez yamig.php sans le modifier, une seule fois sur votre serveur web, peu importe l'emplacement.
- Editez 0index.php, le petit fichier fourni avec yamig, qui permet de définir en quelques lignes les paramètres spécifiques à chaque galerie
(titre, "skin" pour la galerie, ...), et faites-en une version personnalisée pour chacune des galeries.
N'oubliez pas d'adapter la dernière instruction include() en fonction de l'emplacement où vous avez installé
yamig.php sur votre serveur.
- Pour terminer, installez chaque 0index.php à l'emplacement adéquat (vous pouvez sans problème le renommer index.php).
Quelques exemples avec différents "skins" :
Pour générer les vignettes sans passer par l'option intégrée à yamig - si GD n'est pas disponible sur le serveur web, par exemple -, vous pouvez utiliser :
- XnView (Linux, Windows, et autres)
avec sa fonction "Créer / Page Internet" ou "Tools / Web Page" (selon la version) qui génère
des pages HTML de présentation de vignettes ... et des vignettes !
- ImageMagick (Linux, Windows, et autres)
gigantesque boîte à outils graphiques. Ex. : convert -resize 120x120 01.jpg thumb/01.jpg
Pour une génération de vignettes en quantité, écrivez un fichier de commande,
ou utilisez le petit programme Perl yamig-thumbnails.pl fourni avec yamig : ses paramètres optionnels sont
le répertoire cible (thumbs par défaut), la taille des vignettes (150 pixels par défaut), un filtre (* par défaut).
- ... tout autre outil selon votre préférence.
Restriction : yamig s'attend à ce que les fichiers photo et vignette soient
de même type (JPG, PNG, GIF, ...), et de même nom à un possible préfixe près (photo_NNN.png, vignette_NNN.png par exemple).
Depuis la version 0.12, yamig est conforme
Depuis la version 0.21, yamig permet d'utiliser des icônes plutôt que des boutons pour les contrôles.
Vous pouvez employer vos propres icônes, ou ceux suggérés dans la table ci-dessous.
* Nop = fonction inactive, par exemple Prev sur la première image
** Apply = Activer une sélection (skin ou option de redimensionnement)
Essai de quelques galeries PHP
Le tableau ci-dessous recense une vingtaine de galeries PHP glanées ici et là sur Internet.
Elles sont classées par ... taille du fichier à télécharger !
Et pour cette vingtaine de galeries, une dizaine de démos.
Les photos utilisés pour la démo sont celles de la "Ballade autour de la vallée des Aldudes".
Pas parce que ce sont les photos les plus extraordinaires du monde, mais parce qu'elles ont la particularité d'être
de tailles et de proportions très variables ;
ce qui permet de voir comment se comporte l'application de galerie dans un tel cas.
Pourquoi pas 100% de démo ?
- Parce que certaines galeries étaient finalement "trop volumineuses" étant donné l'idée initiale de simple page à installer.
Critère purement subjectif donc.
- Parce que d'autres ont provoqué des erreurs PHP lors d'un premier essai sur un PC Linux Fedora Core 5 / PHP 5.1.4.
PHP est un langage jeune, qui évolue beaucoup, et certaines des galeries ont été écrites il y a quelques temps.
Cela ne signifie surtout pas que les galeries en question ne fonctionnent pas : cela signifie seulement que l'environnement
de test n'était pas adéquat. Chaque fois qu'une modification limitée a permis de supprimer les erreurs, cette modification
est indiquée dans le tableau.
- Parce qu'il aurait été plus long d'installer une démo pour la totalité des galeries ... Quoi qu'il en soit, toutes les
galeries citées ici disposent d'une démo sur les sites de leurs auteurs (voir les liens dans le tableau).
Galerie |
Homepage |
Archive |
Taille |
Vignettes auto |
Démo |
Album.php |
http://www.cise.ufl.edu/~snsk/images/About.php |
album.zip |
1k |
 |
Démo  |
v. 2004/02/16 |
Notice: Undefined index: cur in [...] on line 15
Notice: Undefined index: full in [...] on line 16
Notice: Undefined index: resize in [...] on line 17
Notice: Undefined index: imgName in [...] on line 18
Et pas de vignettes affichées.
|
Simple Photo Album |
http://ilannweb.free.fr/ |
spa.zip |
2k |
 |
Démo  |
v. 0.2 |
Si register_globals = off sur le serveur, ajouter dans le fichier PHP,
après la section des paramètres, les 3 instructions
$ishome = isset($_GET['ishome']) ? $_GET['ishome'] : '' ;
$filename = isset($_GET['filename']) ? $_GET['filename'] : '' ;
$filenumber = isset($_GET['filenumber']) ? $_GET['filenumber'] : '' ;
|
PHPImageView |
http://www.onlinetools.org/tools/phpimageview.php |
phpimageview.zip |
3k |
 |
Démo  |
v. 2.2 |
Ne gère pas du tout de vignettes.
Dans phpimageview.php, « Remplacez tout »
HTTP_GET_VARS (obsolète) par _GET et $SERVER_VARS (idem) par $_SERVER
Pour éviter un Notice sur $pic, remplacez enfin « $pic=$_GET['pic']; » par
« $pic=isset($_GET['pic']) ? $_GET['pic'] : ''; »
|
Mini Galerie |
http://www.phptools4u.com/scripts/mgallery/ |
mgallery.zip |
3k |
 |
Démo  |
v. 2002/08/26 |
Dans mgallery.php, « remplacez tout »
HTTP_GET_VARS (obsolète) par _GET
|
Gallery |
http://baglan.web.tr/old/en/codes.html#gallery |
gallery.zip |
3k |
 |
Démo  |
v. 0.1 |
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Warning: Unknown: Failed opening '[...]' for inclusion
|
Easy PHP Image Gallery Lite |
http://www.digitalelite.biz/scripts/ |
easyphplite.zip |
3k |
 |
Démo  |
v. 2002/11/20 |
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Warning: Unknown: Failed opening '[...]' for inclusion
|
Another Image Gallery | vracbazar.free.fr
http://outrun.com.au/Another-Image-Gallery.html |
phpimagegallery.zip |
3k |
 |
Démo  |
v. 1.1 |
Préfère dans php.ini : error_reporting = E_ALL & ~E_NOTICE
|
galerie.php |
http://cker.name/galerie/ |
galerie.zip |
4k |
 |
Démo  |
v. 2004 |
|
Dodo's Simple Gallery |
http://www.regretless.com/scripts/ |
|
4k |
 |
Démo  |
v. 1.0 |
Ne gère pas du tout de vignettes.
Si register_globals = off, ajouter dans le fichier PHP :
« $num = isset($_Gvracbazar.free.frET['num']) ? $_GET['num'] : ''; »
Ajouter aussi « $PHP_SELF = $_SERVER['PHP_SELF']; »
|
EasyThumbs |
http://www.onlinetools.org/tools/easythumbs.php |
easythumbs.zip |
5k |
 |
Démo  |
v. 2.2 |
4 fichiers seulement à installer, mais ils génèrent de nombreux fichiers HTML,
proportionnellement au nombre de photos de la galerie.
|
LGR Photo Gallery |
http://www.photogallery.lgr.ca/ |
lgrphoto.zip |
7k |
 |
Démo  |
v. 0.2 |
Installé sur un serveur Free :
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in [...]lgrphoto.php on line 138
Désactivez cette ligne !
|
yamig.php  |
http://vracbazar.free.fr/v2/yamig/ |
yamig-1.01.tgz |
9k |
 |
Démo  |
v. 1.01 (2008/03/09) |
Création auto de vignettes, + outil de création hors-ligne proposé (s'appuie sur ImageMagick).
yamig a presque doublé de poids en version 0.21 (0.20 = 4k -> 0.21 = 7k), essentiellement du fait de la petite doc en-ligne qui s'y est ajoutée.
|
FhImage |
http://www.flash-here.com/downloads/fhimage.html |
fhimage-1.2.1.zip |
13k |
 |
Démo  |
v. 1.2.1 |
Préfère dans php.ini : error_reporting = E_ALL & ~E_NOTICE
Dans index.php, remplacer « foreach($HTTP_GET_VARS » par
« foreach($_GET ». Idem dans genthumbs.php.
|
PHPSlideShow |
http://www.zinkwazi.com/wp/scripts |
phpslideshow-0.9.9.2.tar.gz |
15k |
 |
Démo  |
v. 0.9.9.2 |
Création auto de vignettes avec avec transfert FTP lors de la création, optionnel.
Dans phpslideshow.php, « remplacez tout »
HTTP_SERVER_VARS (obsolète) par _SERVER
|
mmgallery |
http://www.mmgallery.net/
(2007/07/17: page down ?) |
mmgallery-1.55.zip |
15k |
 |
Démo  |
v. 1.55 |
Nécessite d'installer les photos selon la structure prévue par mmgallery
Les vignettes des photos sont déformées (format portrait, panoramique, ...).
Préfère dans php.ini : error_reporting = E_ALL & ~E_NOTICE
|
Photogallery PHP script |
http://people.jyu.fi/~tuma/home/gallery.php |
photogallery-1.1.5.tar.gz |
17k |
 |
Démo  |
v. 1.1.5 |
Pas de vignettes auto, mais outil de création hors-ligne proposé.
Préfère dans php.ini : error_reporting = E_ALL & ~E_NOTICE
Remplacez dans photogallery.ph les variables $this par $tmpvar.
Ajouter « if (!file_exists($infofile)) return ''; »
avant fopen dans la fonction get_pictinfo. (ou « ...
return $picture; »)
|
PHP IMAGE GALLERY |
http://www.jeroenwijering.com/?item=PHP_Image_Gallery |
php_image_gallery.zip |
47k |
 |
Démo  |
v. 2.0 |
Trop volumineux
Ne gère pas du tout de thumbnails.
|
minimal Gallery |
http://minimalgallery.net/ |
mGallery_0.8.zip |
55k |
 |
Démo  |
v. 0.8 |
Trop volumineux. |
Qdig - A Quick Digital Image Gallery Script |
http://qdig.sourceforge.net/ |
qdig-1.2.9.4.tar.gz |
68k |
 |
Démo  |
v. 1.2.9.4 |
Trop volumineux. |
phpFotoAlbum |
http://php.soundboss.cz/index.php?lang=en&co=phpfa1
(2007/07/17: page down ?) |
phpFotoAlbum_1_48.zip |
75k |
 |
Démo  |
v. 1.48 |
Trop volumineux.
2.0 alpha et SB|PhotoAlbum encore plus gros
|
Mig - "My Image Gallery" |
http://mig.sourceforge.net/ |
mig-1.5.0.tar.gz |
172k |
 |
Démo  |
v. 1.5.0 |
Trop volumineux.
Pas de vignettes auto, mais outil de création hors-ligne proposé.
|
R2K Gallery |
http://usuarios.lycos.es/r2kscripts/ |
r2kgalery_v1.7.zip |
193k |
? |
Démo  |
v. 1.7 |
Trop volumineux. |
PHPicture |
http://www.stickmanarcade.com/phpicture/ |
phpicture_v1.4.zip |
323k |
 |
Démo  |
v. 1.4 |
Trop volumineux. |
Photoalbum Black&White |
http://chweb.host.sk/photoalbum/readme/readme_en.html |
photo_album.zip |
937k |
 |
Démo  |
v. 1.12 |
Trop volumineux. |
Simple Gallery Script |
http://sgs.sourceforge.net/ |
sgs.zip + orion.zip |
1113k |
? |
Démo  |
v. 0.6 |
Trop volumineux. |
Bilan : choisissez la galerie qui vous convient le mieux !