40
Suivi par: Mr. BENSAAD Mohamed Lahcen Réalisé par : BENYAMMI BACHIR & HASSANI Mustapha Promotion : 2007/2008 République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique UNIVERSITE AMAR TELIDJI - LAGHOUAT FACULTE DES SCIENCES ET DE L INGENIERIE DEPARTEMENT DE GENIE INFORMATIQUE Projet de fin d’études Pour l’obtention du diplôme d’ingénieur d’état en informatique Option : Systèmes Parallèles et Distribués(SPD) TH È ME:

Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA - jrdesktop

Embed Size (px)

Citation preview

Suivi par: Mr. BENSAAD Mohamed Lahcen

Réalisé par :

BENYAMMI BACHIR & HASSANI Mustapha

Promotion : 2007/2008

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

UNIVERSITE AMAR TELIDJI - LAGHOUAT

FACULTE DES SCIENCES ET DE L’INGENIERIE

DEPARTEMENT DE GENIE INFORMATIQUE

Projet de fin d’études

Pour l’obtention du diplôme d’ingénieur d’état en informatique

Option : Systèmes Parallèles et Distribués(SPD)

THÈME:

2

Plan du travail

Introduction

Le bureau distant

Outils & technologies utilisés

Conception & implémentation

Présentation & Evaluation

jrdesktop sur le net

Conclusion

Conception et réalisation d’une application de

Bureau à distance en Java12/01/2016

Pla

n d

u tra

vail

3

Introduction De nouvelles applications apparaissent chaque jour qui se déroulent à

distance pour:

Vidéoconférence,

Assistance à distance (helpdesk),

Enseignement à distance,

Maintenance,

Télétravail,

…etc.

Les responsables informatiques ont pris conscience de l'intérêt des

dispositifs de bureau distant pour répondre à leurs défis :

la continuité de l’activité,

la rentabilité.

Conception et réalisation d’une application de

Bureau à distance en Javamardi 12 janvier 2016

Intro

du

ctio

n

4

Le bureau distant garantissant:

la sécurité de l’accès,

la mobilité des utilisateurs,

la mise à disposition des applications

Le bureau à distance est capable d’apporter une aide quelconque à un

utilisateur se trouvant dans un poste d’un réseau local ou mondiale par le

biais de l’internet comme si vous étiez à sa place.

Comment contrôler et visualiser un ordinateur distant quel que soit

son emplacement sur un réseau (LAN, MAN, WAN ou même sur

Internet) ?

Introduction (suite …)

Conception et réalisation d’une application de

Bureau à distance en Java

Intro

du

ctio

n

mardi 12 janvier 2016

5

Le bureau distant L'observation et la prise de contrôle d'un ordinateur distant depuis un

ordinateur local

Le

bu

reau

dis

tan

t

mardi 12 janvier 2016Conception et réalisation d’une application de

Bureau à distance en Java

Dépannage à distance

Aide en

ligneFormation

maintenanceTéléintervention

Télétravail

6

Le bureau distant (suite …) Utiliser l’écran, clavier et souris pour connecter à l'ordinateur distant et de le

piloter.

Les mouvements transférés de l'ordinateur local :

Souris;

Signaux du clavier.

Les Captures d’écran depuis l'ordinateur distant vers l’ordinateur local.

Travailler et accéder à tous:

Les applications,

Les fichiers,

Les ressources réseau.

Piloter simultanément plusieurs ordinateurs distants.

Le

bu

reau

dis

tan

t

mardi 12 janvier 2016Conception et réalisation d’une application de

Bureau à distance en Java

7

Fonctionnement

Module Admin: prend le contrôle de par

l’écran, le clavier, et la sourisLe

bu

reau

dis

tan

t

mardi 12 janvier 2016Conception et réalisation d’une application de

Bureau à distance en Java

Module Hôte : exécute les commandes

du Module Admin et lui envoie l'état

de son écran.

8

Outils et technologies utilisés

Outils

& te

chn

olo

gie

s u

tilisés

