576 liens privés
À voir si ça peut faire mieux que SFPG ou miniGal / nanoGal / miniGalnano
Hop, je continue dans ma série « je veux me constituer une galerie KISS avec commentaire ». J'ai clairement jeté mon dévolu sur sfpg que je kiffe grave. Bon, j'ai parfois un problème de chargement des images mais rien de rebutant. Le seul petit soucis c'est que même si l'interface permet d'éditer des commentaires, c'est un poil contraignant : cliquer sur Admin
pour se mettre en mode d'administration, cliquer sur sa photo puis Description
et là on a une fenêtre d'édition du commentaire et enfin cliquer sur Save
et on recommence.
Je me suis dit qu'à la manière de l'éditeur de commentaire de Tommy pour MinigalNano, je pouvais simplement ouvrir un visionneur d'image d'un côté de l'écran (Win
+←
évidemment) et mon éditeur de texte favori de l'autre côté. Cela me permet de voir l'image en même temps que j'écris le commentaire et pour passer un suivant un petit Ctrl
+S
puis Ctrl
+W
dans une fenêtre et un →
dans l'autre fenêtre. Easy.
Oui mais… il me faut créer ce fichiers *.txt
. Bon, un petit batch ?
Oui mais… je suis une bite en batch.
Oui mais… « internet est mon ami » !
Allez, voici mon batch (oui rien de très glorieux mais bon, quand on rame un jour, on aime bien retrouver sa bouée de secours le lendemain…) :
CLS
@echo off
setlocal EnableDelayedExpansion
set zeFileType=jpg
set zeExtension=.txt
echo --- Ce script prend tous les fichier de type %zeFileType% ---
echo --- et il y ajoute une extension %zeExtension% ---
echo --- ([Ctrl]+[C] pour annuler) ---
pause
for %%x in (*.%zeFileType%) do (
echo Traitement de %%x
echo>%%x.txt
)
pause
Wouhouhou
\o/
J'ai réussi à résoudre ma première « grosse » anomalie en PHP !
/me happy
J'ai trouvé comment ne plus avoir le bug d'affichage des données EXIF. Et ça fonctionne. C'est juste une coquille à corriger (Tmos ou Sebsauvage, si vous me lisez ;-) ).
La flemme de comprendre comment faire des push/pull/commit dans Github, je vous le livre brut de décoffrage ici :
Évidemment, c'est dans le fichier "index.php".
* Suppression mauvaise lecture
Aux lignes 106/107 et 113/113, dans la fonction "readEXIF", on a :
...
list($x,$y) = preg_split('/', $efocal);
$efocal = round($x/$y,0);
...
et la même chose pour $efnumber
==> Et bien on peut supprimer ces deux couples de lignes. Ça enlève une belle division par zéro juste parce qu'il ne trouve pas le caractère '/' (ou est-ce un caractère d'échappement tout simplement?)
Bonne concaténation des infos EXIF
J'ai remarqué (après décalage sur plusieurs lignes de chaque instruction) qu'un '.' traîne lors de l'utilisation de cette même fonction dans la fonction principale à la ligne 224.
- On a :
- :...
- if ($display_exif == 1) $img_captions[$file] .= readEXIF($currentdir . "/" . $file);
- ...
- *Que l'on peut découper en :
...
- if ($display_exif == 1)
- {
- $img_captions[$file] .= readEXIF($currentdir . "/" . $file);
- }
- ...
- Et là on voit une erreur (je suppose un raccourci/optimisation trop rapide) : il y a un point ( '.' ) juste avant le égal ( '=' ).
==> Et je me sors du bouiboui ainsi :
- :...
- if ($display_exif == 1)
- {
- $toto = readEXIF($currentdir . "/" . $file);
- $img_captions[$file] = $toto;
- }
- ...
A ce niveau, plus d'erreur PHP crachée dans la page générée.
Mais toujours pas d'affichage des données EXIF à côté du nom du fichier lors de l'affichage de l'image de la galerie.
- Et oui, quelques lignes plus loin (ligne 232), un petit malin a de nouveau afficher ceci :
- :...
- $img_captions[$file] = $file;
- ...
- ==> Je m'en suis sorti ainsi (même si je suppose que l'on peut supprimer carrément la ligne...) :
...
- $img_captions[$file] = $file.$toto;
- ...
Excusez les noms de variables vraiment simpliste (on dira que c'est ma marque de fabrique) et la pull-request un peu "hors process" mais je m'en vais mettre à jour mon serveur ainsi.
Edit: En effet, supprimer la ligne (initialement) 232 fonctionne.
Edit3: Ou pas car visiblement ça n'affiche plus le nom du fichier - juste les données EXIF... :-(
Edit2: Pour les nouveau utilisateur de MinigalNano, il faut bien évidemment que le paramètre '$display_exif' soit à '1' dans le fichier 'config.php'...
Edit4: Bon, à propos de mon idée de supprimer les deux couples de lignes pour la focale et le F-number, ça enlève l'erreur mais ça ne résout pas le problème car cela m'affiche « Canon EOS 550D | 55/1mm | 1/160s | f8/1 | ISO 100 » au lieu de « Canon EOS 550D | 55mm | 1/160s | f8 | ISO 100 ». A bon entendeur... Edit5: je pense que c'est un problème dans le preg_list qui n'aime pas le "/" ou alors qui nous renvoie en fait un mauvaise valeur ou alors il faudrait prendre autre type de split...
Et une galerie de plein de guillochage. On trouve des trucs vraiment extra !
Trop bien, j'ai enfin fait ma propre galerie de manière fonctionnelle !
En combinant un peu de htaccess, de minigal et d'un script dragNdrop, j'ai mis un place une "plateforme" (allez, j'ose utiliser ce mot) pour que des gens puissent déposer des photos sur mon site de manière facile et privée.
J'ai encore besoin de faire de la customisation et un peu de réglage mais j'ai jeté la base et ça me suffit déjà pour débuter.
Pas mal !
Et associé à MinigalNano, je me fais une galerie privée ! trop cool
Oh, ça ça me plaît ! Peut-être enfin la bibliothèque que je cherche depuis tant de temps...
Bon j'ai testé mais je ne sais pas pourquoi il me dit qu'un sous-dossier que j'ai créé (comme indiqué dans la doc d'install) n'existe pas et ne peut être créé. Pas trop le temps de me pencher dessus, dommage, ça me paraîssait être l'une des meilleures galeries web sans base de données...