PDA

Afficher la version complète : Petit applet de contôle à distance



Sirius
15/01/2005, 00h46
Salux les pinguins !

Alors j'ai un projet ! J'aimerai prendre le contrôle de mon PC à distance via un serveur HTTP local pour commencer, puis depuis Internet.

Le but est simple : j'aimerai contrôler quelques paramêtres de mon PC depuis un autre ordinateur. Par exemple j'aimerai contrôler mon lecteur audio depuis un autre ordi.

Donc j'ai un peu réfléchit, et voila les obectifs que je me fixe pour la version 0.1 de mon applet client et de mon applet serveur :

Côté serveur :
- Pourvoir renvoyer la bande passante utilisée
- La charge de la mémoire/CPU/SWAP
- La température du CPU
- La chanson lue
- Le volume
- Pourvoir executer une commande shell UNIX
- Le tout sécurisé
- Supporte la navigation
- etc...

Côté client
- Pouvoir afficher les infos envoyés par le serveur
- Pourvoir se logguer sur le serveur
- Pourvoir envoyer des infos et des commandes au serveur
- Navigation FTP/SMB/NTF sur serveur
- Login et sécurité
- etc..

Pour des raisons de portablilité, je voudrais que le client soit un applet Java. Quant au serveur, j'aimerai un applet Java qui fasse l'interface entre un script Shell (car ma machine serveur sera toujours sous Linux) et l'applet client. De cette manière je pourais utiliser les senreurs d'UNIX pour mes applet et envoyer des commandes UNIX depuis le client sur le serveur....

Mais je ne sais pas comment faire... Donc je suis à la recherches de conseils et de critiques pour qu'avant de commencer la programmation en elle-même je puisse réfléchir à que faire et surtout comment le faire.

Merci d'avance....

Edit : Release 1 (http://www.alionet.org/index.php?showtopic=1605&view=findpost&p=24456)

galagann
15/01/2005, 12h14
Salux,

Soit tu utilises Webmain pour faire la configuration a distance, soit VNC pour prendre le contrôle totale de ton ordinateur http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif

molodoi
15/01/2005, 13h29
sympa le projet

Mais Java ne te permets pas de faire les 3/4 de ce que tu veux.

Si tu veux vraiment faire du Java, il faudra développer la plupart de ton serveur en C. Tu devras donc faire une interface JNI, pour l'interaction entre le Java et le C. Ca devient tout de suite plus bordelique.

Et je ne pense pas qu'une applet soit la solution la plus pertinente.

Dans tous les cas, ce n'est pas trivial.

alexmic
15/01/2005, 15h57
Si ce n'est que pour l'audio il me semble que netcast (il en existe bien un mais c'est peut etre un autre) gère l'audio à la demande...

En gros tu te connectes sur un pc distant qui t'affiche les chansons dispo et le client click et ecoute...

Comme c open source ça pourrait t'aider dans ton projet..

Je l'avais trouvé sur FreshMeat en tapant stream

Sirius
15/01/2005, 17h46
Merci de vos commentaires... mais laissez moi présiser mon idée :

D'abord, je ne veut rien de spécifique Linux, because je veut dans mon cas contrôler mon PC depuis le portable (mac sans doute) que je vais acheter !!

Mais voici comment je pense mon programme : Je veut un script Shell sur mon PC qui serait controlé par un Applet Java sur un autre machine via un serveur Java... je sais que l'on peut le faire

Enfin, je vais cuisiner un peu mon prof d'apllication des Maths et on verra ! Merci

Sirius
07/03/2005, 18h52
OK les Geeks, je me suis accroché et j'ai pondu un petit quelque chose !! Je ne vous montre pas encore ce que j'ai fait, car il reste une ou deux petites choses à faire encore, mais la version 0.1 du serveur et du client devrait bientôt voir le jour !

Sirius
07/03/2005, 19h44
Ok, voici la 1er release de mon serveur : serveur.zip (http://www.sezenove.ch/~sirius/serveur.zip)

Ce qu'il est capable de faire :
- Il peut envoyer une commande au Kernel sur la machine serveur (mais pas recevoir de retour http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif )
- Il permet par exemple de controler Amarok à distance
- Il ne passe pas par Internet http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif Juste par le réseau interne
- Le port par défaut est le 3000

Pour lancer le serveur, faites "java -jar serveur.jar" et pour le client "java -jar client.jar"

Le serveur est en mode texte, tandis que le client à un GUI...

Dites-moi ce que vous en pensez !!

Edit : Pour l'instant c'est une version BETA que je développe ! Ce n'est pas pro du tout et il manque pas mal de trucs !

ganaga
07/03/2005, 21h28
Pour faire la même chose, j'aurai plutot fait un client telnet ou ssh qui lance des commandes directement sur le serveur.

Si tu veux utiliser du Java absolument, il y a bien Java RMI qui permet d'exécuter des procédures stockées à distance (équivalent de CORBA).

En espérant que ça puisse donner des idées http://www.alionet.org/style_emoticons/<#EMO_DIR#>/cool.gif

Sirius
07/03/2005, 21h34
Pourquoi pas en effet ! Mais le but n'est pas de faire un programme purement utilitaire ! Je cherche surtout à le faire moi même pour développer une base de connaisances et d'expériences qui me seront utiles par la suite http://www.alionet.org/style_emoticons/<#EMO_DIR#>/w00t.gif

ganaga
08/03/2005, 00h07
Oui c est une bonne idée pour se faire de l'expérience. Bon courage!

molodoi
11/03/2005, 15h04
Salut http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

je suis en train de mater ton code...

C'est ton premier projet Java?
C'est la première fois que tu fais de la progra distribuée?

alexmic
11/03/2005, 18h55
On sent le prof qui vient de voir un .java non documenté ou je me trompe?

molodoi
11/03/2005, 19h06
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif héhé, disons, sans vouloir offenser le créateur de l'appli, que ça sent le codage brutal http://www.alionet.org/style_emoticons/<#EMO_DIR#>/mad.gif

En fait, le développement d'applications distribuées (et de n'importe quelle application, d'ailleurs) obéit à une certaine démarche. Ca me heurte tjrs un peu les yeux qd je vois que ce n'est pas le cas http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif

ceci dit, je suis prêt à aider, à diriger. Il n'y a aucun souci tant qu'il y a derrière tout ça une volonté d'apprendre http://www.alionet.org/style_emoticons/<#EMO_DIR#>/rolleyes.gif

molodoi
25/03/2005, 11h58
Ca avance le projet? http://www.alionet.org/style_emoticons/<#EMO_DIR#>/unsure.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Sirius
25/03/2005, 13h18
Oui, ça avance bien http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif Pour l'instant que peut passer des commandes simples d'une machine à l'autre (comme le contrôle d'Amarok) mais je n'ai pas de retour... je buche ce point là !!

molodoi
25/03/2005, 14h14
tu veux qu'on en discute par MP et/ou par email?