0% ont trouvé ce document utile (0 vote)
119 vues13 pages

Rapport de TP : Systèmes Distribués

Transféré par

Nada Aoun
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
119 vues13 pages

Rapport de TP : Systèmes Distribués

Transféré par

Nada Aoun
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE

‫الجمهـوريـــة الجـزائـريـــة الديمقراطيـــة الشعبيـــة‬


MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
‫وزارة التعــليـــم العــــالــي والــبحـــــث الـعــــلـمـي‬
UNIVERSITÉ CHADLI BENDJEDID – EL-TARF
‫جـامعــة الشــــــــاذلـي بن جديـــــــــد – الطـــــارف‬
FACULTÉ DES SCIENCES ET DE LA TECHNOLOGIE
‫كليــــــــــــة العلــــــــــــوم والتكنــــولــــوجيــــــــــا‬
DÉPARTEMENT D’INFORMATIQUE
‫قســـــــــم االعــــــالم الآلـــــــي‬

Rapport de TP
Systèmes Distribués

Intitulé …

Domaine : Mathématiques-Informatique (MI)


Filière : Informatique
Spécialité : Systèmes Informatiques Intelligents (SII)
Promotion : Master 1

Préparé par :[ AOUN NADA ]


Chargé du Module :DR. BENTRAD SASSI

AnnéeUniversitaire : 2021-
2022
1ièreAnnée MasterSIISystèmes Distribués (SD)

TABLE DES MATIÈRES


Introduction…………………………………………………………………………………………..

2.1 DÉFINITION , OBJECTIF ET PRINCIPE DU CODE MOBILE :...................................................................................3

2.2 DÉFINITION , OBJECTIF ET PRINCIPE DU CODE MOBILE :...................................................................................3

2.3 DÉMARCHE DE CONNEXION DE DEUX MACHINE :............................................................................................ 3

2.4 LES ÉTAPES A SUIVRE  :.................................................................................................................................... 3

2.5 SYNOPTIQUE DU DÉROULEMENT DE PROGRAMME :........................................................................................ 4

2.6 CODE SOURCE:................................................................................................................................................ 4

2.2 DÉFINITION , OBJECTIF ET PRINCIPE DU PROTOCOL TCP/IP :............................................................................4

2.3 DESCRIPTION DE LA PROGRAMMATION TCP/IP EN JAVA :................................................................................4

2.4 DESCRIPTION DES CLASSE JAVA SERVENT RÉALISÉ  :........................................................................................ 4

2.5 SYNOPTIQUE DU DÉROULEMENT DE PROGRAMME :........................................................................................ 4

2.6 CODE SOURCE:................................................................................................................................................ 4

conclusion

- RAPPORT DE TP
SYSTÈMES DISTRIBUÉS (SD)

2
1ièreAnnée MasterSIISystèmes Distribués (SD)

2. PARTI 1.

2.2 DÉFINITION , OBJECTIF ET PRINCIPE DU CODE MOBILE  :

Le code mobile est tout programme, application ou contenu capable de se déplacer lorsqu'il est intégré dans
un e-mail, un document ou un site Web. Le code mobile utilise un réseau ou des supports de stockage, tels
qu'un lecteur flash USB (Universal Serial Bus), pour exécuter l'exécution de code local à partir d'un autre
système informatique. Le terme est souvent utilisé dans un contexte malveillant, le code mobile crée divers
degrés de dommages à l'ordinateur et au système. Le code mobile est généralement téléchargé via le corps
d'un e-mail HTML ou d'une pièce jointe.[1]

Une applet : est un programme destiné à s'exécuter dans une page HTML visualisée dans un navigateur ou
avec la commande appletviewer du JDK.

L'intérêt d'une applet est de pouvoir intégrer des programmes à l'intérieur de pages web. Cela permet
d'animer ces pages et de leur donner un côté dynamique. En revanche, cela impose des contraintes
drastiques liées aux préoccupation de sécurité.

Lorsque vous entreprenez d'écrire un programme java, vous avez le choix entre écrire un programme
classique et une applet. Si vous voulez animer une page web ou faire une application accessible via le web,
vous devez faire une applet. Sinon, sauf raison très particulière, il est préférable de faire un programme
classique.

