Grum, voir les posts précédents. ;-)
Je crois que yoDan avait bien vu, une partie de ces points que tu soulèves et nous avons pris pour axiome largeur disponible fixe.
La hauteur globale sera "fluide" donc pas d'ascenseur (sous entendu).
On évitera dans un premier temps le JS.
8-)
Hors ligne
ben euh.
je comprends pas trop en fait "la hauteur globale sera fluide donc pas d'ascenceur".
si la hauteur globale est fluide, pour moi au contraire il y a risque d'ascenceur. ou alors on ne se comprends pas dans l'emploi des termes.. ^^;
pour le JS, dans un premier temps moi au contraire je l'utiliserais : çà sera plus facile à coder, et plus facile à débbuguer. enfin c'est mon point de vue.
une fois l'algo validé, le language définitif (avantages/inconvénients) sera à choisir.
Hors ligne
grum a écrit:
ben euh.
je comprends pas trop en fait "la hauteur globale sera fluide donc pas d'ascenceur".
si la hauteur globale est fluide, pour moi au contraire il y a risque d'ascenceur. ou alors on ne se comprends pas dans l'emploi des termes.. ^^;
pour le JS, dans un premier temps moi au contraire je l'utiliserais : çà sera plus facile à coder, et plus facile à débbuguer. enfin c'est mon point de vue.
une fois l'algo validé, le language définitif (avantages/inconvénients) sera à choisir.
Je ne suis pas assez costaud en JS...
Explique-nous ce qu'il faudra coder.
8-)
Pour le reste, si tu forces les deux, #content { width: 700px; height: 600px; }:
Overflow: hidden => pas beau !!!
Donc on laissera faire et si la galerie affiche 60 miniatures, le navigateur va ajouter un ascenseur dans #content et donc réduire la largeur.
Inacceptable!
Donc on ne fixe pas height, on se paye l'ascenseur du navigateur... mais je ne sais pas l'éviter, car je ne connais pas ni la hauteur du header ni celle du footer => Je m'en fiche dans une certaine mesure, cela deviendra le pb du webmaster et plus le nôtre.
8-)
Hors ligne
VDigital a écrit:
Je ne suis pas assez costaud en JS...
Explique-nous ce qu'il faudra coder.
faut déjà avoir un algo à coder :o)
çà peut être compliqué, par exemple si on veut optimiser l'affichage (genre y a un petit trou dans la mosaique en vrac et y la place d'y placer une vignette, et ben faut l'y placer...)
le code viens ensuite valider l'algo ;)
VDigital a écrit:
Pour le reste, si tu forces les deux, #content { width: 700px; height: 600px; }:
Overflow: hidden => pas beau !!!
Donc on laissera faire et si la galerie affiche 60 miniatures, le navigateur va ajouter un ascenseur dans #content et donc réduire la largeur.
Inacceptable!
Donc on ne fixe pas height, on se paye l'ascenseur du navigateur... mais je ne sais pas l'éviter, car je ne connais pas ni la hauteur du header ni celle du footer => Je m'en fiche dans une certaine mesure, cela deviendra le pb du webmaster et plus le nôtre.
j'avais envisagé la possibilité #content { width: 700px; height: 600px; } avec au moment de la constitution de la mosaique, si on commence à dépasser la hauteur maxi fixée, on cesse de placer des vignettes (y a la place que pour 20 vignettes et pas 60, on place que 20 vignettes)
Hors ligne
Je ne crois pas qu'on puisse accepter de laisser de coté des vignettes...
On doit les afficher toutes et le webmaster limitera convenablement l'affichage au besoin.
(d'ailleurs, merci P@t, nous savons faire varier le nombre de miniatures suivant les catégories maintenant).
8-)
PS: On n'optimisera pas l'espace perdu... Ce qui compte c'est un algo fiable et rapide.
PS2: J'ai oublié de dire que si je rafraichi la page, j'aurai la même mise en page même si elle est bien recalculée à chaque affichage.
Cela va de soi, mais il fallait encore le rappeler.
8-)
Hors ligne
VDigital a écrit:
Je ne crois pas qu'on puisse accepter de laisser de coté des vignettes...
On doit les afficher toutes et le webmaster limitera convenablement l'affichage au besoin.
je ne sais pas.
entre momo qui est encore avec son écran en 800x600 et bébert qui a un écran en 2048x1600, si je ne veux pas qu'il y ait d'ascenceurs sur ma page d'accueil, c'est forcément à la gallerie de gérer çà, et pas à moi d'essayer de me dire que l'écran moyen fait telles dimensions et que donc je dois afficher N vignettes pour espérer que çà loge chez tout le monde
l'idée d'une gallerie "en vrac" je la trouve intéressante, mais d'un point de vue strictement personnel je trouverais plus agréable sur un tel type de présentation de ne pas avoir à faire défiler l'écran. vu qu'on essaye de mettre en place un effet de de style, autant qu'il se voye entièrement d'un seul coup d'oeil.
çà se discute forcément :)
Hors ligne
A la fin on décidera si la hauteur doit être limitée également et dont si la pose des miniatures s'arrête dès que cette limite est atteinte.
(C'est donc qu'une simple option.)
Reste la logique de l'algo.
Outre la stratégie des 3 miniatures vides en haut à gauche, il y a la stratégie "ligne du haut qui progresse".
Imaginons que nous soyons en millieu de l'ago et montrons la page telle qu'elle se présenterait:
La logique devient: on pose au plus près du centre de la page dans la mesure où il y a de la place puis on déplace la limite supérieure de pose.
A la fin pour redonner une rondeur, on reprend les miniatures de droite et de gauche (2/3/4 miniatures), mais leurs positions restent occupées puis on replace nos miniature selon la logigue précédente.
??? Avis?
8-)
Hors ligne
VDigital a écrit:
Je ne crois pas qu'on puisse accepter de laisser de coté des vignettes...
+1
Si j'avais une telle galerie, je n'aimerais pas l'idée que certaines de mes photos ne soient pas disponibles et consultables en vignettes. Certains internautes (moi, parfois) n'explorent pas obligatoirement une galerie de fond en comble, mais butinent ici et là quelques photos qui leur tapent dans l'oeil ; par exemple, lorsqu'on n'a pas le temps, que la galerie est gigantesque ... Et là, les miniatures me permettent vraiment de décider si je vais regarder ou non une catégorie ou la photo en grand (je parle de la Picture, non de la HD).
Pourquoi ne peut-on avoir des thumbnails sur une page comme ça ? elle serait "élastique" et aurait un footer plus petit bien-sûr ...
Hors ligne
stripy a écrit:
Pourquoi ne peut-on avoir des thumbnails sur une page comme ça ? elle serait "élastique" et aurait un footer plus petit bien-sûr ...
Parce que dans certains cas à droite tu auras l'ascenseur de ta frame, mais en plus peut-être l'ascenseur du navigateur,
et pour moi 2 ascenseurs c'est au moins un de trop.
Ces ascenseurs prennent de la place sur la largeur de l'écran et en réduisant la largeur disponible parfois cela provoque l'arrivée de l'ascenseur horizontal.
=> Tout faux.
8-)
PS: SVP, nous avons d'abord besoin d'idées d'algo "sympa" alors faites fonctionner vos cellules grises, partagez vos idées pour passer d'un stade n à un stade n+1. (Réaliste quand même). Merci.
Hors ligne
Algo d'une spirale... Oui, peut-être?
Avec un coup une image en paysage et un autre en portrait, plus de temps en temps une image carrée, je crains fort d'y laisser beaucou d'espace perdu...
Aurai-je tort?
8-)
Hors ligne
J'ai un espace initial alloué pour l'affichage des vignettes. Cet espace est fini : une largeur, une hauteur.
Tant qu'il y a la place d'y mettre des vignettes, l'espace se remplit.
On peut lui mettre une hauteur très grande (genre 12000pixels) : ce n'est pas pour autant que l'on voit un ascenceur sur la fenêtre, l'ascenceur commence à apparaitre si les vignettes se placent au delà de l'espace visible de la fenêtre.
Sur ce point, je réponds à mon besoin (espace limité, on arrête d'afficher des images si on a plus la place) et celui de vincent et nathalie (afficher toutes les vignettes même si çà déborde de la fenêtre). Il s'agit d'un simple paramétrage que le webmaster configurera à sa convenance.
çà, c'est pour l'espace total alloué au vignettes.
Pour afficher les vignettes en vrac dans cet espace, je suis parti sur l'idée de "quadrants".
Un quadrant dispose d'un espace limité pour afficher une vignette (et une seule).
Le quadrant se délimite par une coordonnée d'origine, et une coordonnée de fin.
Initialement, les coordonnées de fin correspondent aux dimensions de l'espace total alloué pour l'affichage des vignettes.
Quand je positionne une vignette dans un quadrant, je créé deux nouveaux quadrants (dont les coordonées d'origine correspondent aux dimensions de ma vignette), et désactive celui dans lequel on vient d'ajouter une vignette.
Si cette vignette déborde sur un autre quadrant, je modifie les dimensions du quadrant sur lequel déborde la vignette.
Une vignette ne peut s'afficher dans un quadrant que si ses dimensions sont inférieures à celles du quadrant : un trou au milieu de vignettes peu se combler si un vignette est suffisament petite pour y loger. çà réponds pas à la demande de vincent (ne pas optimiser l'espace perdu)
Tant que j'ai des vignettes, j'essaye de trouver un quadrant ou les placer.
S'il n'y a plus de quadrant et plus de vignettes, j'arrête de chercher...
l'algorithme serait :
Pour chaque vignette
Tant que la vignette n'est pas positionnée
chercher le premier quadrant pouvant l'accepter (quadrant actif, et dont les dimensions sont supérieures à celles de la vignette)
si trouvé
désactiver le quadrant
rechercher et modifier les limites des quadrants actifs et sur lesquels la vignettes venant d'être créée déborde
créer un quadrant à droite de ma vignette
créer un quadrant dessous ma vignette
sinon
ne pas afficher la vignette
finsi
fin tant que
fin pour
Et comme un bon exemple est toujours mieux qu'un long discours, une petite démo ici : http://grum.dnsalias.com/temporaire/vignettes.html
Pour la démo, c'est du javascript testé uniquement avec firefox 2.0, je garanti pas le fonctionnement sur d'autres navigateur !!
L'espace initial est un rectangle de 800x800, au milieu duquel on ajoute les vignettes.
J'ai autorisé l'espace à s'agrandir sur 800x1200.
Pour ajouter une vignette, on saisie ses dimensions et on clique sur "ajouter"
Ou on clique sur "ajout taille aléatoire" si on a la flemme de saisir des dimensions.
L'espace autour de chaque vignette est défini à 5pixels (çà se paramètre via une variable dans le code)
Un quadrant est exploitable tant que sa largeur est > 30pixels et tant que sa hauteur est > 30pixels (çà se paramètre aussi via des variables dans le code).
l'algo est fiable, celui proposé en démo n'est pas forcément optimisé mais il reste néanmoins rapide (mais on peut toujours l'optimiser ;))
est-ce que çà répondrait au besoin ?
Hors ligne
j'oubliais : çà réponds à une contrainte de vincent : tant que les images sélectionnées sont de même dimensions, leur positions sur lécran seront toujours la même...
çà se vérifie en ajoutant des vignettes : celles déjà présentes restent à leur place.
en supprimant des vignettes (on clique sur une vignette) on voit que tout est réorganisé différement.
l'algorithme impose donc si on veut faire un refresh de la page sans que la position des vignettes ne change, de lui fournir toujours les mêmes vignettes, et dans le même ordre.
Hors ligne
Pas mal du tout, si j'ai 95% ou plus de vignettes identiques, les quadrants s'alignent beaucoup trop.
L'idée consiste donc maintenant à être capable de gérer un décalage soit vertical soit horizontal
Un nouveau quadrant va être contigü à gauche (ou à droite) d'une vignette, je le le décale vers le haut ou le bas de 8% de sa plus petite dimension.
S'il n'est pas décalé, le nouveau quadrant sera contigü en haut (ou en bas) d'une vignette, je le le décale vers la droite ou vers la gauche de sa plus petite dimension.
Tu nous essaies ça.
Un grand merci d'avance.
Nous avons presque la solution.
8-)
Hors ligne