On parle bien d'une opération atomique dont tu veux juste donner
l'avancement.
Dans ce cas il te reste la méthode des envois successifs, ça va te forcer à
sortir sérieusement des rails parce que c'est complètement pas dans l'esprit
du principe MVC de rails (normalement on ne fait la vue qu'après que le
contrôleur a finit son boulot) et à gérer toi-même les envois successifs
"par paquet" au client. Ce n'est pas impossible, il est même possible que
quelqu'un ait déjà fait un plugin dans ce sens (et si tu met en place une
solution de ce genre ce serait bien d'en faire un plugin histoire que ça ne
soit pas perdu d'un projet à l'autre), mais ça va demander pas mal de boulot
quand même.
Donc si tu ne veux pas te casser la tête, à ta place je ferais plutôt la
technique de l'illusioniste qui consiste à désactiver l'envoi du formulaire
du fichier et faire apparaître une magnifique animation d'attente, dans 90%
des cas ça suffit à faire patienter les utilisateurs. Pour les 9% les plus
nerveux, tu peux ruser en affichant un petit rapport {avec scriptaculous}
qui fasse un truc du genre :
1. Votre fichier est bien arrivé ! {avec un petit flash} Je valide votre
fichier... {apparition d'une animation pour faire patienter, pause de 3-5
secondes}
2. Votre fichier à été validé et est conforme aux specs ! {nouveau petit
flash} Je traite le fichier {re-animation, re-pause}
3. Fin du traitement, merci pour votre patience, votre fichier à été
traité avec tous les égards qui lui sont dûs {feu d'artifice en forme de
coeur}
De toute façon, si ton action ne peux pas être interrompue du côté du
serveur, qu'est-ce que ça change que l'utilisateur ait un rapport en temps
réel de ce que fait le serveur ?
--
Michel Belleville
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---