mardi 12 janvier 2016Conception et réalisation d’une application de

Bureau à distance en Java

Java

RMI

SSL

NetBeans

• orienté réseau et objet

• multiplateformeJava• API Java

• Invocation de méthode distante

• Utilise le protocole JRMP

RMI• IDE pour Java

• Multiplateforme(Windows, Linux, Solaris et Mac OS X…etc.)

NetBeans

• Sécuriser des échanges de données sur Internet

• Sécuriser le protocole de transmission des données, tel que HTTP,FTP,SMTP

• Sécuriser le système d'identification

SSL

Conception du Système

Diagramme de cas d’utilisation

Diagramme de classe

Digramme de séquence

12/01/2016 Rélisation d'un interpréteur Khawarizmi 9

Con

ce

ptio

n d

u s

ystè

me

Diagramme de cas d’utilisation

12/01/2016 10

Conception et réalisation d’une application de

Bureau à distance en Java

Con

ce

ptio

n d

u s

ystè

me

Relations entre cas d’utilisation

12/01/2016 11

Conception et réalisation d’une application de

Bureau à distance en Java

Con

ce

ptio

n d

u s

ystè

me

Diagramme de classe

12/01/2016 12

Conception et réalisation d’une application de

Bureau à distance en Java

Con

ce

ptio

n d

u s

ystè

me

Diagramme de séquence

12/01/2016 13

Conception et réalisation d’une application de

Bureau à distance en Java

Processus d’authentification

Con

ce

ptio

n d

u s

ystè

me

Implémentation du Système

Architecture RMI

Communication entre modules

Architecture interne

Fonctionnalités de base

12/01/2016 Rélisation d'un interpréteur Khawarizmi 14

Implé

me

nta

tion d

u s

ystè

me

Architecture RMI

12/01/2016 15

Conception et réalisation d’une application de

Bureau à distance en Java

Implé

me

nta

tion d

u s

ystè

me

Implé

me

nta

tion d

u s

ystè

me

Architecture interne

12/01/2016 16

Conception et réalisation d’une application de

Bureau à distance en Java

Server Viewer

Communication entre modules

12/01/2016 17

Conception et réalisation d’une application de

Bureau à distance en Java

Implé

me

nta

tion d

u s

ystè

me Entrées-sorties :

Evénements clavier & souris; Captures d’écran;

Fonctionnalités de base Capture d’écran:

Evénements clavier & souris;

Transfert de données et de fichiers;

Communication via RMI;

Serveur « multihomed »

Sécurité & cryptage;

Compression de données;

Traitement d’image;

Qualité de couleurs;

Synchronisation du Presse-papiers;

Configuration;

…etc.

12/01/2016 18

Conception et réalisation d’une application de

Bureau à distance en Java

Implé

me

nta

tion d

u s

ystè

me

1. Initialisation du

rectangle de la capture;

2. Capture d’écran;

Capture d’écran

12/01/2016 19

Conception et réalisation d’une application de

Bureau à distance en Java

Implé

me

nta

tion d

u s

ystè

me

0, 0 0, 308

157, 0 157, 308

Capture d’écran (suite …)

3. Redimensionnement du rectangle;

4. Changement de la palette

des couleurs;

12/01/2016 Rélisation d'un interpréteur Khawarizmi 20

Implé

me

nta

tion d

u s

ystè

me

75%

256

couleurs

Capture d’écran (suite …)

5. Changement de la qualité d’image;

6. Conversion d’image vers un

tableau d’octets;

12/01/2016 Rélisation d'un interpréteur Khawarizmi 21

25%

01001111011001

Implé

me

nta

tion d

u s

ystè

me

Transfert de données

12/01/2016 22

public void run() {

while (true) {

Wait();

while(recording && !pause)

{

viewer.sendData();

viewer.recieveData();

}

}

}

Conception et réalisation d’une application de

Bureau à distance en Java

Implé

me

nta

tion d

u s

ystè

me

Déploiement du Système

Présentation du logiciel

Evaluation du logiciel

