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

Langage PHP Discussion :

Upload de fichier provenant d'emplacement réseau


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Upload de fichier provenant d'emplacement réseau
    Bonjour à vous ^_^ ,

    Le contexte
    Je suis actuellement en stage et suis chargé de l'évolution de l'intranet de l'entreprise. Je reprends donc du code existant et il existe des choses assez mal foutu dont je ne peux pas changer car mon but n'est pas de faire une refonte totale du site mais d'ajouter quelques fonctionnalités, effectuer quelques correctifs, avant une refonte totale du site qui viendra plus tard. Il y a une partie du site qui permet d'écrire des documents avec ckeditor et il est possible de créer des liens avec. Les utilisateurs rencontraient un problème, quand ils avaient besoin de mettre un fichier sur le serveur et de faire pointer le lien dessus, ils étaient obligés de passer par Filezilla, ce qui était évidemment pas très pratique. J'ai donc ajouté une interface qui permet d'upload des fichiers sur le serveur, je récupère même le nom des dossiers présents pour qu'ils puissent choisir s'ils veulent ranger le fichier dans un dossier existant ou de créer un nouveau dossier.
    Comme c'était le premier formulaire d'upload de fichier, j'ai dû toucher à la configuration du serveur pour ne pas avoir les soucis de base, j'ai donc modifié le "post_max_size" que j'ai mis à 128M, "upload_max_filesize" à 128M et dans le module "mod_fcgid" j'ai modifié la ligne "MaxRequestLen" que j'ai mis à "134217728". Jusque là, je n'ai pas de problème pour upload des fichiers et même si c'est des gros PDF il n'y a pas de soucis.

    Le problème
    Il faut savoir que l'entreprise utilisent plusieurs serveurs pour stocker des fichiers afin que tout le monde puisse y avoir accès. Le problème survient quand on essaye d'upload un fichier qui vient d'un des réseaux.
    En local, j'utilise Wamp, le fichier s'upload bien sur mon serveur mais, cela prend un temps monstrueux pour s'upload, ça prend 2min pour upload un fichier de 9mo (et j'ai visiblement un problème d'affichage de photo quand je prévisualise la discussion, j'espère que ça partira une fois en ligne et si ça se corrige pas... je sais pas ^^''') :

    Nom : TimeUpload.png
Affichages : 108
Taille : 14,8 Ko

    Il se trouve que tout ce qui est réseau, j'ai des difficultés, c'est ma faiblesse, j'ai du mal, désolé par avance si je dis des trucs très bête x) je serais ravis d'en apprendre plus ! Je me suis dit que ce problème était dû au fait qu'il fallait chercher le fichier sur un autre serveur, alors le temps qu'il fasse l'aller retour ça prend du temps, mais quand même.. si je copie-colle le fichier de l'emplacement réseau sur mon pc ça prend quelques secondes, il n'y a pas de latence, le serveur de fichier a l'air d'aller bien. Alors je n'explique pas vraiment pourquoi sélectionner un fichier sur un réseau multiplie par X le temps d'upload.

    Ensuite, sur le serveur, le comportement est légèrement différent :

    - Si le fichier fait moins de 800ko, il est upload sur le serveur sans aucun problème
    - Si le fichier fait moins de 4mo à peu près, le serveur renvoie une erreur 500
    - Si le fichier fait plus de 4mo, le serveur renvoie rien, j'ai juste chrome qui me dit "Failed to load response data"

    Sachant qu'il y a toujours ce temps monstrueux pour upload. Un fichier de moins de 1mo devrait être upload instantanément, ici ça prend plusieurs secondes, mais à la limite d'accord, il faut aller chercher le fichier sur le réseau, le ramener sur l'ordi du client et ensuite l'envoyer sur le serveur, c'est comme ça en tout cas que je le comprends et que je me dis pourquoi pas.
    Mais à partir de 800ko à peu près, ça devient plus hasardeux, ou en tout cas je ne comprends pas ce qu'il se passe. Par exemple pour un fichier de 2mo, par moment le traitement prend 15s et par moment 37s, et je ne sais pas comment l'expliquer.
    Je donnerai des précisions techniques plus bas, mais en gros, pour que l'utilisateur puisse écrire son document, créer des liens et upload des fichiers au fur et à mesure, j'ai mis en place une requête ajax pour pas que la page se recharge. Comme le traitement se faisait dynamiquement sur une autre page, c'était pas super pratique pour voir ce qu'il se passait, je devais aller à chaque fois dans "Network", si j'oubliais de faire F12 ça enregistrait pas la requête alors je devais recharger la page et refaire la manip.. à la longue c'était chiant. J'ai voulu savoir ce qu'il se produisait avec "un vrai formulaire", surtout que la redirection des formulaires renvoient sur la même page de la page où ils sont et donc pour debug je trouve ça plus facile même si c'est affreusement moche.
    Bref.. je sélectionne toujours le fichier de 2mo sur le même réseau, j'envoie le formulaire, ça prend 30s cette fois-ci et ça m'affiche bien l'erreur 500. Et si je recharge la page, c'était comme s'il avait réussi à upload 75% du fichier, et en rechargeant la page, ça reprenait l'upload et ça finissait par bien l'envoyer sur le serveur.
    Et si je sélectionne un plus gros fichier, genre 4mo, ça va comme d'habitude mettre un certain temps, puis m'afficher :

    Ce site est inacessible. Il se peut que la page Web à l'adresse [..] soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web. ERR_CONNECTION_ABORTED
    , et si je recharge une nouvelle fois la page, cela va m'afficher une erreur 500, et si je recharge encore une fois la page, le fichier fini par bien être envoyé sur le serveur.
    Alors, peut être que c'est normal, qu'il y a une sécurité qui permet de reprendre des upload, mais personnellement ça me paraît très étrange comme comportement. D'autant plus que je n'ai trouvé personne avec un problème similaire.

    Au vue de la latence, du fait qu'on peut reprendre l'upload après que le serveur nous envoie une erreur, je me suis dit que ça pourrait venir de la configuration de php. J'ai vu qu'il avait un "max_execution_time" et un "max_input_time", qui correspond "au temps maximal d'exécution d'un script" et "spécifie la durée maximale pour analyser les données d'entrée". Je me suis dit que le temps de traitement devait prendre trop temps et que c'était pour ça que ça me retournait une erreur à un moment. MAIS, le truc c'est qu'en locale avec Wamp, je n'ai pas ces soucis. J'ai même modifié ces attributs pour les mettre à 20, donc 20s, et même si l'upload prend 2min, cela me renvoie aucune erreur et upload bien le fichier. J'ai quand même décidé de tester sur le serveur de passer de 30 à 120 mais ça change pas que même les fichiers de 1mo mettent une trentaine de secondes (ou moins) avant de m'envoyer l'erreur. J'en ai conclu que le problème ne venait pas de là.

    Je suis allé très vite checker le log des erreurs pour voir si je pouvais en apprendre davantage et j'avais cette erreur quand le problème survenait :

    (70007)The timeout specified has expired: mod_fcgid: can't get data from http client, referer
    J'ai trouvé des personnes qui avaient cette même erreur, mais le contexte était très différent. C'était des personnes qui n'arrivaient pas à upload des fichiers en local vers le serveur. On leur conseillait d'augmenter la taille max d'upload, de POST, le "max_execution_time", le "max_input_time" et d'ajouter des lignes dans le fichier "mod_fcgid.conf" comme "FcgidConnectTimeout 20". Généralement ça résolvait le problème et bien évidemment ça n'a pas fonctionné pour moi.
    D'ailleurs, en fonction des forums, les personnes conseillaient d'ajouter plus ou de moins certaines lignes dans ce fichier alors que le problème était le même de ce que j'avais compris. Aucune modifications de ce fichier n'a fait évolué le problème.

    La solution provisoire
    Pour l'instant il faut copier-coller les fichiers du réseau sur sa machine, les upload via mon interface et les supprimer en locale. C'est évidemment pas très pratique, et qu'en plus il y a certaines recommandations pour les utilisateurs, comme de ne pas sortir les fichiers du serveur. Pour le moment c'est acceptable car la solution n'est qu'en phase de test avec la responsable qui a demandé cette interface, mais à terme, j'aimerais trouver une solution.
    Si vous avez des idées pour résoudre mon problème ou le contourner, je suis tout ouïe !


    Le point technique
    J'utilise en locale :
    WampServer 3.2.0
    Apache 2.4.41
    PHP 7.4.0

    Sur le serveur :
    Apache 2.2.22
    PHP 5.6.31

    Je suis malheureusement obligé de rester sur Boostrap 3 TuT, résultat de l'interace :
    Nom : Interface.PNG
Affichages : 96
Taille : 31,9 Ko

    Le code de l'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <?php  
            // Construction du select pour afficher le nom de tous les dossiers présents sur le serveur
            $chemin = "img/smq/"; 
            $tableauNomDossier = [];
            if ($dossier = opendir($chemin)) {
                $optionsUpload = "<optgroup label='Dossier existant'>";
                while ($fichier = readdir($dossier)) {
                    if($fichier != "." && $fichier != ".." && filetype($chemin.$fichier) == "dir")
                        $tableauNomDossier[] = $fichier;
                }
                sort($tableauNomDossier);
                foreach($tableauNomDossier as $nomDossier)
                    $optionsUpload .= "												
                                        <option value='$nomDossier'>$nomDossier</option>";
                $optionsUpload .= "
                                    </optgroup>\n";
                closedir($dossier);
            }		
    ?>
    				                                <div id="alertErrorUpload" class="alert alert-danger" role="alert" hidden>Message défaut</div>
     
                                                                    <nav class='navbar navbar-default'>
    									<div class='container-fluid'>
    										<!-- Brand and toggle get grouped for better mobile display -->
    										<div class='navbar-header'>
    											<button type='button' class='navbar-toggle collapsed' data-toggle='collapse' data-target='#navbar-upload' aria-expanded='false'>
    												<span class='sr-only'>Toggle navigation</span>
    												<span class='icon-bar'></span>
    												<span class='icon-bar'></span>
    												<span class='icon-bar'></span>
    											</button>
    											<span class='navbar-brand' href='#'>Upload</span>
    										</div>
     
    										<!-- Collect the nav links, forms, and other content for toggling -->
    										<div class='collapse navbar-collapse' id='navbar-upload'>
    											<div class='navbar-form'>
    												<div class='form-group'>
    													<select id="selectUpload" name="selectUpload" class="form-control">
    														<optgroup label="Nouveau dossier">
    															<option value="optionCreerDossier">Créer un nouveau dossier</option>
    														</optgroup>
    														<?php echo $optionsUpload; ?>
    													</select>
    													<input id="nomCreerDossier" name="nomCreerDossier" type="text" class="form-control" placeholder="Nom du nouveau dossier">
    												</div>
    												<div class='form-group'>
    													<input type="hidden" name="MAX_FILE_SIZE" value="100000000"/>
    													<input type="file" name="fichier" id="fichier">
    												</div>
    												<div class='form-group'>
    													<span id="boutonCreerDossier" class='enabled btn btn-grey' data-loading-text="Loading...">Envoyer</span>
    												</div>
    											</div>
    										</div><!-- /.navbar-collapse -->
    									</div><!-- /.container-fluid -->
    								</nav>
     
    								<p style="margin-bottom:20px">
    									L'upload peut prendre un <strong>certain temps</strong>. Une fois que vous avez cliqué sur "Envoyer", <strong>veuillez attendre</strong> le résultat ci-dessous.
    								</p>
     
    								<nav class='navbar navbar-default' style='margin-bottom:0px'>
    									<div class='container-fluid'>
    										<!-- Brand and toggle get grouped for better mobile display -->
    										<div class='navbar-header'>
    											<button type='button' class='navbar-toggle collapsed' data-toggle='collapse' data-target='#navbar-resultat' aria-expanded='false'>
    												<span class='sr-only'>Toggle navigation</span>
    												<span class='icon-bar'></span>
    												<span class='icon-bar'></span>
    												<span class='icon-bar'></span>
    											</button>
    											<span class='navbar-brand' href='#'>Résultat</span>
    										</div>
     
    										<!-- Collect the nav links, forms, and other content for toggling -->
    										<div class='collapse navbar-collapse' id='navbar-resultat'>
    											<div class='navbar-form form-inline'>
    												<div class='form-group'>
    													<span id='isoLienFichierUpload' class="form-control" rows="1" readonly>lien/de/votre/futur/fichier</span>
    													<span id="boutonCopie" class="btn btn-grey form-control"data-clipboard-target="#isoLienFichierUpload" title="Copie le lien" data-toggle="tooltip" data-placement="bottom"><i class="far fa-copy fa-lg"></i></span>
    												</div>
    											</div>
    										</div><!-- /.navbar-collapse -->
    									</div><!-- /.container-fluid -->
    								</nav>
    La requête ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
                                            var uploadData = new FormData();
     
    					var fichier = $('#fichier')[0].files[0];
    					var selectUpload = $("#selectUpload").val();
    					var nomCreerDossier = $("#nomCreerDossier").val();
    					var tailleFichier = $("#fichier")[0].files[0]["size"];
     
    					uploadData.append('fichier',fichier);
    					uploadData.append('selectUpload',selectUpload);
    					uploadData.append('nomCreerDossier',nomCreerDossier);
    					uploadData.append('tailleFichier', tailleFichier);
     
    					// Supprime la valeur dans le champ fichier pour empêcher l'utilisateur de spammer le bouton d'envoi et met le bouton en mode chargement
    					$("#fichier").val("");
    					var $btnEnvoyer = $(this).button('loading');
     
    					$.ajax({
    						url: 'isouploadfichier.php',
    						type: 'post',
    						data: uploadData,
    						dataType: "json",
    						contentType: false,
    						processData: false,
    						success: function(reponse){
    							if(reponse["cheminUpload"] != null)
    								$("#isoLienFichierUpload").text(reponse["cheminUpload"]);
    							else
    								setMessageErrorAlert(reponse["messageErreur"]);
     
    							if(reponse["nomDossierAjouter"] != null){
    								var nomDossierAjouter = reponse["nomDossierAjouter"];
    								$("#selectUpload optgroup[label='Nouveau dossier']").append($('<option>', {
    																									value: nomDossierAjouter,
    																									text: nomDossierAjouter
    																								}));
    							}
     
    							if(reponse["dossierASelectionner"] != null){
    								var nomDossierAjouter = reponse["dossierASelectionner"];
    								$("#selectUpload").val(nomDossierAjouter);
    								$("#nomCreerDossier").hide();
    							}
    						},
    						error: function(){
    							setMessageErrorAlert("Le fichier n'a pas pu être upload");
    						}
    					}).always(function() {
    						$btnEnvoyer.button('reset')
    					});
     
    				}
    Le traitement PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?php
        /* Fichier qui permet d'upload des fichiers depuis la page iso */
     
        include('controleacces.php');
        include('mysql.php');
     
        // "cheminUpload" : permet de connaître le chemin où est stocké le fichier upload par l'utilisateur sur le serveur
        // "nomDossierAjouter" : s'il est est différent de null, permet de savoir quel nom de dossier il faut ajouter dans le select sur la page "iso.php". Comme on ne recharge pas la page, il faut l'ajouter de façon dynamique en js
        // "dossierASelectionner" : il est possible que l'utilisateur entre un nom de dossier qui existe déjà, alors on stocke le fichier dans le dossier existant et il faut aussi changer l'option qui est séléctionné dans le select de façon dynamique
        // "messageErreur" : permet de faire passer des messages d'erreur qu'on gère ensuite en js
        $reponseAjax =["cheminUpload" => null, "nomDossierAjouter" => null, "dossierASelectionner" => null, "messageErreur" => null];
     
        // Récupère la taille du fichier en byte et convertit la taille max d'upload du serveur en byte
        $tailleFichier = $_POST['tailleFichier'];
        $tailleUploadMax = substr(ini_get('upload_max_filesize'),0,-1); // Transforme "128M" => "128"
        $taillePostMax = substr(ini_get('post_max_size'),0,-1);         // Transforme "128M" => "128"
        $tailleUploadMax = $tailleUploadMax * pow(1024,2);
     
        $reponseAjax["messageErreur"] .= "Debut//";
     
        // Si le fichier est trop lourd on informe l'utilisateur
        if($tailleFichier > $tailleUploadMax || $tailleFichier > $tailleUploadMax)
        {
            $reponseAjax["messageErreur"] = "Le fichier est trop volumineux, il n'a pas pu être upload";
        } 
        // Sinon déplace le fichier dans le répertoire du serveur
        else if (!empty($_FILES['fichier']['name']))
        {        
            $nomFichier = $_FILES['fichier']['name'];
            $cheminUpload = "img/smq/";
     
            // Créer un nouveau dossier si besoin et construit le chemin du fichier
            if($_POST["selectUpload"] == "optionCreerDossier") {
                $nomDossier = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $_POST['nomCreerDossier']);
                if(!file_exists($cheminUpload.$nomDossier)){
                    mkdir($cheminUpload.$nomDossier,0755);
                    $reponseAjax["nomDossierAjouter"] = $nomDossier;
                }
                $cheminUpload .= $nomDossier."/";
                $reponseAjax["dossierASelectionner"] = $nomDossier;
            } else {
                $cheminUpload .= $_POST["selectUpload"]."/";
            }
     
            $cheminUploadTemp = $cheminUpload.$nomFichier;
     
            // Récupére les informations du fichier upload
            $fichierInfo = pathinfo($_FILES["fichier"]["name"]);
     
            // Tant que le fichier upload porte le même nom d'un fichier existant, modifie son nom par "nom_X.extension" et met à jour le chemin
            for($i = 1; file_exists($cheminUploadTemp); $i++){
                $_FILES["fichier"]["name"] = $fichierInfo["filename"]."_".$i.".".$fichierInfo["extension"];
                $cheminUploadTemp = $cheminUpload.$_FILES['fichier']['name'];                  
            }
     
            if(move_uploaded_file($_FILES['fichier']['tmp_name'],$cheminUploadTemp))
                $reponseAjax["cheminUpload"] = $cheminUploadTemp;
            else
                $reponseAjax["messageErreur"] = "Une erreur est survenue lors de l'upload du fichier";
     
        }  
        else 
        {
            $reponseAjax["messageErreur"] = "Aucun fichier a été sélectionné ou le fichier est trop volumineux";
        } 
        $reponseAjax["messageErreur"] .= "//fin";
        echo json_encode($reponseAjax);

    J'espère qu'il manque pas d'information. J'espère que c'est pas un problème commun, mais j'ai passé plusieurs heures dessus sans trouver de solution, sans même comprendre et cibler d'où venait vraiment le problème en fait. J'ai pas trouvé de cas similaire aussi. En tout cas je suis très intrigué et j'aimerais vraiment comprendre le pourquoi du comment.

    Merci d'avoir pris le temps de me lire et je remercie par avance toutes les personnes qui se pencheront sur mon problème !

  2. #2
    Membre du Club
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    il y a des fonctions ftp dans php
    https://www.php.net/manual/fr/book.ftp.php

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Ah oui effectivement, je ne savais pas ^^', je te remercie de l'info ! Je vais voir ce que je peux faire avec ça ^^!

    Mais même si je réussis à contourner le problème comme cela, ça me renseigne pas plus sur sa compréhension. Est-ce que tu aurais des pistes, des idées qui pourraient expliquer les différentes choses que je rencontre ? J'ai vraiment envie de comprendre.

    EDIT: j'ai commencé un peu à voir comment ça fonctionne mais je viens me faire une remarque. Je connais pas à l'avance sur quel serveur les utilisateurs vont piocher les fichiers dont ils ont besoin. Je ne peux pas prévoir toutes les possibilités de serveur où ils pourraient possiblement sélectionner leurs fichiers. Je ne pense pas que ça soit une solution viable du coup.

  4. #4
    Membre du Club
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    s'il y a des outils ou des procédures existantes, pourquoi les ré-inventer (souvent en moins bien/moins performant) ?

    de + je n'y connais rien aux réseaux locaux, distants, wifi et même sociaux !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Donc en fait, plus concrètement, tu es entrain de me dire que tu n'as aucune idée pour m'aider ?

    Je l'ai dit dans mon post pourquoi, mais je peux rentrer plus en détails si tu n'as pas bien compris.
    Les utilisateurs de l'intranet, des personnes qui ne sont pas forcément très à l'aise avec l'informatique et certaines manipulations, doivent upload des fichiers sur le serveur de l'intranet. Actuellement ils doivent passer par Filezilla, qui est déjà contraignant à utiliser pour eux, et en plus pour pouvoir créer des liens qui pointent vers ces fichiers, ils doivent récupérer par eux même le chemin du fichier sur le serveur. Ce qui est une contrainte de plus pour l'utilisateur, une contrainte forte.
    J'ai donc proposé une interface pour enlever le passage sur Filezilla en plus de leur faciliter grandement la tâche en ajoutant un retour qui leur permet de copier-coller le chemin du fichier en un clic. D'autant plus que grâce à cela, les utilisateurs peuvent écrire leurs documents tout en uploadant les fichiers au fur et à mesure, ce qui est un gain de temps et de praticité énorme. Ils n'ont plus besoin de jongler entre l'intranet, Filezilla, l'explorateur de fichier et surtout toute la contrainte mentale de s'y retrouver là dedans. Là c'est clair, avec une page ils ont accès à tout ce qu'ils ont besoin.
    Cette fonctionnalité était, et est encore, totalement fonctionnelle tant qu'on sélectionne des fichiers en locale. Par contre, je ne savais pas qu'ils avaient besoin d'aller chercher des fichiers sur un serveur.
    Je pourrais à la limite créer une interface pour leur demander s'ils voudraient upload des fichiers à partir d'un serveur, leur demander l'identifiant et le mot de passe pour créer une connexion FTP, mais l'utilisateur n'aurait clairement pas toutes ces informations en plus d'être une interface super lourde pour juste un upload de PDF quoi.

    C'est bien dommage car je pense que ces compétences que tu n'as pas, sont le cœur de mon problème je pense ! A voir si une personne ayant plus de connaissances pourrait me conseiller

  6. #6
    Membre du Club
    Femme Profil pro
    particulier
    Inscrit en
    Juillet 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : particulier

    Informations forums :
    Inscription : Juillet 2020
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    je t'ai donné une piste, c'est mieux que rien, et c'est déjà un coup de main.

    c'est tout ce que je peux faire, je n'ai pas le savoir pour programmer à ta place.

    vu le contenu de ta réponse et ton exigence, en face tu l'aurais eut tout autrement le coup de main !
    je ne suis pas ta boniche...
    je doute fort que d'autres personnes daignent faire quoi que ce soit !

    sur 18 messages il n'y en a pas 1 qui réponde à une personne demandant de l'aide...
    ta devise ne serait-elle pas "aide moi et le ciel t'aidera !" ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Mais qu'est ce que tu racontes ? Pourquoi répondre avec un autant de méprise et de violence -_- ?

    J'ai jamais demandé à ce qu'on code pour moi...
    L'exigence est faite par les utilisateurs pas par moi spécialement... en tout cas j'essaye de répondre à leur besoins comme je peux..
    J'ai pas remis en question ton coup de main, je t'ai même remercié (que veux-tu de plus?), mais je t'ai démontré que certes je ne connaissais pas et que ça aurait pu être une solution, mais que dans mon cas ce n'était pas envisageable... indépendamment de moi et ça j'ai pas l'impression que tu l'as bien compris, je dois répondre à une problématique d’utilisateurs de l'entreprise, je peux pas leur dire "bah vous faîtes suer avec vos problèmes trop exigeants, retournez sur Filezilla et arrêtez de m'embêter"...
    Ce n'est pas parce que toi tu n'as pas les compétences que tout le monde ne les a pas...

    Tu as dû très mal interprété mon message, ou le lire, parce qu'à aucun moment je t'ai autant bafoué pour que tu me répondes comme ça. Si c'est le "Donc en fait, plus concrètement, tu es entrain de me dire que tu n'as aucune idée pour m'aider ?" c'est peut être mal formulé et je m'en excuse, mais pourtant c'est bien le fond de ton message et c'est pas pour autant que je l'ai ignoré ou que je t'ai pris de haut. Je t'ai expliqué plus en détails ma problématique pour te permettre de mieux comprendre que cette solution du FTP n'était pas envisageable dans mon cas et la deuxième partie de ton message est une affirmation claire et précise que tu n'as pas les connaissances pour pouvoir émettre une quelconque explication sur les problèmes que je rencontre ou apporter une quelconque aide.
    Et si c'est le "C'est bien dommage car je pense que ces compétences que tu n'as pas, sont le cœur de mon problème je pense " qui t'as déplu, je l'ai peut être; encore une fois; mal formulé et dans ce cas là excuse moi encore, mais c'est pourtant bien la réalité que visiblement mon problème vient d'un domaine où tu as toi même dit que tu n'y connaissais rien.

    Effectivement j'ai aidé personne sur le forum, mais il y a une certaine raison à ça avant de critiquer. Je n'ai pas envie d'être comme toi en fait. J'ai fait un IUT Informatique, une licence professionnelle et je suis à mon deuxième stage informatique web. Je ne pense pas avoir encore acquiers assez d'expérience et de compétence pour pouvoir aller aider les personnes. Je ne connais pas les meilleures solutions possibles et je n'ai pas envie de déteindre négativement sur les projets/le travail des autres par ma faute d'avoir donné un conseil/une aide qui pour moi me paraissait de qualité et bonne, mais qui en fait ne l'est pas du tout dans le milieu professionnel ou est une mauvaise pratique etc.
    En somme, je préfère avoir certes 18 messages qui ne viennent en aide à personne, mais qui ne polluent le post de personne. Regarde toi, est-ce que tu penses réellement que tes 2 derniers messages apportent réellement de l'aide ? Sont-ils pertinent autrement que pour ajouter un +1 à ton compteur de message qui aide les gens ?
    J'ai juste l'impression que tu veux commenter simplement pour toi, ton ego, te vanter possiblement ou en tout cas te permettre de te mettre au dessus des gens, faire gonfler ton compteur etc. Alors que de base, ce genre de forum, c'est l'entraide qui doit primer, la bienveillance, pas juste faire gonfler des chiffres et faire le fier avec un rang.
    J'ai vu pas mal de post sur ce forum, et je suis déjà tombé sur des personnes comme toi, qui commentent pour commenter et personnellement, je trouve que c'est une mauvaise chose mais après tout, tout le monde est libre de commenter.

    Donc ta devise est bien belle, mais je suis plutôt partisan du "Il faut tourner sept fois sa langue dans sa bouche avant de parler". Ou encore "Le sage est sage, non par moins de folie, mais par plus de sagesse.". Ou encore "Le sage parle d’idées, le médiocre d’actions, le sot de personnes.".

    Et je commence un peu à te connaître, je ne dis pas que tu n'as aucune compétence ou connaissance. Je suis sûr que dans les domaines où tu es plus à l'aise, tu es plus à même d'aider et d'apporter plus concrètement de l'aide malgré ton pseudo (). Je pense qu'il est plutôt préférable que tu te concentres sur ces sujets là !

    Alors voilà, si tu veux encore mal prendre mon message et commencer à me faire tenir des propos que je n'ai pas eu, et bien soit, je te souhaite de trouver la paix et le bonheur dans ton for intérieur (il y a un enfant qui pleure). Je te remercie encore pour la piste des FTP. Je m'excuse encore que t'ai mal pris mon message, sans doute que mes formulations n'ont pas aidés. Amour et chocolat sur toi.

Discussions similaires

  1. [OL-2010] Extraction fichiers ".msg" depuis emplacement réseau, pas depuis Outlook
    Par 8Telegraphist8 dans le forum VBA Outlook
    Réponses: 34
    Dernier message: 29/04/2016, 10h55
  2. Réponses: 1
    Dernier message: 05/06/2007, 08h57
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

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