Retour aux Plugins

DynamicResize

1 langues disponibles

Révision 0.2

13 years 5 months ago
1 587
Non compatible avec la dernière version de Piwigo
Dimanche 18 Septembre 2011 13 years 5 months ago

Boostez votre Galerie de photos Piwigo !

DynamicResize permet de rajouter les fonctions suivantes :

- 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.

Plugin en cours de finalisation, n'hesitez pas à laisser un commentaire sur http://fr.piwigo.org/forum/viewtopic.php?id=20934 pour indiquer comment ça fonctionne pour vous !

Révisions 1

Révision 0.2

Sortie le Dimanche 18 Septembre 2011

1 587

Compatible avec Piwigo 2.2

13 years 5 months arno1 1 langues disponibles+ 1

1ere version publique, pour tests uniquement.

RAPPEL : ne pas utiliser si vous avez des ressources (processeur ..) limitées sur votre herbergement mutualisé, peut consommer beaucoup de CPU

Quelques problemes connus :
- "clignottement" de l'image lors de du chargement, avant le redimensionnement. (?!)
- 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.