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

JavaScript Discussion :

Lancer un shellscript à partir d'une fonction JavaScript [Débutant(e)]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 87
    Par défaut Lancer un shellscript à partir d'une fonction JavaScript
    Bonjour,

    J'ai une checkbox qui fait appelle a une fonction JavaScript, et lorsque cette fonction est appelée, j'aimerai qu'elle lance un shellscript.

    Voici le code que j'ai pour le moment, mais qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    function check(obj){
     
    			try {
    				Runtime rtime = Runtime.getRuntime();
    				Process child = rtime.exec("bash test.sh Arguments");
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    }
    Pouvez-vous m'aider afin de comprendre ce qui ne va pas ?

    Merci beaucoup

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Interdit
    not allowed
    ممنوع
    verboten
    被禁止
    prohibido
    malpermesita
    proibito
    禁止
    zakazany
    yasak
    marufuku


    Pour la googlième fois la page de votre navigateur est une ouverture sur un monde extérieur très dangereux.
    Votre navigateur est fait de verre blindé pour vous protéger au mieux. ce que vous voyez au travers de cette fenêtre est à l'extérieur et doit y rester.
    Il n'est donc absolument pas question qu'un Pirate du web vienne exécuter quelque chose chez vous.
    Déjà que malgré tout se verre blindé, les Pirates en tout genre arrive à trouver des petits trous dans les joints, si on autorisait un développeur web à exécuter du code sur la machine de ses visiteurs il serait alors pour lui très simple d'exécuter du code qui supprimerait toutes protection.

    A+JYT

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 87
    Par défaut
    Merci pour votre réponse, je comprends bien, mais ce n'est pas pour utiliser sur un site "ouvert au WWW" mais en local.

    J'ai trouver le tuto suivant sur le forum, mais cela ne marche pas car j'ai du mal l'adapter et/ou oublier quelque chose :

    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
     
     
    Runtime runtime = Runtime.getRuntime();
    					String[] args = { "/bin/sh", "-c", "./test.sh" };
    					final Process process = runtime.exec(args);
     
    					// Consommation de la sortie standard de l'application externe dans un Thread separe
    					new Thread() {
    						public void run() {
    							try {
    								BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    								String line = "";
    								try {
    									while((line = reader.readLine()) != null) {
    									// Traitement du flux de sortie de l'application si besoin est
    									}
    								} finally {
    									reader.close();
    								}
    							} catch(IOException ioe) {
    								ioe.printStackTrace();
    							}
    						}
    					}.start();
     
    					// Consommation de la sortie d'erreur de l'application externe dans un Thread separe
    					new Thread() {
    						public void run() {
    							try {
    								BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
    								String line = "";
    								try {
    									while((line = reader.readLine()) != null) {
    									// Traitement du flux d'erreur de l'application si besoin est
    									}
    								} finally {
    									reader.close();
    								}
    							} catch(IOException ioe) {
    								ioe.printStackTrace();
    							}
    						}
    					}.start();

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    tu exécute ça comment ?

    nodejs ?
    navigateur ?

    A+JYT

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 87
    Par défaut
    Via un onclick="check" afin d'appeler la fonction qui s'occupe d'exécuter le script.

    Comme je n'y arrivais pas, j'ai fais autrement en exécutant le script appelé en php par une fonction javascript en ajax;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    <button id="leds_n_on">LEDs N - ON</button>
    <div id="leds_n_on_result"></div>

    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
     
     
                            jQuery(function ($) {
    			$('#leds_n_on').click(function () {
    				$.ajax({
    					url: 'leds_n_on.php',
    					dataType: 'html',
    					//beforeLoad: function () {
    					//	$('#leds_n_on').attr('disabled', 'disabled');
    					//	$('#leds_n_on_result').html("Chargement en cours...");
    					//},
    					success: function (html) {
    						$('#leds_n_on_result').html(html);
    					},
    					error: function () {
    						$('#leds_n_on_result').html('-- ERROR --');
    					},
    					complete: function () {
    						$('#leds_n_on').removeAttr('disabled');
    					}
    				})
    			});
    		});

    ** leds_n_on.php **

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?php
    $output = `sh leds_n_on.sh`;
    echo "<pre>$output</pre>";

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    on click dans quoi ?
    tu exécute ça comment ?
    nodejs ?
    navigateur ?

    je ne demande pas le code je demande avec quoi tu l'exécute
    A+JYT

Discussions similaires

  1. appel d'une fonction vb a partir d'une fonction javascript!
    Par labib23dz dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/07/2009, 11h04
  2. Lancer une fonction javascript
    Par Didibzh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/06/2007, 15h02
  3. [DOM] lancer une fonction javascript dans un lien HTML
    Par cortex007 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/11/2006, 21h11
  4. [PHP-JS] comment lancer une fonction javascript a partir de php
    Par amika dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/06/2005, 19h23

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