Hello les gens,
[mode=bla bla de présentation, pas essentiel pour répondre à la question]
J'utilise Piwigo depuis quelques semaines pour une gallerie de photo dont je vous filerai peut être le lien quand elle sera plus fournie ;)
Pour le moment, je développe un plugin pour pouvoir poser des filigranes sur les photos directement à partir de Piwigo.
Ca avance pas mal, mais là j'ai besoin de votre aide :)
je fais une utilisation intensive du javascript et plus particulièrement de l'ajax pour offrir une interface conviviale et simple pour placer et redimensionner les filigranes par simple glisser/déposer... et j'ai besoin de temps en temps de renvoyer des données formatées du serveur vers le client... et j'aurais bien aimé utiliser les templates pour ça...
(pour rassurer les anti-javascript (je sais que ça existe), je ferai sans doute une version pure PHP ultérieurement si j'en ai le courage, mais pour le moment je pense surtout à moi qui ne désactive pas le javascript et qui suis adepte de la simplicité d'utilisation :D )
[/mode]
bref! j'en viens à mon "soucis":
j'ai pas trouvé le moyen de partir d'un template vierge pour renvoyer des données du serveur au client... ce que je renvoie est forcément toujours accompagné du html servant à afficher le menu, l'entête et le pied de page piwigo.
existe-t-il un moyen de purger le template ou de partir d'un nouveau template complètement vide dans un plugin?
je sais que je pourrais faire sans et simplement générer le formatage de mes données par des print() ou des echo (et c'est ce que je vais faire si vous n'avez pas de solution), mais je me dis que puisque j'ai un moteur de template à dispo, autant l'utiliser.
voila... merci de votre attention,
a+
Hors ligne
Salut,
Je ne vois pas trop l'intérêt d'utiliser un template pour envoyer des données... par contre, les webservices sont fait pour ça! Un plugin peut créer un webservice qui va renvoyer une réponse en JSON (par défaut, mais on peut aussi avoir du php sérialisé ou du xml).
Jette un oeil au fonctionnement de [extension by P@t] Websize Regeneration
PS: le javascript est obligatoire du côté admin de piwigo, donc pas la peine de refaire une interface sans JS par la suite!
Hors ligne
hola P@t,
l'intérêt du template pour renvoyer des données c'est uniquement une question de propreté, de séparation entre la récupération des données et de leur mise en forme et puis plus de cohérence avec le fonctionnement interne de Piwigo.
pour le moment je me débrouille (oui j'ai pas attendu la réponse pour continuer ;) ) en générant ma réponse en xml avec des echo et en sortant du script avec un exit() une fois la réponse générée pour ne pas renvoyer de html après...
mais ça me parait un peu dégueu comme façon de faire.
ceci dit, c'est vrai que j'avais pas pensé au web services et que c'est certainement la bonne façon de faire. d'autant que, à la vue de ton plugin WebSizeRegeneration, ça n'a pas l'air bien bien méchant à mettre en place et que, d'après ta description, ça a l'air bien plus flexible.
bon le seul point noir est que je n'ai jamais utilisé de web services.. alors je vais probablement continuer avec ma façon dégueu le temps de valider le fonctionnement de mon plugin.
je remplacerai par des web services ensuite.
en tout cas merci pour la réponse rapide et éclairée
a+
PS: ah oui! parfait pour le javascript dans la partie admin xD
Hors ligne
Bonjour,
Sans répondre à aucune des questions, voici une toute récente conversation : [Forum, topic 20796] watermark automatique par rewrite
Hors ligne
Salut,
on dirait que le watermark a le vent en poupe ;)
j'ai lu vite fait l'article en lien et jeté un (très) rapide coup d'oeil au code.
à moins que j'ai mal compris, il s'agit de marquer l'image à la volée à chaque affichage! pas cool pour les hebergements mutalisés comme ça a déjà été dit, c'est un coup à se faire virer par l'hebergeur si la galerie à beaucoup de visiteur...
pour ma part je compte adopter une méthode moins couteuse en ressource, mais plus couteuse en espace disque (mais l'espace disque est moins cher que la RAM et l'occupation du processeur il me semble ;) ).
je compte faire en sorte de sauvegarder l'image originale dans un dossier séparé (au cas ou on veuille refaire ou supprimer le marquage) et remplacer l'image originale par l'image marquée.
par contre, j'ai une autre question qui me turlupine à ce sujet:
j'ai remarqué qu'après l'upload, l'image est renommée avec un nom qui semble contenir une partie du hash MD5 de l'image... du coup, comme le marquage de l'image va forcément modifier son hash MD5, je me demande s'il y a des contrôles à ce niveau.
pas que ça soit impossible de refaire un nom de fichier adapté et de mettre la base de données à jour, mais ça serait quand même plus simple si je pouvais me contenter de garder le même nom de fichier.
tchô!
Dernière modification par Tryph (2011-08-26 00:26:10)
Hors ligne
Le hash MD5 est calculé lors de l'importation de la photo initiale. Par la suite, Piwigo ne contrôlera plus ce hash. Il n'est donc pas nécessaire de recalculer ce hash à chaque changement dans la photo.
Par contre, si vous renvoyer votre photo wartermarkée via Piwigo, là oui il va y avoir un soucis car Piwigo va bien détecter que c'est une nouvelle photo. Exemple :
Vous ajoutez le fichier exemple.jpg qui ne contient pas de watermark via le panneau d'administration de votre galerie. Sur votre PC, vous décidez de rajouter ce watermark et vous renvoyez ce fichier (même nom) vers Piwigo. Piwigo va comprendre qu'il s'agit d'une nouvelle photo.
Hors ligne
ug!
j'ai mal du m'exprimer :)
c'est le plugin que je prépare qui va marquer l'image sur le serveur:
1 - on upload une image
2 - on se rend dans le plugin pour la marquer (plus tard j'ajouterai peut être la possibilité un marquage par défaut a l'upload), on valide une fois que c'est fait.
3 - le plugin copie alors l'image originale dans un autre dossier, soit au même niveau que l'image, soit dans un arborescence complètement séparée (j'ai pas encore décidé ça. si vous avez un avis, je suis à l'écoute) pour avoir une copie propre de l'image.
4 - le plugin applique alors les watermarks sur l'image et enregistre le résultat à la place de l'image originale dans le répertoire original.
exemple avec une image "upload/2011/08/26/image-hashmd.jpg":
-> copie de l'image dans "save/upload/2011/08/26/image-hashmd.jpg"
-> marquage de l'image et enregistrement de la version marquée dans "upload/2011/08/26/image-hashmd.jpg"
je fais pas de nouvel upload. et si piwigo ne fait pas de contrôle ultérieur sur le MD5, ça devrait passer comme une lettre à la poste. non...?
a+
Hors ligne
Ok ok.
Vous pouvez contacter P@t aussi qui grâce à son travail avec [extension by P@t] Thumbnails Regeneration pourrait vous aider à mener à bien votre plugin :-)
Hors ligne