|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mars 2003 Messages : 31 ![]() |
Bonjour,
Je vais simplifier à l'extrême le problème que je rencontre. Je développe actuellement une sorte d'explorateur d'images en PHP / Ajax, et la sélection multiple d'images est possible. Avec des images sélectionnées, il est possible de les redimensionner ou de créer des vignettes. Pour cela, je clique sur un bouton qui appelle une requête Ajax. Si par exemple j'ai 20 images sélectionnées, quelle est la meilleure solution en termes d'optimisation / performance ? - Appeler 20 requêtes Ajax vers un script PHP qui redimensionne une à une les images ; - Ou appeler une seule requête Ajax (avec en argument la liste des 20 identifiants d'image) vers un script PHP, avec boucle for à l'intérieur de celui-ci. J'utilise Mootools comme framework Ajax. Merci |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2007 Messages : 9 315 ![]() |
Bonjour,
en terme de temps d'exécution, ça sera (presque) sûrement la 1° solution. Ceci dit, pas sûr que la différence soit perceptible ... Par contre, la 2° te permettrait de mettre en plus facilement un indicateur de progression (style "1/20 traitée" puis "2/20 traitées" etc.), et de mettre à jour l'affichage au fur et à mesure. Justifié si le traitement de chaque image laisse le temps de la mise à jour (> 1 seconde ?) A+ |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2003 Messages : 31 ![]() |
Salut,
Ce n'est pas la 2ème mais la première solution qui permet de mettre à jour en temps réel les images : une fois la requête X finie, l'image X est modifiée dynamiquement dans l'explorateur. Tandis que dans la deuxième solution, on est obligé d'attendre la fin de la grosse requête Ajax pour mettre à jour en même temps les 20 images. Mais dans la première, on doit recharger à chaque requête les librairies et code de base nécessaire, tandis que dans la deuxième, on charge les librairies une bonne fois pour toutes. J'avoue que je ne sais pas trop quelle méthode utiliser, sachant que le traitement de redimensionnement pourrait être long (cas des photos lourdes). D'un côté, balancer 20 requêtes HTTP (voire plus, si on sélectionne par exemple 30 images) au serveur ne risque-t-il pas de le faire souffrir ? Et de l'autre côté, attendre une requête de 30 seconde ne risque-t-il pas de freezer la page ? |
|
|
00
|
|
|
#4 | ||||
![]() ![]() Inscription : janvier 2007 Messages : 9 315 ![]() |
Citation:
Correction : Citation:
Citation:
Citation:
De plus, tu peux quand même gérer une progression, mais c'est plus lourd : mise en place d'une 2° requête Ajax d' "observation" : elle interroge le serveur à fréquence élevée pour récupérer l'état d'avancement (en BDD). Une table peut être mise à jour par le traitement d'images au fur et à mesure de son avancement. C'est cette table que la 2° requete interrogerait pour renseigner l'utilisateur. A+ |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com