Il est important de bien comprendre qu'applet n'est pas synonyme d'application graphique. Un programme
classique peut ouvrir une fenêtre avec des boutons, des images, des menus, une applet aussi. Il faut
comprendre aussi que les applets imposent des contraintes qui ne s'appliquent pas aux programmes
classiques.

Une applet s'exécute dans un environnement contrôlé par le navigateur. Celui-ci dispose d'un JRE (Java
Runtime Environnement), le plus souvent à travers un plugin dédié. Une applet est une classe Java. Le
navigateur va télécharger sur le réseau le code de la classe, puis créer un objet en instanciant cette classe et
associer cet objet à un espace graphique de la page HTML qui le contient. Le navigateur dicte ses règles de
sécurité à travers un objet Java appelé SecurityManager.[2]

- RAPPORT DE TP

2.4 LES ÉTAPES A SUIVRE  :

1-création de nouveau projet,package ,classe l'applet de classe donné par le paquet [Link].
2-déclaration de paket [Link]
SYSTÈMES DISTRIBUÉS (SD)

3-Function to add features to the frame


4-ajouter Champ de saisie simple
5-les bouton et définir les coordonnées pour les boutons spéciaux , numériques et de l'opérateur
6-gestion de mis en page
7- ajouter text dans linterface

8- pour générer un événement doit être enregistré utilise la méthode addActionListener


9-  Fonction pour calculer l'expression

3
1ièreAnnée MasterSIISystèmes Distribués (SD)

10- les boutons et les opérations de calcules


7-utilise une variable de type double pour nos calculs
8-Les condition de calcule
2.5 SYNOPTIQUE DU DÉROULEMENT DE PROGRAMME :

1. When any button on the calculator is clicked, the function actionPerformed is called. Get the button
clicked using getActionCommand.
2. If the button clicked is a digit or decimal point, then either of the following is executed :
a) The digit is concatenated to the the second number if no operator has been encountered.
b) Otherwise, the digit is concatenated to the first number.

3. If the button clicked is the clear button, then clear the input field.

4. If the button clicked is the equals operator, then either of the following is executed :
a) If neither the first number nor the second number is empty, then compute the result and display it in the
frame
b) Otherwise, clear the input field.

5. If any of the button {+,-,*,/} is clicked, then either of the following is executed :
a) If either the operator or the second number is empty, then set the button clicked as the operator.
b) Otherwise, compute the result and display it in the frame.

- RAPPORT DE TP
SYSTÈMES DISTRIBUÉS (SD)

Figure 1 :

•AWT (Abstract Windowing Toolkit)


toujours utilisée : gestionnaires d'événements et de dispositions > composants lourds, liés à des
composants natifs.
• Composante et Conteneurs de AWT utilise :

4
1ièreAnnée MasterSIISystèmes Distribués (SD)

• Composants de saisie :

➤ TextField: Champ de saisie simple.

• Composants de choix :

➤ Button Bouton.

• Les gestionnaires de disposition :

➤ le FlowLayout choisi par défaut pour les Applet et Panel, place les composants de gauche à
droite et de haut en bas, setLayout(new FlowLayout()) indique que le conteneur courant utilise un
gestionnaire FlowLayout, et add (nom du composant) indique que l'on rajoute le composant cité.

