Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2860 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Ecrire un fichier sur le serveur en Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecrire un fichier sur le serveur en Javascript

n°2296871
cairn-ivor​e
Posté le 27-02-2017 à 11:27:54  profilanswer
 

Bonjour à tous,
 
J'ai un besoin un peu particulier sur lequel je suis limité par l'architecture technique (uniquement du JS, pas de PHP) et sur lequel je ne suis pas sûr qu'une réponse existe. Mais je tente quand même.
Pour une sombre raison de connexion entre un applicatif métier, développé en client serveur, et un serveur de BI, je passe par un petit bout de Javascript qui récupère les paramètres passés depuis le client serveur, les repositionne dans un formulaire en mode POST et les envoie au serveur BI.
 
Cela donne le code suivant.
l'URL entrante est sur la forme http://xxx/page.html?param1=a&param2=b
   

<form id="form_dsc" method="post" action="http://xxx">
       <input type="hidden" id="eul"  name="eul"  value="">
       <input type="hidden" id="wbk" name="wbk" value="">
       <input type="hidden" id="wsk" name="wsk" value="">
       <input type="hidden" id="db"  name="db"  value="">
       <input type="submit" id="sub" value="Se connecter Manuellement">    
    </form>
       <script type="text/javascript">
       if (location.search != "" ) {
         longueur = window.location.search.length - 1;
         data = window.location.search.substr(1,longueur);
         donnees = data.split("&" );
         for (var i=0; i < donnees.length; i++) {
           position = donnees[i].indexOf("=" );
           variable = donnees[i].substr(0,position);
           pos = position + 1;
           valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
           while (valeur.search(/\+/) != -1){
            valeur = valeur.replace(/\+/," " );
           }
             document.getElementById(variable).value = valeur;
         }
       }  
        document.getElementById("form_dsc" ).submit();      
      </script>


 
Pour un besoin de monitoring, j'aurais besoin d'historiser les paramètres retranscrits, potentiellement via un simple fichier Texte de LOG.

1 : a - 2 : b


 
Je sais bien que le javascript ne permet pas d'écrire sur le serveur directement (merci la faille de sécurité :o ) mais y a t'il un autre moyen d'arriver à un résultat similaire ?
Je précise que le volume de données est faible (pas 10 000 hits par jour)
 
Merci à vous

mood
Publicité
Posté le 27-02-2017 à 11:27:54  profilanswer
 

n°2296877
gatsu35
Blablaté par Harko
Posté le 27-02-2017 à 13:40:09  profilanswer
 

Créer un service sur un autre serveur, et ce service pourrait être appelé en POST ou GET et tu lui balancerais les infos

n°2296879
cairn-ivor​e
Posté le 27-02-2017 à 13:51:48  profilanswer
 

J'y avais pensé, mais avec une nouvelle pop-up qui se fermerait automatiquement. Mais ça génerait l'expérience utilisateur...
 
Ta solution est plus propre ; aurais tu de la doc ou un lien vers une procédure pour créer ce service et l'appeler ?

n°2297801
cairn-ivor​e
Posté le 16-03-2017 à 17:08:55  profilanswer
 

Un petit UP ?
 
Car chaque service que je vois est un sevice basé sur du PHP (pour l'appel au service également) ?
 
Merci de votre aide :jap:


Message édité par cairn-ivore le 16-03-2017 à 17:09:06
n°2297807
torwood3
Posté le 16-03-2017 à 21:09:48  profilanswer
 

Bonjour,
 
Tu as une multitude de clients qui utilisent ton formulaire, et tu souhaites sauvegarder leur paramètres. Il te faut donc un serveur tiers pour récupérer ta requête POST/GET et sauvegarder les paramètres dans un fichier.
 
La requête peut être être réalisé en JS, mais il te faudra un serveur (PHP, NODEJS, etc.). As-tu la possibilité de faire ce serveur ? et surtout le mettre à disposition de tous les clients.
Le serveur BI peut-être modifié en ce sens ?  
 
Tor


---------------
"La valeur d'un homme tient dans sa capacité à donner et non dans sa capacité à recevoir." Albert Einstein / "Dans la nature, tout a toujours une raison. Si tu comprends cette raison, tu n'as plus besoin de l'expérience." Léonard De Vinci
n°2297822
cairn-ivor​e
Posté le 17-03-2017 à 08:19:59  profilanswer
 

Oui, j'ai un serveur PHP que je peux utiliser
 
Hebérgé à l'extérieur mais accessible par tous
 
:jap:

n°2297837
torwood3
Posté le 17-03-2017 à 11:29:00  profilanswer
 

Et bah voila,  
 
 1 - Tu récupères la soumission du formulaire par une fonction JS (https://www.w3schools.com/tags/ev_onsubmit.asp)
 2 - Tu crées une requête XHR (https://openclassrooms.com/courses/ajax-et-l-echange-de-donnees-en-javascript)
 3 - Tu envoies ta requête sur un serveur PHP prévu à cet effet. En php tu peux récupérer une requête avec $_POST['maVariable'] ...
 4 - Tu enregistres chaque requête dans un fichier/base de données
 
Et voila :)
 
Bon il reste quand même à regarder la sécurité du bousin car "Hebérgé à l'extérieur mais accessible par tous" ça signifie que c'est sur internet ? ou sur le réseau local ?


---------------
"La valeur d'un homme tient dans sa capacité à donner et non dans sa capacité à recevoir." Albert Einstein / "Dans la nature, tout a toujours une raison. Si tu comprends cette raison, tu n'as plus besoin de l'expérience." Léonard De Vinci
n°2297838
cairn-ivor​e
Posté le 17-03-2017 à 11:39:08  profilanswer
 

Nickel, un grand merci :)


Message édité par cairn-ivore le 17-03-2017 à 11:39:18

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Ecrire un fichier sur le serveur en Javascript

 

Sujets relatifs
perl et fichier XMLLecture fichier TXT caractère parasite ° →
Formulaire créé en javascript limité à 90 "lignes"Annuler une fusion et ré-écrire les données dans les cellules vides
Tableau javascript et liste déroulante?Javascript - Controle d'une chaine de caractère
[Java] Arrêt traitement si doublons dans champ d'un fichier[Perl] Arrêt traitement si doublons dans champ d'un fichier
Apache : Alias sur un serveur distantPHP - Apache, best practices pour serveur multi sites
Plus de sujets relatifs à : Ecrire un fichier sur le serveur en Javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR