Pages: 1
Bonjour à tous,
après avoir mis en pause quelque temps (!) le plugin, cause emploi du temps professionel bien chargé, je reviens vers vous pour présenter la v0.1 du plugin DynamicResize ,
qui est loin d'etre peaufiné mais suffisamment opérationnel pour etre utilisé.
Objectif : Emmener votre Piwigo vers des sommets de performance et de réactivité !
- redimension à la volée , coté serveur , de l'image, en fonction de la taille finale de l'image.
Ex: Votre image source fait 1280*1024 coté serveur, mais le client ne peut afficher que 640*512 ?
L'image est redimensionnée en live coté serveur en 640*512, ce qui amène a un téléchargement 4 fois plus rapide !
(le temps de calcul etant d'environ 1/10e de s, suivant les ressources de la machine, la taille de l'image d'origine ..)
- prefetching (prechargement) de l'image suivante : Une fois que l'image courante est chargée, le chargement de l'image suivante démarre, toujours au bon format.
=> Le passage a l'image suivante est quasi-instantané !
=> pas d'impact sur le temps de chargement de la 1ere image, ni sur la bande passante (asynchrone) , ni sur la quantité de données. (dans la majorité des cas ou le visiteur aurait été effectivement voir l'image suivante)
- les images redimensionnées sont bien sur mise en cache, en cas d'interrogation 2 fois de la meme url, l'image redimensionnée est déja disponible.
- Encore mieux : Gestion des "304 not modified" sur les requetes, tant que l'image n'est pas regénérée, le serveur indiquera de ne pas recharger l'image !
- URL d'image "friendly" : bien qu'elles soient générées par du php, les images sont bien en extension .jpg
Usages Particuliers :
- Plus besoin de distinguer Image web / image haute resolution ! Ca n'est plus genant d'avoir des images de 1600*1200 en "taille web" !
(en tout cas pour la navigation, puisqu'il y a egalement des différences fonctionelles entre les 2, notamment sur la gestion des droits)
- Ideal pour les smartphones ! Plus la resolution finale est faible, plus le chargement va vite !
WARNING - WARNING - WARNING
cette technique utilise intensément le processeur, le plugin est donc vivement déconseillé a ceux qui n'ont pas des ressources illimités chez leur hebergeur, notamment en cas d'hebergement mutualisé restreint, ou de NAS peu puissant. A reserver pour l'instant aux hebergement dédiés, en attendant tout du moins des retours d'expérience.
Quelques détails techniques :
- le plugin se base pour l'instant sur le calcul de la taille disponible a l'ecran, calculé et renvoyé soit par le theme 'stripped', soit par le plugin 'autosize'. L'un ou l'autre sont donc indispensable pour que DynamicResize fonctionne.
- Pour l'instant la 1ere image n'est donc pas redimensionnée, puisque la taille n'est pas encore connue. Elle le sera (en option ?) dans une prochaine version avec un chargement XHR uniquement pour la 1ere image.
- Le plugin utilise la bibliotheque open source SLIR, qui gère le redimensionnement
- mode_rewrite activé sur le serveur vivement recommandé, pour l'ecriture des URL d'images.
DEMO : http://gallery.anotherworld.in , images en 1440 de large.
(voir notamment le diapo, sur le lien "plein ecran", qui fonctionne impeccable avec le plugin)
C'est ma gallerie de photos indiennes ou je suis en ce moment,
C'est un thème stripped un peu customisé, c'est donc stripped qui transmet à DynamicResize les infos de taille de l'ecran.
Quelques problemes connus :
- le calcul de la taille fonctionne bien avec Stripped, j'ai eu quelques soucis (à quelques pixels pres) avec Autosize, a suivre
- avec Stripped, j'ai eu un soucis sur le calcul de la taille des images verticales, à reproduire / confirmer
- 1ere image à charger en XHR, donc
- pour l'instant SLIR utilise GD, et pas ImageMagick, ce qui est fort dommage. Prévu de pouvoir l'utiliser dans le futur, soit en tweakant SLIR, soit en dupliquant ses fonctions.
- code brouillon, a nettoyer et peaufiner
- options à rajouter dans l'admin
- code pas implanté dans le cas ou l'espace disponible est vertical plutot qu'horizontal (iPhone , ..), ca viendra dans une version ulterieure.
Le plugin est disponible dans votre gallerie ou sur , http://fr.piwigo.org/ext/extension_view.php?eid=574
Vous pouvez donc dès a présent le tester , et me remonter vos problemes / recriminations / complaintes et autres suggestions!
Merci à cljosse , LucMorizur , et Zaphod pour les coups de main sur la fabrication du plugin, .. il y a déja quelques mois ! :/
Bonne soirée,
- Arno
Dernière modification par arno (2011-09-18 22:53:24)
Hors ligne
Bonsoir,
arno a écrit:
Le plugin n'est pas encore dispo dans les extensions, ca devrait arriver tout prochainement, (Pierrick, quelle est la prochaine etape ensuite, je dois inscrire le plugin quelque part ?)
A lire dans le [wiki].
Il y a quand même à l'affichage des images, un petit laps de temps où l'image initiale n'est pas redimensionné. Ca donne une sorte de "clignotement".
C'est prometteur comme fonctionnalité, merci.
Hors ligne
Merci,
post mis à jour pour eviter les confusions;
quel comportement constate tu exactement, l'image qui apparait avec une autre dimension que la dimension cible, puis qui revient au bon format ? (comme quand les dimensions d'un <img> ne sont pas renseignées ) ,
ou simplement un passage a un affichage blanc entre 2 images ?
- Arno
Hors ligne
Bonjour,
J'utilise la version 2.2.4 de piwigo
les plugins installés sont :
Additional PAges, Advanded Menu, Advanced MetaData, AutoSize, Charlies content, CoolIris-Piclens, GMaps, Grum Plugins Classes.3, LocalFIles Editor, Look_like_gbo2, piwigo AutoUpgrade, Smilies Support, Statistics, UserAdvManager.
Le thème est simple Black
Après activation du plugin DynamicResize, dans un album lors d'un clique sur une photo pour la visualiser en grand, celle ci n'apparait plus. J'obtiens un cadre vide.
Donc le plugin ne fonctionne pas pour ma conf.
De plus, avec l'activation du plugin Image Preview, les Notice et Warning suivants apparaissent :
Notice: Undefined index: image_url in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 111
Notice: Undefined index: image_url in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 114
Notice: Undefined index: width in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 121
Notice: Undefined index: height in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 122
Warning: Division by zero in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 125
Notice: Undefined index: image_url in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 167
Notice: Undefined index: image_url in /var/www/html/------/plugins/DynamicResize/main.inc.php on line 170
Cdt
arno a écrit:
Merci,
post mis à jour pour eviter les confusions;
quel comportement constate tu exactement, l'image qui apparait avec une autre dimension que la dimension cible, puis qui revient au bon format ? (comme quand les dimensions d'un <img> ne sont pas renseignées ) ,
ou simplement un passage a un affichage blanc entre 2 images ?
- Arno
Oui c'est ça. J'observe l'image dans un taille (format) plus grand que l'image qui est redimensionnée.
Hors ligne
@Doxaid :
et le coupable est ... look_like_gbo2 !
Le problème est réparé, peux tu mettre à jour et me dire si ça marche mieux ?
Le prechargement est par contre désactivé lorsque look_like_bgo2 est activé, mais le resize dynamique marche bien.
(mode technique on)
le plugin ecrase la valeur de $template->get_template_vars('next'); , du coup je n'y aie plus acces.
je desactive le prefetching dans ce cas pour continuer sans erreur
A moins que ca soit moi qui fasse confiance à cette variable à tort ? Est-ce qu'un expert peu me renseigner ?
(mode technique off)
@Gotcha :
Gotcha a écrit:
Oui c'est ça. J'observe l'image dans un taille (format) plus grand que l'image qui est redimensionnée.
J'ai déja vu ce probleme, mais je n'arrive pas à comprendre la différence entre avec et sans le plugin :
je ne touche pas au dimensionnement de l'image front ..
Peux tu me dire dans quel environnement ca se produit :
- stripped ou autosize ?
- browser ?
merci !
- Arnaud
Hors ligne
Je l'observe sur votre site de démo. Navigateur : FF5 (Windows Seven x64).
Hors ligne
Bonjour,
j'ai installé Piwigo 2.2.4 sur un serveur free.fr, ça fonctionne bien , mais je voudrais vraiment avoir comme vous en cliquant dans "plein ecran" : http://gallery.anotherworld.in/
c'est ce que je recherche...
j'ai donc utilisé le plugin "DynamicResiser" avec le thème "clear" : ça ne marche pas : j'ai pas de resize des images , puis j'ai voulu utiliser "Stripped" : quand je lance le diaporama la première image s'affiche ( pas resizée) mais je n'ai pas d'autres images... ( je précise que je suis avec firefox 3.6.12)
donc je n'arrive pas à faire marcher le plugin...
faut-t-il une version de piwigo speciale ?
y-a-t-il des plugins à rajouter ? ( je précise que je n'ai que ce plugin d'activé )
merci d'avance
Bonjour Arno,
Voila mon second retour sur le plugin DynamicResize.
J'utilise piwigo 2.2.5
Avec le thème Sylvia +plugins DynamicResize 0.3 et Autosize (aucun autre plugin d'activé):
- Les photos ne s'affichent pas sur firefox 6.0.2 et safari (iphone)
- Les photos s'affichent sur IE 6.0 mais les photos ne sont pas redimensionnées.
Avec les thèmes stripped/striped White/simple Black + uniquement le plugin DynamicResize 0.3 activé
- Les photos ne s'affichent pas sur firefox 6.0.2 et safari (iphone)
- Les photos s'affichent sur IE 6.0 mais les photos ne sont pas redimensionnées.
Bref je suis loin d'obtenir le résultat de ta démo qui fait rêver http://gallery.anotherworld.in
Bon courage pour la suite du dev si c'est toujours d'actualité ?
L'autre jour, je suis tombé sur ça:
http://www.sencha.com/products/io/
Ca pourrait être extrêmement intéressant de redimensionner ses images en passant par un serveur qui ne fait que ça :-)
Hors ligne
arno a écrit:
@Doxaid :
et le coupable est ... look_like_gbo2 !
Le problème est réparé, peux tu mettre à jour et me dire si ça marche mieux ?
Le prechargement est par contre désactivé lorsque look_like_bgo2 est activé, mais le resize dynamique marche bien.
Je veux bien faire quelque chose pour vous aider, mais j'ai besoin de plus d'informations !!!!
Hors ligne
Pages: 1