Auteur: Frédéric Date: À: stephane CC: guilde@guilde.asso.fr Sujet: Re: Progressbar lors d'un upload
Le 29/8/2008, "Stephane Bonhomme" <stephane@???> a écrit:
>Il faut comprendre deux choses : le navigateur garde la connexion tcp
>ouverte tant que le serveur ne la ferme pas, mais il est quand meme
>capable d'interpreter les données au fur et à mesure qu'elles arrivent,
>en particulier le script javascript contenu dans les balises <SCRIPT>
>sont interprétées à la volée.
>
>Le script perl affiche d'abord le template de la page, et envoie le code
>de la fonction javascript (SP) qui va mettre à jour le html affiché, et
>ensuite boucle jusqu'a ce que la taille du fichier sur le disque soit
>égale à la taille annoncée dans le header du post http (ou que la taille
>ne bouge plus en cas d'erreur / interruption).
>
>A chaque itération cgi génere une balise script qui fait un appel a SP
>avec la valeur courante (taille chargée %...)
Ok, pigé !
>Voila le fonctionnement dans les grandes lignes, c'est assez sioux, mais
>attention, ça risque de ne pas fonctionner avec un navigateur qui
>n'interprete les scripts à la volée (mais tous les navigateurs
>'modernes' savent faire), plus problématique ça ne doit pas bien passer
>les proxies.... enfin....
>
>Si cela est convertible en mod_python ou php ? Je ne vois pas de
>problème tant qu'il n'y a pas de buffering fait au niveau du serveur et
>que la sortie du script est envoyée en temps réel sur la socket tcp.
Le problème, me semble-t-il, c'est justement de pouvoir boucler
*pendant* l'upload. Or, j'ai l'impression que l'appel à un script
PHP ou PSP n'est fait qu'une fois que le transfert a eu lieu. Ça
vient, si j'ai bien compris, du publisher par défaut ; il faut en
implémenter un qui puisse être exécuter pendant le transfert...