Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2007, 15h35   #1
Candidat au titre de Membre du Club
 
Développeur informatique
Inscription : avril 2007
Messages : 11
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2007
Messages : 11
Points : 10
Points : 10
Envoyer un message via MSN à bulldozer27350
Par défaut Faire attendre les visiteurs pendant un traitemment lourd

Bonjour les développeurs !

Alors voila, j'ai un nouveau défi pour vous : J'ai une page générée par une requête SQL et qui me sort gentiment une liste de programmes dans un formulaire avec une checkbox devant. Ces logiciels sont en fait des mises à jours que je dois proposer au téléchargemment à mes visiteurs chéris :p !

Le soucis se pose ici : Avant de leur proposer le téléchargemment, il faut que je compresse tous mes petits (quelle vision utopique, vous remarquerez) fichiers !
Ce traitemment est lourd avec un seul programme (trop long pour ne pas avoir besoin de modifier le temps d'execution des scripts dans php.ini). Bon, jusque là, ça va, je m'en sors, je réussi à faire tout ça, le soucis, c'est que le traitemment de mon script qui compresse mes fichiers est lourd, et une fois que je valide le formulaire de mes logiciels, au lieu d'afficher la page qui chargerait au fur et à mesure, mon navigateur reste planté là devant mon formulaire et balance la page de téléchargemment qu'une fois que celle-ci est terminée.

J'aimerais donc avoir des idées pour faire patienter mes chers visiteurs pour ne pas qu'ils pensent que mon site à planté et qu'ils se disent "Mouarf, l'autre noob, il nous propose des mises à jours, mais marche pas son site pff !" Bah si, il fonctionne, mais c'est long
Alors j'ai eu plusieurs propositions, notamment faire une animation en AJAX ou faire une popup ... je veux bien mais j'y connais rien en AJAX et la popup j'arrive pas à faire grand chose avec ...


Alors j'avais pensé comme un grand à balancé d'abord sur une page ou j'aurais mis une chtite animation flash, ou gif ou juste un texte, peu importe et que le navigateur reste sur cette page, tant que le chargement de ma "page lourde" n'est pas terminée. Pour résumer, je pensais intercaller une page qui serait là rien que pour faire attendre mes chtits visiteurs... mais si je fais un header, il veut pas m'afficher du texte avant (normal pour un header) donc si quelqu'un sait comment balancer sur une autre page sans passer par un header... Faut pas hésiter !

Merci d'avoir pris le temps de tout lire, et si vous avez un peu de courage, et que vous avez des solutions, Merci beaucoup d'avance d'avoir répondu
bulldozer27350 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 20h00   #2
Membre habitué
 
Inscription : mars 2007
Messages : 87
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 87
Points : 109
Points : 109
bonsoir,

une autre solution serait d'utiliser ob_flush(); pour lancer l'affichage d'une partie de la page avant la fin du chargement. Par exemple, sur ta page à traitement lourd, tu fait un print de ton gif annimé de chargement puis tu utilise end_flush et enfin tu fait ton traitement. Alors, il y aura qq chose d'afficher malgrès que la page continue toujours à se charger...
supergogol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 21h44   #3
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Bonsoir,
Ce qui est long, c'est le traitement ou l'affichage de la page ? Ou bien tu affiches au fur et à mesure du traitement ?
Windows ou linux ?
Selon, le cas tu ne procèderas pas de la meme facon. Si c'est une question d'affichage la méthode de supergogole me parait le meilleure.
Sinon, si c'est le traitement avant affichage, personnellement, je lance un script separemment avec un pclose(popen(mon scipt)) (il y a d'autres methodes) qui me rend la main immediatement. Ensuite je fais un reload toutes les x secondes sur une page intermédiaire. Quand c'est fini, j'affiche la page définitive. Je joue avec des fichiers temporaires et les sessions.

Sohnic
__________________
http://www.noctinfo.fr/

(\ _ /)
(='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h44.


 
 
 
 
Partenaires

Hébergement Web