CapJack a écrit:Pour info, on peut théoriquement ne comptabiliser que les téléchargements arrivés à terme avec un code genre celui-ci
Certes. J'ai ecarté ce type de méthode, parce que ce n'est pas ce qui est utilisé ici. Pour plusieurs raisons :
- je préfère dans un souci de simplification ne rien coder pour gérer le téléchargement, alors qu'avec une simple redirection http sur le fichier, tout sera pris en charge par le navigateur du client.
- tous les fichiers proposés sur GN ne sont pas forcément hébergés sur notre serveur. Donc pour les 400 Mo de Nero 7 multilingue je me vois mal aller lire par petit bout de x Ko, c'est a dire chercher l'info ailleurs, pour ensuite la rebalancer au client (allers-retours inutiles, connectiosn http pour "rien", etc.)
- fread met le fichier en mémoire. OK la, tu le fais par chunk de 16Ko, mais ca utilise quand meme des ressources de faire le DL par "programmation". Par redirection http c'est transparent pour le serveur, enfin il n'y a plus qu'apache qui travaille et non plus apache+php.
Mais qu'on ne se méprenne pas, je n'ai rien contre fread, c'est juste que pour GN ce n'est pas adapté.
Je dois dire qu'il y a des choses qui m'échappent. Je veux dire, en quoi le fait d'utiliser un header('Redirect :') met-il à m'abri d'avoir toutes les connexions simultanées comptabilisées chacune pour un téléchargement, si le logiciel employé par le connecté se sert de l'adresse du script pour établir ses connexions ?
Ah mais j'ai pas dit ca. Effectivement si l'url de DL est une url de script qui va incrémenter le compteur et ensuite rediriger vers le fichier (tout ca en une seule étape dans le meme script), le gestionnaire de DL, se servant de cette url, va repasser x fois dessus, et donc provoquer autant d'incrémentations.
Sur GN, le processus est en plusieurs étapes et nécessite des clics de l'utilisateur. Le compteur a été incrémenté dans le popup (une autre url) et la page initiale est ensuite réappelée (avec des params) ce qui redirige le navigateur de l'utilisateur vers le fichier. Et c'est seulement la que le gestionnaire de DL se précipite et saute dessus avec éventuellement 10 connections simultannées. Il n'y a plus sur cette page/ce script d'incrémentation du compteur.
Je sais pas si je suis bien clair...(en meme temps c'est pas moi qui ait programmé ca sur GN
)