➤le BorderLayout est choisi par défaut pour les Window, Dialog et Frame et dispose les
composants selon 5 attributs (North, South, West, East et Center.
add() a 2 paramètres : la position et le composant à rajouter.

le GridLayout met chaque composant sur une case d'une grille dont on donne la dimension à la
➤création du gestionnaire. Cela se passe de la même manière que pour un FlowLayout, mais
les composants

2.6 CODE SOURCE:


1. /*Java Program to Demonstrate a Basic Calculator using Applet*/
2. import [Link].*;
3. import [Link].*;
4. import [Link].*;
5. public class Calculator extends Applet implements ActionListener
6. {
7. TextField inp;
8. //Function to add features to the frame
9. public void init()
10. {
11. setBackground([Link]);
12. setLayout(null);
13. int i;
14. inp = new TextField(); - RAPPORT DE TP
15. [Link](150,100,270,50);
16. [Link](inp);
17. Button button[] = new Button[10];
18. for(i=0;i<10;i++)
19. {
20. button[i] = new Button([Link](9-i));
21. button[i].setBounds(150+((i%3)*50),150+
SYSTÈMES DISTRIBUÉS (SD)

((i/3)*50),50,50);
22. [Link](button[i]);
23. button[i].addActionListener(this);
24. }
25. Button dec=new Button(".");
26. [Link](200,300,50,50);
27. [Link](dec);
28. [Link](this);
29.  
30. Button clr=new Button("C");
31. [Link](250,300,50,50);
32. [Link](clr);

5
1ièreAnnée MasterSIISystèmes Distribués (SD)

33. [Link](this);
34.  
35. Button operator[] = new Button[5];
36. operator[0]=new Button("/");
37. operator[1]=new Button("*");
38. operator[2]=new Button("-");
39. operator[3]=new Button("+");
40. operator[4]=new Button("=");
41. for(i=0;i<4;i++)
42. {
43. operator[i].setBounds(300,150+(i*50),50,50);
44. [Link](operator[i]);
45. operator[i].addActionListener(this);
46. }
47. operator[4].setBounds(350,300,70,50);
48. [Link](operator[4]);
49. operator[4].addActionListener(this);
50. }
51. String num1="";
52. String op="";
53. String num2="";
54. //Function to calculate the expression
55. public void actionPerformed(ActionEvent e)
56. {
57. String button = [Link]();
58. char ch = [Link](0);
59. if(ch>='0' && ch<='9'|| ch=='.')
60. {
61. if (![Link](""))
62. num2 = num2 + button;
63. else
64. num1 = num1 + button;
65. [Link](num1+op+num2);
66. }
67. else if(ch=='C')
68. {
69. num1 = op = num2 = "";
70. [Link]("");
71. }
72. else if (ch =='=')
73. {
74. if(![Link]("") && ![Link](""))
75. { - RAPPORT DE TP
76. double temp;
77. double n1=[Link](num1);
78. double n2=[Link](num2);
79. if(n2==0 && [Link]("/"))
80. {
81. [Link](num1+op+num2+" = Zero Division
Error");
82. num1 = op = num2 = "";
SYSTÈMES DISTRIBUÉS (SD)

83. }
84. else
85. {
86. if ([Link]("+"))
87. temp = n1 + n2;
88. else if ([Link]("-"))
89. temp = n1 - n2;
90. else if ([Link]("/"))
91. temp = n1/n2;
92. else
93. temp = n1*n2;
94. [Link](num1+op+num2+" = "+temp);

6
1ièreAnnée MasterSIISystèmes Distribués (SD)

95. num1 = [Link](temp);


96. op = num2 = "";
97. }
98. }
99. else
100. {
101. num1 = op = num2 = "";
102. [Link]("");
103. }
104. }
105. else
106. {
107. if ([Link]("") || [Link](""))
108. op = button;
109. else
110. {
111. double temp;
112. double n1=[Link](num1);
113. double n2=[Link](num2);
114. if(n2==0 && [Link]("/"))
115. {
116. [Link](num1+op+num2+" = Zero Division
Error");
117. num1 = op = num2 = "";
118. }
119. else
120. {
121. if ([Link]("+"))
122. temp = n1 + n2;
123. else if ([Link]("-"))
124. temp = n1 - n2;
125. else if ([Link]("/"))
126. temp = n1/n2;
127. else
128. temp = n1*n2;
129. num1 = [Link](temp);
130. op = button;
131. num2 = "";
132. }
133. }
134. [Link](num1+op+num2);
135. }
136. } - RAPPORT DE TP
137. }
138. /*
139. <applet code = [Link] width=600 height=600>
140. </applet>
141. */
SYSTÈMES DISTRIBUÉS (SD)

4. PARTI 2

2.2 DÉFINITION , OBJECTIF ET PRINCIPE DU PROTOCOL TCP/IP  :

7
1ièreAnnée MasterSIISystèmes Distribués (SD)

TCP/IP signifie Transmission Control Protocol/Internet Protocol (Protocol de contrôle des


transmissions/Protocole Internet). TCP/IP est un ensemble de règles normalisées permettant aux
ordinateurs de communiquer sur un réseau tel qu'Internet .[3]
TCP : protocole destiné aux applications nécessitant une communication fiable et robuste. Permet d’établir
une connexion fiable entre deux machines .
pas de perte d’information .
respect de l’ordre dans lequel les informations sont envoyées et reçues .
les applications sont prévenues si la communication est interrompue .[4]

2.3 DESCRIPTION DE LA PROGRAMMATION TCP/IP EN JAVA :

2.4 DESCRIPTION DES CLASSE JAVA SERVENT RÉALISÉ  :

= [Link]();) et affichage de celui-ci à l'écran. Enfin, on ferme la socket quand on sort de la boucle.

2.5 SYNOPTIQUE DU DÉROULEMENT DE PROGRAMME :

Serveur

On crée une socket serveur ( le port est passé en argument)

Attente d'une connexion

Une connexion a été ouverte

On crée un flot d'entrée et un de sortie

On boucle sur l'echo


- RAPPORT DE TP

On lit une ligne en entrée

On quitte si c'est égal à "FIN"


SYSTÈMES DISTRIBUÉS (SD)

On renvoie l'echo au client

Le client s'est déconnecté

On ferme la socket de service

Client

8
1ièreAnnée MasterSIISystèmes Distribués (SD)

// On crée un objet InetAdress sur l'interface de loopback

// On crée une socket

// On crée 2 flots d'entrée et un de sortie

// On envoie du texte au serveur et on

// affiche l'echo reçu

// Saisie du texte à envoyer au serveur

// Si on entre "FIN", on quitte

// On envoie le texte saisi au serveur

// On affiche l'écho du serveur

// On ferme la socket

2.6 CODE SOURCE:

//[Link]

1. import [Link].*;

2. import [Link].*;
- RAPPORT DE TP
3. class ServeurEcho {

4. public static void main(String [] argv) {

5. try {
SYSTÈMES DISTRIBUÉS (SD)

6. ServerSocket s_ecoute = new ServerSocket([Link] (argv[0]).intValue());

7. [Link]("Serveur démarré sur la socket d'écoute " + s_ecoute);

8. Socket s_service = s_ecoute.accept();

9. [Link]("Ouverture de la connexion sur la socket de service " + s_service);

9
1ièreAnnée MasterSIISystèmes Distribués (SD)

10. BufferedReader entree = new BufferedReader (new InputStreamReader

( s_service.getInputStream()));

11. PrintWriter sortie = new PrintWriter ( new OutputStreamWriter

( s_service.getOutputStream()));

12. while (true){

13. String buff = [Link]();

14. if ([Link]("FIN")) break;

15. [Link](buff);

16. [Link]();

17. }

18. [Link]("Fermeture de la connexion...");

19. s_service.close();

20. }

21. catch (Exception e) {

22. return;}}}

- RAPPORT DE TP
1.
SYSTÈMES DISTRIBUÉS (SD)

1
1ièreAnnée MasterSIISystèmes Distribués (SD)

RÉFÉRENCES

Vous pouvez partager vos infos en nous donnant les références : livres et sites web que vous avez trouvés.

Pour un livre, vous devez donner les noms des auteurs, le titre, l’éditeur, le numéro d’édition (si disponible) et l’année
d’édition.

Exemple :
[1] A. Aho, R. Sethi, [Link], « Compilateurs : principes, techniques et outils », édition Dunod, 2000.

Pour les sites Web, il faut, de préférence, préciser le nom de l’auteur si c’est indiqué ou à défaut le nom de
l’organisation. Il faut indiquer le titre de la page ainsi que son adresse et la date de consultation.

Exemple :
[2] Documentation JavaFX, Oracle, [Link] date de consultation : 26 décembre 2022.
[1] [Link] , date de consultation : 26 décembre 2022.
[2][Link]
%20un%20programme,leur%20donner%20un%20c%C3%B4t%C3%A9%20dynamique.

[3] [Link] date de consultation : 13 mai 2022.

[4] [Link] date de consultation : 13 mai 2022.


[4][Link]
u2KigYYu5RL-I0dYshCI70fdKXfW5XiLrhlNI57ItqCh5oFw, date de consultation : 27decembre 2022.

[5]

- RAPPORT DE TP
SYSTÈMES DISTRIBUÉS (SD)

1
1ièreAnnée MasterSIISystèmes Distribués (SD)

Rapport de TP
Systèmes Distribués (SD)

Intitulé …

- RAPPORT DE TP
SYSTÈMES DISTRIBUÉS (SD)

Année Pédagogique : 1ère Année Master SII


Année Universitaire : 2021/2022

1
1ièreAnnée MasterSIISystèmes Distribués (SD)

- RAPPORT DE TP
SYSTÈMES DISTRIBUÉS (SD)

Vous aimerez peut-être aussi