De nouvelles applications apparaissent chaque jour qui se déroulent à distance pour: vidéoconférence, assistance à distance (helpdesk), enseignement à distance, maintenance et télétravail. Le bureau distant garantissant: la sécurité de l’accès, la mobilité des utilisateurs et la mise à disposition des applications.
Java Remote Desktop (jrdesktop) est un logiciel multi-plateforme pour le contrôle de bureau à distance, l'assistance à distance et le partage de bureau, l'outil est utile pour les réseaux domestiques, help desk, l'administration du système et de la collaboration.
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA - jrdesktop
1. 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. 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
Plandutravail
3. 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
Introduction
4. 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
Introduction
mardi 12 janvier 2016
5. 5
Le bureau distant
L'observation et la prise de contrôle d'un ordinateur distant depuis un
ordinateur local
Lebureaudistant
mardi 12 janvier 2016
Conception et réalisation d’une application de
Bureau à distance en Java
Dépannage
à distance
Aide
en
ligne
Formation
maintenance
Téléintervention
Télétravail
6. 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.
Lebureaudistant
mardi 12 janvier 2016
Conception et réalisation d’une application de
Bureau à distance en Java
7. 7
Fonctionnement
Module Admin: prend le contrôle de par
l’écran, le clavier, et la souris
Lebureaudistant
mardi 12 janvier 2016
Conception 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. 8
Outils et technologies utilisés
Outils&technologiesutilisés
mardi 12 janvier 2016
Conception 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
9. 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
Conceptiondusystème
10. Diagramme de cas d’utilisation
12/01/2016 10
Conception et réalisation d’une application de
Bureau à distance en Java
Conceptiondusystème
11. Relations entre cas d’utilisation
12/01/2016 11
Conception et réalisation d’une application de
Bureau à distance en Java
Conceptiondusystème
12. Diagramme de classe
12/01/2016 12
Conception et réalisation d’une application de
Bureau à distance en Java
Conceptiondusystème
13. Diagramme de séquence
12/01/2016 13
Conception et réalisation d’une application de
Bureau à distance en Java
Processus d’authentification
Conceptiondusystème
14. 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émentationdusystème
17. Communication entre modules
12/01/2016 17
Conception et réalisation d’une application de
Bureau à distance en Java
Implémentationdusystème
Entrées-sorties :
Evénements clavier & souris;
Captures d’écran;
18. 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émentationdusystème
19. 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émentationdusystème
0, 0 0, 308
157, 0 157, 308
20. 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émentationdusystème
75%
256
couleurs
21. 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émentationdusystème
22. 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émentationdusystème
23. 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éploiementdusystème
24. 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éploiementdusystème
25. 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élpoiementdusystème
26. 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élpoiementdusystème
Conception et réalisation d’une application de
Bureau à distance en Java
27. 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élpoiementdusystème
Conception et réalisation d’une application de
Bureau à distance en Java
28. 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ées
Délpoiementdusystè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
29. 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élpoiementdusystè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
30. 12/01/2016 30
Transfert de fichiers
Délpoiementdusystème
Evaluation (suite …)
Conception et réalisation d’une application de
Bureau à distance en Java
Vitesse moyenne : 4 835,7 KB/S
31. 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élpoiementdusystème
Conception et réalisation d’une application de
Bureau à distance en Java
32. 12/01/2016 32
Délpoiementdusystème
jrdesktop vs autres projetsEvaluation (suite …)
Conception et réalisation d’une application de
Bureau à distance en Java
Cryptage
Authentification
Compression
Qualitéd'image
CopyRect
Conversionde
couleurs
Transfèrede
fichiers
Transfèrede
presse-papiers
Multisessions
ClientWeb
Client
Server
Technologie
Date
Version
Licence
Projet
×××?××socket15.02.052.3OSS
Jxta Remote
Desktop
××××××××socket14.11.072.1bOSS
Java Remote
Control
SSL×××socket21.11.020.1OSSRobo
×××××socket20044.1PropVNC Viewer
×××××××××RMI29.05.061.0OSSJ Remote Desktop
RC4××?××××socket27.09.051.1OSSproperJavaRDP
××××××××socket24.06.06?Prop
AJAX Remote
Desktop Viewer
DES××××××socket17.02.081.2PropGSVNCJ
SSL××RMI23.06.080.2OSSjrdesktop
33. 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élpoiementdusystème
Conception et réalisation d’une application de
Bureau à distance en Java
34. Délpoiementdusystème
jrdesktop sur le net (suite …)
Visites
(en %)
VisitesDateLienSite web
10.04304
09-03-2008
01-05-2008
http://sourceforge.net/projects/jrdesktop/
http://jrdesktop.sourceforge.net/
02.7710020-03-2008
http://jrdesktop.googlecode.com/
http://code.google.com/p/jrdesktop/
02.404309-05-2008http://www.ohloh.net/projects/jrdesktop/
57.271 73409-05-2008
http://en.wikipedia.org/wiki/Java_Remote_Desktop
http://en.wikipedia.org/wiki/Jrdesktop
05.1610415-05-2008
http://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)
35. Délpoiementdusystè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)
36. 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élpoiementdusystème
37. Conclusion
12/01/2016 37
Conception et réalisation d’une application de
Bureau à distance en Java
Conclusion
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. 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
Conclusion
Conception et réalisation d’une application de
Bureau à distance en Java