Architecture interne

Fonctionnalités de base

jrdesktop sur le net

12/01/2016 Rélisation d'un interpréteur Khawarizmi 23

Déplo

iem

ent d

u s

ystè

me

12/01/2016 Rélisation d'un interpréteur Khawarizmi 24

Zone de

visualisation

Barre d’outils

Aperçu sur la fenêtre de visualisation

Présentation du logiciel

Barres

d’ défilement

Déplo

iem

ent d

u s

ystè

me

12/01/2016 25

Présentation du logiciel (suite …)

Interface textuelle

Interface fenêtrier Icône dans la barre des tâches

Diverses interfaces

Conception et réalisation d’une application de

Bureau à distance en Java

Délp

oie

me

nt d

u s

ystè

me

Evaluation

Avantages du logiciel;

Tests et résultats sur le transfert de données;

Limitations du logiciel;

Comparaison du logiciel avec d’autres projets

du Bureau à distance.

12/01/2016 26

Délp

oie

me

nt d

u s

ystè

me

Conception et réalisation d’une application de

Bureau à distance en Java

Evaluation (suite …)Avantages

Interface utilisateur conviviale et intuitive ;

Haute vitesse et performance dans les réseaux LAN;

Plein de paramètres de réglages;

Sécurité, cryptage et authentification.

Multiples connexions simultanées ;

Transfert de fichiers, de textes et des images (à l'aide

de presse-papiers);

Indépendance de la plateforme;

….etc.

12/01/2016 27

Délp

oie

me

nt d

u s

ystè

me

Conception et réalisation d’une application de

Bureau à distance en Java

0%

69%

50%

51%

54%

60%

69%

37%

65%

67%

12/01/2016 28

Effet de la compression sur les données envoyées

Emission de donnéesDélp

oie

me

nt d

u s

ystè

me

Evaluation (suite …)

Conception et réalisation d’une application de

Bureau à distance en Java

Vitesse moyenne

Sans compression: 116.08 KB/S Avec compression: 43.23 KB/S

9%6%

8%67%

1%2%

3%51%

4%6%

7%49%

10%2%

3%53%

12/01/2016 29

Effet de la qualité de la compression d'image JPEG

Délp

oie

me

nt d

u s

ystè

me

Evaluation (suite …)

Conception et réalisation d’une application de

Bureau à distance en Java

Réception de données

Vitesse moyenne

Sans compression: 408.64 KB/S Avec compression: 386.77 KB/S

12/01/2016 30

Transfert de fichiersDélp

oie

me

nt d

u s

ystè

me

Evaluation (suite …)

Conception et réalisation d’une application de

Bureau à distance en Java

Vitesse moyenne : 4 835,7 KB/S

Evaluation (suite …)Limitations

Occupation élevée de la bande passante;

Occupation élevée de ressources matérielles;

Réglage des paramètres de visualisation à chaque nouvelle

session;

Manque de diverses documentation du projet;

Support partiel du presse-papiers;

Transfert de fichiers est limité aux fichiers de petites tailles et

occupe la mémoire ;

Pas de client Web (pas de support de visualisation pour les

navigateurs Web) ;

Pas de support de Proxy, ni de tunnel http et absence d'un relai;

…etc.

12/01/2016 31

Délp

oie

me

nt d

u s

ystè

me

Conception et réalisation d’une application de

Bureau à distance en Java

12/01/2016 32

Délp

oie

me

nt

du

systè

me

jrdesktop vs autres projetsEvaluation (suite …)

Conception et réalisation d’une application de

Bureau à distance en Java

Cry

pta

ge

Au

then

tificatio

n

Com

pressio

n

Qu

alité d

'image

Cop

yR

ect

Con

versio

n d

e

cou

leurs

Tra

nsfère d

e

fichiers

Tra

nsfère d

e

presse

-pap

iers

Mu

lti sessio

ns

Clien

t Web

Clien

t

Serv

er

Tech

nolo

gie

Date

Versio

n

Licen

ce

Projet

