Bonjour,
Suite à ce post : [Forum, post 114468 by toto0026 in topic 15729] pLoader et nom de fichier et différente recherche je me rend compte d'un "problème". Actuellement pLoader permet de personnaliser le titre d'une photo avant envoie, le soucis est qu'il transforme le nom du fichier pour une raison inconnue (doublons peut être ?). L'inconvénient de cette solution est que lorsqu'on télécharge soit via la disquette, clic droit ou via le plugin DownloadMulti le nom de fichier ne correspond à plus rien.
Est-ce qu'il est envisageable de créer un paramètre dans pLoader qui permet de garder le nom de fichier d'origine ou la numérotation pLoader ?
Hors ligne
Le fait de renommer la photo et de lui attribuer un nom c'est pour des question de sécurité.
Néanmoins je trouve ta remarque très judicieuse.
Ne serais il pas possible au moment du clic sur la disquette pour télécharger le fichier de lui attribuer le nom de la photo plutôt que son nom physique ?
Hors ligne
ddtddt a écrit:
Ne serais il pas possible au moment du clic sur la disquette pour télécharger le fichier de lui attribuer le nom de la photo plutôt que son nom physique ?
Ce serait à mon avis bien plus judicieux. On canonise son nom pour ne pas avoir des accents ou autre espace et le tour est joué!
Hors ligne
Le renommage à la volé règle le problème pour le clic sur la disquette mais pas pour le clic droit et ni pour DownloadMulti ou tout autre plugin utilisant les noms de fichiers :(
Le fait de renommer la photo et de lui attribuer un nom c'est pour des question de sécurité.
Je comprend pas trop en quoi ça sécurise ?
Hors ligne
Je remonte le sujet car je vais bientôt boucler la sortie de Download_Multi 0.9-1 et pour le moment je suis bloqué par ce petit problème.
Hors ligne
flipflip a écrit:
Le renommage à la volé règle le problème pour le clic sur la disquette mais pas pour le clic droit et ni pour DownloadMulti ou tout autre plugin utilisant les noms de fichiers :(
Le fait de renommer la photo et de lui attribuer un nom c'est pour des question de sécurité.
Je comprend pas trop en quoi ça sécurise ?
Pierrick serait probablement le mieux placé pour répondre, mais je pense avoir au moins deux éléments de réponses à ce sujet :
1/ je n'ai pas vraiment regardé pLoader, mais je suppose que le nom du fichier n'est rien d'autre que son checksum MD5
- si tu prends deux fichiers absolument identiques, mais avec des noms de fichiers différents, ils auront le même MD5
=> on pourrait dire que si un fichier référencé par son MD5 est déjà présent sur le site, il n'est pas nécessaire de le télécharger une seconde fois
- si tu prends deux fichiers différents mais avec des noms de fichiers identiques, ils auront un MD5 différent
=> par exemple mon appareil photo boucle au bout de 10000 photos (IMGP0000 à IMGP9999) ; au bout de 10000 photos donc, je boucle et j'ai de nouvelles photos portant le même nom que des photos déjà prises ; avec ce système, je m'assure de pas être embêté (ne pas avoir deux fichiers différents avec le même nom)
2/ côté sécurité, n'oublions pas que les photos pLoader sont rangées dans un répertoire autre que galerie (enfin il me semble).
Comme je le disais, mon appareil fait des noms de fichiers qui bouclent. un visiteur remarque que l'url de mes photos, c'est http://machin.truc.fr/xxxxx/yy/IMGP0000.jpg, IMGP0001.jpg, IMGP0100.jpg, IMGP4200.jpg, IMGP3400.jpg
Il n'a qu'à tester toutes les urls de http://machin.truc.fr/xxxxx/yy/IMGP0000.jpg à http://machin.truc.fr/xxxxx/yy/IMGP9999.jpg et avec un peu de bol, il récupère plein de photos qui étaient inacessibles car dans des catégories privées....
Avec un nom genre "a789de7825dab00fe45.jpg" il devient plus difficile de deviner le nom de photos présentes sur le site...
Sur le second point, à confirmer par des plus experts que moi (parce que pLoader je l'ai utilisé qu'une fois il y a un certain temps déjà, j'avoue)
Hors ligne
Ce sont effectivement les 2 raisons qui nous ont amené à renommer les fichiers en utilisant le MD5 de la photo originale.
Il est prévu de faire une évolution qui consistera à transmettre, lors de l'ajout d'une photo, les MD5 de l'original, de la miniature et de la photo réduite car actuellement on ne peut pas refaire un upload avec une taille différente puisque seul le MD5 de l'original est utilisé pour déterminer s'il faut faire un ajout.
Hors ligne
Salut,
Merci pour les précisions et je suis ok pour la méthode des noms de fichiers même si je n'ai pas l'impression que c'est le md5 dans la version 2.0.3a de pLoader car pour moi en base un fichier est nommé sous la forme : YYYYMMDDHHmmss-nombreAléatoire.jpg (je suis pas certain pour HHmmss).
Au contraire cette solution soulève deux problèmes principalement lié à DownloadMulti :
Perte de la structure des "répertoires"
Je vais vous donner un peu de détail. Avec pLoader je créé une catégorie virtuelle cat1, j'ajoute des photos. Côté public je retrouve bien cat1 avec les photos mais côté technique je me retrouve avec un path qui ressemble à ./upload/2009/07/28/nomdufichierr.jpg et cat1 en virtuelle. Jusqu'à présent avec DownloadMulti grâce aux informations stockées dans le path de la base je pouvais recréer toute la structure des catégories ce qui était très pratique. Maintenant avec cette nouvelle méthode c'est perdu, pour la contourner la solution serait de créer de façon temporaire des répertoires qui correspondent au nom de la catégorie, de copier les fichiers et de compresser tout ça. Autant dire que ça serait une prise de tête énorme.
Perte totale du nom du fichier d'origine
La où ça devient encore plus compliqué pour moi est qu'au niveau du fonctionnement de notre galerie (comprendre la où je boss), le nom de fichier est utilisé par d'autres programmes (gestion commercial...) pour retrouver la photo correspond à un produit, par exemple le produit 1-79856 dans notre gestion commercial correspond à l'image 1-79856.jpg de notre galerie. Je pourrais créer une table de correspondance ou intervenir sur la gestion commercial pour qu'elle se base sur le champ name de la table #_images mais malheureusement je ne peux rien modifier sur le logiciel et en plus il utilise une base Oracle donc pas de connexion possible avec MySql.
C'est dommage car je pensais lors de la prochaine migration de la galerie de ma société tout passer en catégorie virtuelle et faire profiter de pLoader aux utilisateurs au lieu des scripts photos maisons qui sont bien moins facile à utiliser. A mon niveau c'est "gérable" mais pour un utilisateur de Piwigo ça risque de devenir compliquer.
Dernière modification par flipflip (2009-08-06 09:04:47)
Hors ligne
Si je comprend bien ce que tu souhaites
Pour la version 2.1, il faudrait créer un champ supplémentaire origine_name dans la base de données qui correspond au nom d'origine du fichier.
(Si photo charger par FTP ou upload html) Au moment de la synchronisation, si ce champ est vide, On le remplie avec le non du fichier sur le serveur.
Si la photo est envoyer par pLoader ou autre ce champs est remplie au moment du transfert avec le nom d'origine de la photo quelque soit le nom que le fichier aura sur le serveur.
Quand on télécharge le fichier via la disquette dans picture.tpl, Piwigo va chercher le nom du fichier dans ce nouveau champs ?
Hors ligne
Non même pas, ce que tu propose c'est quelques choses que je fais mais avec le champ name (remplie automatiquement lors de la synchro par le nom de fichier sans extension) pour une autre application qui elle est capable de faire une requêtes html, et en plus ça me permet d'avoir en affichage côté public 1-79856 au lieu de 1-79856.jpg.
Cette solution pourrait aller effectivement pour le coups de la disquette. Au contraire après avoir posté ma réponse j'ai fais quelques recherches et avec la lib ZipArchive il est possible de nommer un fichier différament une fois dans l'archive, donc ton idée pourrait aller aussi. Avec l'autre lib que j'utilise PclZip, qui est malheureusement encore utilisez parce que certains hébergeurs n'ont pas activés ZipARchive, je ne sais pas encore si c'est possible. Peut être qu'avec de la chance ces modifications réalisé par les lib pourrait aller jusqu'à la catégorie... Je fais des tests aujourd'hui et je vous fais un retour.
Hors ligne
Après quelques essais et correction de code, j'ai réussi à re-créer le même fonctionnement qu'avant (nom de catégorie et nom de fichier d'origine), en tout cas avec la lib ZipArchive, pour PclZip ça va être une autre affaire.
Je te confirme ddtddt (il ne t'ont pas oublié... référence au film taxi...) il faudrait dans les prochaines version ajouter un champs qui devra être remplie par le nom du fichier d'origine avec sont extension (petit test à faire pour les extension non images et le pwg_high) quelque soit la méthode d'upload... Enfin sans vouloir vous commandez monsieur :D
Ces modifications vont même apporter la possibilité de choisir au niveau du plugin si on re-créé ou non l'arborescence des catégories.
Dernière modification par flipflip (2009-08-10 13:08:11)
Hors ligne
Hors ligne
J'ai commencé les modifications sur le core de piwigo maintenant faut que je modifie les webservices et pLoader... Mais ça c'est une autre affaire.
Hors ligne
dans [Bugtracker] ticket 967, je viens d'ajouter un message, que je vous traduis en français et sur lequel on peut discuter (contrairement au bugtracker qui n'est pas adapté à la discussion).
plg a écrit:
Alors que j'étais en train de résoudre [Bugtracker] ticket 1404, j'ai réalisé que l'on pourrait simplement réutiliser le champ images.file.
Ce champ n'est utilisé que pour de l'affichage et lorsqu'on met à jour l'autre champ images.path. MAIS les photos ajoutées via l'API web conserver à vie leur images.path initial, ce champ n'est pas mis à jour par l'action "Administration>Spéciales>Maintenance>Mettre à jour les informations des images".
J'ai joué avec action.php afin que lorsqu'on télécharge (disquette) la photo en haute définition, le fichier téléchargé n'est plus le basename($path) mais directement le contenu du champs images.file. Conclusion : au lieu de télécharger 20100124234702-e69de1d9.jpg maintenant je télécharge "Le gros Rhinô €urodéputé 步提高.jpg"
Bref, je suis plutôt content de cette illumination provoquée par la question anodine de Patricia dans [Forum, topic 16928] Upload Form
Hors ligne
Il y a un moment que j'attends que ton déclic se fasse.
J'estimais simplement que nous avions d'autres priorités, mais je savais que cela viendrait.
Je ne sais plus dans quel post mais je t'ai tendu la perche en disant qu'on prévoirait un champ supplémentaire en 2.1
En fait, je suis assez partisan d'un "original_filename" et de laisser le filename actuel qui lui pourrait être modifié.
Hors ligne