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 :

Execute command linux


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut Execute command linux
    bonjour a tous,
    j'ai un probl�me de compatibilit� : j'ai cr�er une page html qui est �x�cut�e en local sur Linux et sur Windows. Cette page doit �xecuter une commande. Sous windows aucun probl�me mais sous linux je n'arrive pas � executer cette commande. Voila mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (navigator.platform == 'Win32')
    {
    	// Windows
    	var shell = new ActiveXObject("WScript.Shell");
    	shell.run(command);
    }
    else
    {
    	// Linux
    	document.write(navigator.platform);
    }
    Quelqu'un sait le code js pour �xecuter une commande sous linux?? ls par exemple... merci d'avance

  2. #2
    Membre chevronn� Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    D�tails du profil
    Informations personnelles :
    �ge : 61
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Par d�faut
    Cela n'est � mon avis pas possible (et c'est normal).

    De plus m�me sous Windows cela fonctionne qu'avec IE et en acceptant toutes les alertes de s�curit�.

  3. #3
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    Oui je sais... mais sous linux pas possible?? Enfaite cette page html doit pouvoir etre execut�e sur linux et windows en local... elle doit pouvoir ecrire dans un fichier texte et executer une commande... Y'a-t-il une autre solution que le JavaScript pour faire cela? Qui soit compatible pour les 2?

  4. #4
    Membre chevronn� Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    D�tails du profil
    Informations personnelles :
    �ge : 61
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Par d�faut
    Tu peux essayer de passer par une applet signer, cela doit pouvoir fonctionner sur les deux OS et sur Firefox �galement.

  5. #5
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    T'as un exemple? d�finition d'un applet signet? Sous JavaScript?

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    non java pas javascript ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre chevronn� Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    D�tails du profil
    Informations personnelles :
    �ge : 61
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612

  8. #8
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    bon quelques heures de gal�re j'ai r�ussi a executer des fonctions java depuis ma page html. Mais maintenant il me fai des exception comme quoi il n'as pas le droit d'�crire le fichier ou d'executer le programme... En le compilant depuis eclipse il me fais sa tr�s bien mais en passant depuis html j'ai des exception de type access denied.
    voila le code java :
    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
     
    import java.applet.*; 
    import java.awt.*;
    import java.io.*;
    import java.lang.Runtime;
     
    public class FunctionHTML extends Applet {
        Label  helloLabel = new Label ("Bonjour, vous me voyez ?");  
        // Méthode appelée par le navigateur lorsque l'applet est chargée  
     
        public void init (){
     
         } 
        public int WriteFile(String DirFile, String WriteLineString, boolean EraseOld) throws IOException{
        	try { 
        		PrintWriter OutputFile = new PrintWriter(new FileWriter(DirFile, EraseOld));	
        		OutputFile.println(WriteLineString); 		
        		OutputFile.close();
        		return 0;
         	} catch (IOException e) { return -1; }    
        }
        public int ExecuteCmd(String DirCmd) throws IOException{
        	try { 
        		Runtime.getRuntime().exec(DirCmd); 
        		return 0; 
        	} catch (IOException e) {  return -1; }     	
    	}
    }
    et html :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    <APPLET codebase="c:\" code="FunctionHTML.class" width="500" height="200" NAME="FunctionJava"></APPLET>	
    		<script type="text/javascript">
    			document.Formulaire.Execute1.onclick = function()	{	document.FunctionJava.ExecuteCmd('cmd'); }
    		</script>
    Y'a-t-il une solution?

    Une autre question : J'ai une application Java qui n'as pas de "Extends Applets" cela signifie que je ne peux pas l'appel�e depuis une page html? la page html est en local et j'aimerai ouvrir cette application Java depuis cette page.

  9. #9
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    Apr�s quelques test encore, j'ai signer mon .jar... Quand j'ouvre la fonction depuis une page html il me demande si j'accept de certificate, je r�pond oui et apr�s il me refait un access denied... La j'y comprend vraiment vraiment rien ! Depuis Eclipse les fichiers se cr�er correctement, depuis la commande "java monfichierjava.class" j'ai un access denied et depuis html aussi! M�me si je met un certificat et je l'accept! Je suis en local, il doit bien y'avoir une solution

  10. #10
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    il faut l'accepter au moins une fois pour qu'il soit reconnu non ?

    Mais je ne pense pas que la solution soit cot� javascript ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  11. #11
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    Le certificat? Mais je l'ai accepter a l'ouverture de la fonction.... Je n'utilise pa JavaScript appart pour executer la fonction Java.... Cela peut coser probl�me?

  12. #12
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Donc comme je le disais, cela ne provient pas de javascript mais du niveau de s�curit� du browser par rapport aux applets java...
    Et par cons�quant je ne pense pas que javascript puisse r�soudre ce probl�me de quelque mani�re que ce soit .
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  13. #13
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    J'ai d�j� trouver une erreur... eclipse me fesait un .jar avec un manifest vide... J'ai cr�er un .jar manuellement et il fonctionne a l'execution sous windows... Reste plus qu'� l'int�grer a ma page html... Je viens de tester en vitesse, ya toujours une erreur mais je n'ai pas cr�er de certificat... Juste une question html :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <applet archive="archive1.jar" NAME="FunctionJava" code="FunctionHTMLd.class"></applet>
    cela me initialise ma class pour utilisation dans ma page html. Mais le probl�me est que cela me met aussi un carr� Java au d�bu de ma page html! Il n'y a pas d'interface graphique, ma class Java n'as que des fonctions d'�criture, lecture. Comment appeller ma class Java sans mode graphique??

  14. #14
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <applet archive="archive1.jar" NAME="FunctionJava" code="FunctionHTMLd.class" style="visibility:hidden;"></applet>
    ??
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  15. #15
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    No, toujours un block occup�e dans mon html. Dans ma class java dans mon Init() j'ai �executer une des fonctions d'�criture et a l'ouverture de l'applet le fichier se cr�er correctement en me demandant d'accepter le certificat. Apr�s quand j'�xecute la fonction depuis JavaScript en cliquant sur le bouton il me dit access denied! Impressionnant!
    Applet HTML :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    	<applet archive="jExecWrite.jar" NAME="jExecWrite" code="InitFunction.class" width="0" height="0" style="visibility:hidden;">
    		Java n'est pas initialisé ou n'est pas installé... Veuillez régler le problème
    	</applet>

    Voila mon code JavaScript :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    	document.Formulaire.Execute1.onclick = function()	{	document.jExecWrite.ExecuteCmd("c:\\windows\\system32\\charmap.exe"); }

  16. #16
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 185
    Par d�faut
    Bon j'ai enfin r�ussi a executer depuis windows je vais tester tout sa sous unix, je vous donne le code Java... Enfaite il faut cr�er un thread depuis le Init qui a tout les droits d'apr�s ce que j'ai conclu et compris... Voila mon code Java... Les deux fonction ExecuteCmd et WriteFile permettent d'�crire et d'�xecuter une commande...
    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    import java.io.*;
    import java.lang.Runtime;
    import java.applet.*;
     
    public class InitFunction extends Applet {
    	private static final long serialVersionUID = 1L;
     
    	private String DirCmd;
        private String DirFile, WriteLineString;
        boolean EraseOld;
     
        private static Object threadLockExec = new Object();
        private static Object threadLockWrite = new Object();
     
    	public void init (){
    		( new ExecuteCmdThread() ).start();
    		( new WriteFileThread() ).start();
    		//ExecuteCmd("c:\\windows\\system32\\charmap.exe");
    		//WriteFile("c:\\tt.txt", "blabla", true);
        }
     
    	class ExecuteCmdThread extends Thread {
    		public void run() {
    			synchronized(threadLockExec)
    			{
    				while(true)
    				{
    					try
    					{
    						threadLockExec.wait();
    						Runtime.getRuntime().exec(DirCmd);
    					}
    					catch( Exception ex )
    					{
    						System.out.println( "Exception in ExecuteCmd, " + ex.getMessage() );
    					}						
    				}
    			}
    		}
    	}
     
    	class WriteFileThread extends Thread {
    		public void run() {
    			synchronized(threadLockWrite)
    			{
    				while(true)
    				{
    					try
    					{
    						threadLockWrite.wait();
    			    		PrintWriter OutputFile = new PrintWriter(new FileWriter(DirFile, !EraseOld));	
    			    		OutputFile.println(WriteLineString); 		
    			    		OutputFile.close();
    					}
    					catch( Exception ex )
    					{
    						System.out.println( "Exception in WriteFile, " + ex.getMessage() );
    					}						
    				}
    			}
    		}
    	}
     
        public int WriteFile(String DirFile, String WriteLineString, boolean EraseOld) {
        	try 
        	{ 
        		synchronized( threadLockWrite )
        		{
            	    this.DirFile = DirFile;
            	    this.WriteLineString = WriteLineString;
            	    this.EraseOld = EraseOld;	
            	    threadLockWrite.notifyAll();
        		}
        		return 0;
        	}
        	catch( Exception ex )
        	{
        		System.out.println( "Exception in Write File, " + ex.getMessage() );
        		return -1;
        	}   
        }
     
        public int ExecuteCmd(String cmd) {
        	try
        	{
            	synchronized( threadLockExec )
            	{
            		DirCmd = cmd;
            		threadLockExec.notifyAll();
            	}	
        		return 0;
        	}
    		catch( Exception ex )
    		{
    			System.out.println( "Exception in Execute Command, " + ex.getMessage() );
    			return -1;
    		}    	
    	}	
    }
    Il me reste plus que deux probl�mes : celui d'affichage de la zone Java sur mon html et celui de quand je ferme la fenetre html java ne se ferme pas automatiquement et g�n�re une erreur et m'utilise 100% du CPU! il faut que je mette un destroy dans ma class java? et dans l'html? un close de l'applet?

Discussions similaires

  1. execution commande linux
    Par bapfuror dans le forum Entr�e/Sortie
    R�ponses: 4
    Dernier message: 02/04/2008, 12h22
  2. [Syst�me] executer une commande linux
    Par kirbs dans le forum Langage
    R�ponses: 7
    Dernier message: 08/12/2005, 09h40
  3. R�ponses: 6
    Dernier message: 23/11/2005, 14h24
  4. Executer une commande linux distante
    Par g-rom3 dans le forum Linux
    R�ponses: 11
    Dernier message: 06/11/2005, 19h33

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