×××?××socket15.02.052.3OSSJxta Remote

Desktop

××××××××socket14.11.072.1bOSSJava Remote

Control

SSL×××socket21.11.020.1OSSRobo

×××××socket20044.1PropVNC Viewer

×××××××××RMI29.05.061.0OSSJ Remote Desktop

RC4××?××××socket27.09.051.1OSSproperJavaRDP

××××××××socket24.06.06?PropAJAX Remote

Desktop Viewer

DES××××××socket17.02.081.2PropGSVNCJ

SSL××RMI23.06.080.2OSSjrdesktop

jrdesktop sur le net

Site web officiel:

jrdesktop.sourceforge.net

Différentes sources du trafic;

Statistiques sur les visites;

Statistiques sur les téléchargements;

12/01/2016 33

Délp

oie

me

nt d

u s

ystè

me

Conception et réalisation d’une application de

Bureau à distance en Java

Délp

oie

me

nt d

u s

ystè

me

jrdesktop sur le net (suite …)Visites

(en %)VisitesDateLienSite web

10.0430409-03-2008

01-05-2008

http://sourceforge.net/projects/jrdesktop/

http://jrdesktop.sourceforge.net/

02.7710020-03-2008http://jrdesktop.googlecode.com/

http://code.google.com/p/jrdesktop/

02.404309-05-2008http://www.ohloh.net/projects/jrdesktop/

57.271 73409-05-2008http://en.wikipedia.org/wiki/Java_Remote_Desktop

http://en.wikipedia.org/wiki/Jrdesktop

05.1610415-05-2008http://www.freshports.org/net/jrdesktop/

http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/jrdesktop/

04.72143?http://www.open-open.com/open218835.htm

13.84419??

12/01/2016 34

Conception et réalisation d’une application de

Bureau à distance en Java

3 028 Visites, 9 611 Pages vuesDifférentes sources du trafic (27-06-08)

Délp

oie

me

nt d

u s

ystè

me

jrdesktop sur le net (suite …)

12/01/2016 35

VisitesPays

882États-Unis

198Angleterre

190Allemagne

187Chine

153Canada

62France

61Algérie

Conception et réalisation d’une application de

Bureau à distance en Java

Nombre total de pays = 93

Statistiques

sur les visites

(27-06-08)

jrdesktop sur le net (suite …)

Octets servisTéléchargementsMois

121.4 MB922Juin

151.9 MB1 500Mai

16.2 MB433Avril

14.6 MB252Mars

12/01/2016 36

Conception et réalisation d’une application de

Bureau à distance en Java

Nombre total de téléchargements = 3 107

Statistiques sur les

téléchargements

Délp

oie

me

nt d

u s

ystè

me

Conclusion

12/01/2016 37

Conception et réalisation d’une application de

Bureau à distance en Java

Conclu

sio

n

Notre application « jrdesktop » est un outil très puissant,

facile à utiliser et qui est capable de fournir à travers ces

fonctionnalités intéressantes, un grand nombre de

manipulations à distance.

Le point fort de notre application réside dans le fait

qu’elle est multiplateforme grâce à la machine virtuelle Java

et qu’elle ne nécessite aucune installation.

Nous espérons que ce travail pourra contribuer à servir

des travaux futurs en vue d’élargir le domaine d’application.

38

Conclusion (suite …)

Perspectives

Réécriture du code en utilisant les sockets;

Implémentation de l'algorithme CopyRect;

Etablissement des documentations sur le projet;

Mise en œuvre d'un visualisateur web;

Implémentation de la connexion inversible;

Ajout des fonctions d’optimisation automatiques;

Intégration de la gestion es droits d'accès;

Implémentation d'un gestionnaire de fichiers;

Inclusion d'un chat (écrit et/ou vocale);

…etc.

12/01/2016

Conclu

sio

n

Conception et réalisation d’une application de

Bureau à distance en Java

3912/01/2016

Conception et réalisation d’une application de

Bureau à distance en Java

jrdesktop.sourceforge.net