IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Webdesign & Ergonomie Discussion :

[Ergonomie] Valider des fichiers avant l'upload


Sujet :

Webdesign & Ergonomie

  1. #1
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut [Ergonomie] Valider des fichiers avant l'upload
    Salut,

    Je bosse sur une application PHP qui propose une fonctionnalité d'upload pour que les utilisateurs puissent envoyer des fichiers sur le serveur.

    Les fichiers peuvent être de plusieurs types (documents textes, images etc.) et je dois faire certaines vérifications avant de les exploiter :
    - pas trop lourds (espace disque)
    - pas trop grands (largeur, hauteur dans le cas des images)

    Je suis assez confiant sur la faisabilité de ça en PHP (mais si vous avez des liens, ça me fera gagner du temps) mais ce qui m'interroge plus, c'est sur les solutions pour tester avant l'upload.

    En effet, ce n'est pas très rationnel que mon application télécharge un fichier de plusieurs mégas pour ensuite vérifier son poids et dire à l'utilisateur "désolé, tu as attendu dix minutes devant ton écran pour rien, ton fichier est trop gros et je ne peux pas l'accepter".

    Est-ce possible, en javascript ou autre, d'obtenir des infos sur le fichier sélectionné avant qu'il soit envoyé en POST ?

    Merci d'avance
    Lilian

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Salut,

    Avec flash 8, il me semble que c'est possible. en javascript je croi savoir que ce n'est pas possible. sinon il reste java ... (pour moi ca s'arrete là)
    Mais dans tout les cas,comme tu l'as dit, ca ne te dispense pas de verifier ensuite coté server ...

  3. #3
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par CR_Gio
    Salut,

    Avec flash 8, il me semble que c'est possible. en javascript je croi savoir que ce n'est pas possible. sinon il reste java ... (pour moi ca s'arrete là)
    Mais dans tout les cas,comme tu l'as dit, ca ne te dispense pas de verifier ensuite coté server ...
    Merci pour ta réponse,

    malheureusement on ne va pas pouvoir introduire de flash, ni de java coté client dans ce projet...

    Mais d'après ma compréhension, on spécifie un chemin de fichier dans un champs "file". Quand on fait submit, le browser va lire le fichier sur le disque de l'utilisateur puis il génère une requête POST qu'il envoie au serveur.

    Il n'y a pas de moyen d'interférer là-dedans en javascript ?

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Salut,

    Le javascript ne peux pas manipuler les fichiers du client (question de sécurité).

    De toutes façons, si tu veux faire quelque chose de sérieux, il faut partir du principe que le client peut faire n'importe quoi (intentionnellement ou pas) et que tu ne peux pas te passer d'une validation côté serveur.

    Il serait donc plus logique de t'interesser d'abord à la validation côté serveur. La validation côté client ne peut être vu que comme un élément d'ergonomie, pas comme une fonctionnalité dont tu as besoin pour faire tourner ton appli.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  5. #5
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    Merci, et oui, il est évident que les validations doivente de toute façon se faire au niveau du serveur. Je suis déjà en train d'y travailler.

    Par contre, dans ce cas précis, une validation coté client aurait vraiment du sens vu qu'on parle de transfert de fichiers.

  6. #6
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    J'ai bossé sur ce type de problematique il y a longtemps mais c'était en perl...

    Pour commencer, tu peux déja tester avec javascript l'extension du fichier qui se trouve dans le champ.....
    Par exemple, si c'est du txt c'est OK, si c'est du ZIP message d'alerte

    Toujours en javascript, tu peux bosser sur le nom du fichier... Pas d'espace pas d'accents, pas de caractères interdit... Si pas bon, message d'alerte

    Ensuite sur les questions de poids, il me semble que PHP peut déterminer le poids du fichier avant qu'il ne soit télécharger sur le serveur. Il me semble que c'est possible car chaque fichier a dans son entete les définitions qui le caractérise....

    Mais bon si tu es un peu perdu, et- que comme moi tu penses qu'il est inutile de réinventer la roue, je te conseille de jeter un oeuil sur les sources d'un logiciel libre en PHP qui gère bien le téléchargement... Tu l'installes et tu t'inspires de son code....

    Le premier système qui me vient a l'esprit et qui remplis tous ces criteres c'est Coppermine Photos Gallery..... Le must pour la gallerie de Photos/Fichiers (gère pleins de types de fichiers et de contenus).

    @+
    cadou
    LMN24 - Site d'actualité internationale multilingue
    http://www.lmn24.com

  7. #7
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    Merci pour ta réponse,

    En effet je peux checker certains choses sur le nom du fichier mais ça ne suffit pas

    Sinon effectivement, je crois l'en-tête HTTP générée par le browser contient une donnée qui indique la taille des données transférées par POST.

    Donc en théorie je devrais pouvoir interrompre le téléchargement si cette taille dépasse un certain seuil. Mais le problèmem c'est que là, ce n'est pas encore PHP, c'est apache qui traîte le transfert en HTTP avant de donner la main. Mon script PHP n'est appelé qu'une fois le transfert terminé (enfin d'après ce que j'ai compris).

    Je vais tout de même jeter un oeil à Coppermine Photos Gallery, merci

Discussions similaires

  1. Chiffrer un fichier avant un upload
    Par DotNET74 dans le forum Windows Phone
    Réponses: 0
    Dernier message: 17/06/2014, 19h23
  2. [Xerces] Peut-on traduire les résultats de validation des fichiers XML en français ?
    Par saidgrd dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 29/07/2010, 15h36
  3. Réponses: 1
    Dernier message: 08/06/2008, 01h33
  4. tester l'extension d'un fichier avant d'uploader
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/02/2005, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo