diff --git a/2A/Maths/tp/Automates/1_tp/JFL.jar b/2A/Maths/tp/Automates/1_tp/JFL.jar
new file mode 100644
index 0000000..ed42455
Binary files /dev/null and b/2A/Maths/tp/Automates/1_tp/JFL.jar differ
diff --git a/2A/Maths/tp/Automates/1_tp/TP2DA1.jff b/2A/Maths/tp/Automates/1_tp/TP2DA1.jff
new file mode 100644
index 0000000..358295e
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/TP2DA1.jff
@@ -0,0 +1,51 @@
+
+ fa
+
+
+
+ 53.0
+ 123.0
+
+
+
+ 159.0
+ 123.0
+
+
+ 269.0
+ 124.0
+
+
+
+
+ 2
+ 2
+ a
+
+
+ 0
+ 0
+ b
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 2
+ a
+
+
+ 1
+ 0
+ b
+
+
+ 0
+ 1
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/TP2NDA1.jff b/2A/Maths/tp/Automates/1_tp/TP2NDA1.jff
new file mode 100644
index 0000000..0767e2f
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/TP2NDA1.jff
@@ -0,0 +1,51 @@
+
+ fa
+
+
+
+ 69.0
+ 109.0
+
+
+
+ 193.0
+ 109.0
+
+
+ 320.0
+ 109.0
+
+
+
+
+ 0
+ 0
+ a
+
+
+ 2
+ 2
+ a
+
+
+ 1
+ 2
+ a
+
+
+ 0
+ 0
+ b
+
+
+ 2
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-1.jff b/2A/Maths/tp/Automates/1_tp/exo1-1.jff
new file mode 100644
index 0000000..1d0ff86
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-1.jff
@@ -0,0 +1,31 @@
+
+ fa
+
+
+
+ 48.0
+ 79.0
+
+
+
+ 151.0
+ 80.0
+
+
+ 258.0
+ 88.0
+
+
+
+
+ 1
+ 2
+ a,b
+
+
+ 0
+ 1
+ a,b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-10.jff b/2A/Maths/tp/Automates/1_tp/exo1-10.jff
new file mode 100644
index 0000000..52b51c7
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-10.jff
@@ -0,0 +1,110 @@
+
+ fa
+
+
+
+ 67.0
+ 146.0
+
+
+ 209.0
+ 50.0
+
+
+ 213.0
+ 144.0
+
+
+ 207.0
+ 250.0
+
+
+ 344.0
+ 56.0
+
+
+ 345.0
+ 134.0
+
+
+ 345.0
+ 238.0
+
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 3
+ 3
+ c
+
+
+ 0
+ 1
+ a
+
+
+ 0
+ 2
+ b
+
+
+ 3
+ 6
+ a,b,c
+
+
+ 6
+ 3
+ c
+
+
+ 2
+ 5
+ a,b,c
+
+
+ 5
+ 2
+ b
+
+
+ 0
+ 3
+ c
+
+
+ 6
+ 6
+ a,b
+
+
+ 4
+ 4
+ b,c
+
+
+ 5
+ 5
+ a,c
+
+
+ 4
+ 1
+ a
+
+
+ 1
+ 4
+ a,b,c
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-2.jff b/2A/Maths/tp/Automates/1_tp/exo1-2.jff
new file mode 100644
index 0000000..e3eb200
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-2.jff
@@ -0,0 +1,46 @@
+
+ fa
+
+
+
+ 78.0
+ 159.0
+
+
+
+ 209.0
+ 161.0
+
+
+ 339.0
+ 161.0
+
+
+
+
+ 0
+ 0
+ b
+
+
+ 1
+ 1
+ b
+
+
+ 2
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 1
+ 2
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-3.jff b/2A/Maths/tp/Automates/1_tp/exo1-3.jff
new file mode 100644
index 0000000..d880b7a
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-3.jff
@@ -0,0 +1,41 @@
+
+ fa
+
+
+
+ 72.0
+ 117.0
+
+
+
+ 188.0
+ 120.0
+
+
+ 305.0
+ 122.0
+
+
+
+
+ 0
+ 1
+ a
+
+
+ 2
+ 2
+ a,b
+
+
+ 0
+ 0
+ ,b
+
+
+ 1
+ 2
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-4.jff b/2A/Maths/tp/Automates/1_tp/exo1-4.jff
new file mode 100644
index 0000000..adcb966
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-4.jff
@@ -0,0 +1,27 @@
+
+ fa
+
+
+
+ 95.0
+ 119.0
+
+
+
+ 215.0
+ 120.0
+
+
+
+
+ 1
+ 1
+ a,b
+
+
+ 0
+ 1
+ b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-5.jff b/2A/Maths/tp/Automates/1_tp/exo1-5.jff
new file mode 100644
index 0000000..91419bd
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-5.jff
@@ -0,0 +1,45 @@
+
+ fa
+
+
+
+ 59.0
+ 133.0
+
+
+
+ 130.0
+ 136.0
+
+
+ 206.0
+ 136.0
+
+
+ 283.0
+ 139.0
+
+
+
+
+ 1
+ 2
+ a
+
+
+ 0
+ 0
+ a,b
+
+
+ 0
+ 1
+ b
+
+
+ 2
+ 3
+ b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-6.jff b/2A/Maths/tp/Automates/1_tp/exo1-6.jff
new file mode 100644
index 0000000..45e11bf
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-6.jff
@@ -0,0 +1,18 @@
+
+ fa
+
+
+
+ 154.0
+ 143.0
+
+
+
+
+
+ 0
+ 0
+ a,b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-7.jff b/2A/Maths/tp/Automates/1_tp/exo1-7.jff
new file mode 100644
index 0000000..0ba4209
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-7.jff
@@ -0,0 +1,78 @@
+
+ fa
+
+
+
+ 48.0
+ 113.0
+
+
+
+ 126.0
+ 118.0
+
+
+ 206.0
+ 117.0
+
+
+ 279.0
+ 117.0
+
+
+ 343.0
+ 121.0
+
+
+ 473.0
+ 108.0
+
+
+
+
+ 0
+ 0
+ a
+
+
+ 5
+ 5
+ a
+
+
+ 0
+ 1
+ a
+
+
+ 0
+ 0
+ b
+
+
+ 5
+ 5
+ b
+
+
+ 2
+ 3
+ b
+
+
+ 3
+ 4
+ c
+
+
+ 1
+ 2
+ a
+
+
+ 4
+ 5
+ c
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-8.jff b/2A/Maths/tp/Automates/1_tp/exo1-8.jff
new file mode 100644
index 0000000..2d50e9a
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-8.jff
@@ -0,0 +1,36 @@
+
+ fa
+
+
+
+ 47.0
+ 87.0
+
+
+
+
+ 133.0
+ 155.0
+
+
+ 230.0
+ 89.0
+
+
+
+ 0
+ 1
+ a,b,c
+
+
+ 1
+ 2
+ a,b,c
+
+
+ 2
+ 0
+ a,b,c
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/exo1-9.jff b/2A/Maths/tp/Automates/1_tp/exo1-9.jff
new file mode 100644
index 0000000..a657526
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/exo1-9.jff
@@ -0,0 +1,36 @@
+
+ fa
+
+
+
+ 63.0
+ 106.0
+
+
+
+
+ 208.0
+ 64.0
+
+
+ 360.0
+ 117.0
+
+
+
+ 1
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 2
+ 0
+ c
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/1_tp/preconfig.jff b/2A/Maths/tp/Automates/1_tp/preconfig.jff
new file mode 100644
index 0000000..1e3aa9a
--- /dev/null
+++ b/2A/Maths/tp/Automates/1_tp/preconfig.jff
@@ -0,0 +1,58 @@
+
+ fa
+
+
+
+ 131.0
+ 178.0
+
+
+
+ 214.0
+ 177.0
+
+
+ 275.0
+ 105.0
+
+
+ 232.0
+ 37.0
+
+
+ 142.0
+ 34.0
+
+
+ 83.0
+ 97.0
+
+
+
+
+ 3
+ 4
+ l
+
+
+ 4
+ 5
+ o
+
+
+ 1
+ 2
+ e
+
+
+ 0
+ 1
+ h
+
+
+ 2
+ 3
+ l
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/JFL.jar b/2A/Maths/tp/Automates/2_tp/JFL.jar
new file mode 100644
index 0000000..ed42455
Binary files /dev/null and b/2A/Maths/tp/Automates/2_tp/JFL.jar differ
diff --git a/2A/Maths/tp/Automates/2_tp/TP2 Automates Vers Expressions Regulieres.pdf b/2A/Maths/tp/Automates/2_tp/TP2 Automates Vers Expressions Regulieres.pdf
new file mode 100644
index 0000000..d3a8ae1
Binary files /dev/null and b/2A/Maths/tp/Automates/2_tp/TP2 Automates Vers Expressions Regulieres.pdf differ
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1-2.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1-2.jff
new file mode 100644
index 0000000..6056210
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1-2.jff
@@ -0,0 +1,65 @@
+
+ fa
+
+
+
+ 141.0
+ 253.0
+
+
+
+ 279.0
+ 154.0
+
+
+ 269.0
+ 354.0
+
+
+ 386.0
+ 261.0
+
+
+
+
+ 2
+ 2
+ a
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 1
+ b
+
+
+ 2
+ 3
+ b
+
+
+ 0
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 1
+ 3
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1.jff
new file mode 100644
index 0000000..6056210
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo1.jff
@@ -0,0 +1,65 @@
+
+ fa
+
+
+
+ 141.0
+ 253.0
+
+
+
+ 279.0
+ 154.0
+
+
+ 269.0
+ 354.0
+
+
+ 386.0
+ 261.0
+
+
+
+
+ 2
+ 2
+ a
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 1
+ b
+
+
+ 2
+ 3
+ b
+
+
+ 0
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 1
+ 3
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2-2.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2-2.jff
new file mode 100644
index 0000000..c8260d2
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2-2.jff
@@ -0,0 +1,80 @@
+
+ fa
+
+
+
+ 65.0
+ 469.0
+
+
+
+ 175.0
+ 553.0
+
+
+ 175.0
+ 405.0
+
+
+ 386.0
+ 565.0
+
+
+
+ 382.0
+ 400.0
+
+
+
+
+ 0
+ 1
+ b
+
+
+ 1
+ 1
+ a
+
+
+ 4
+ 4
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 3
+ 3
+ b
+
+
+ 1
+ 3
+ b
+
+
+ 3
+ 1
+ a
+
+
+ 0
+ 2
+ a
+
+
+ 4
+ 2
+ b
+
+
+ 2
+ 4
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2.jff
new file mode 100644
index 0000000..c8260d2
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo2.jff
@@ -0,0 +1,80 @@
+
+ fa
+
+
+
+ 65.0
+ 469.0
+
+
+
+ 175.0
+ 553.0
+
+
+ 175.0
+ 405.0
+
+
+ 386.0
+ 565.0
+
+
+
+ 382.0
+ 400.0
+
+
+
+
+ 0
+ 1
+ b
+
+
+ 1
+ 1
+ a
+
+
+ 4
+ 4
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 3
+ 3
+ b
+
+
+ 1
+ 3
+ b
+
+
+ 3
+ 1
+ a
+
+
+ 0
+ 2
+ a
+
+
+ 4
+ 2
+ b
+
+
+ 2
+ 4
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3-3.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3-3.jff
new file mode 100644
index 0000000..e507e32
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3-3.jff
@@ -0,0 +1,46 @@
+
+ fa
+
+
+
+ 97.0
+ 431.0
+
+
+
+ 358.0
+ 438.0
+
+
+
+ 240.0
+ 350.0
+
+
+
+ 2
+ 2
+ aa
+
+
+ 2
+ 1
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 0
+ 2
+ b
+
+
+ 1
+ 0
+ b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3.jff
new file mode 100644
index 0000000..e507e32
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo3.jff
@@ -0,0 +1,46 @@
+
+ fa
+
+
+
+ 97.0
+ 431.0
+
+
+
+ 358.0
+ 438.0
+
+
+
+ 240.0
+ 350.0
+
+
+
+ 2
+ 2
+ aa
+
+
+ 2
+ 1
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 0
+ 2
+ b
+
+
+ 1
+ 0
+ b
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6-2.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6-2.jff
new file mode 100644
index 0000000..8d761ee
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6-2.jff
@@ -0,0 +1,41 @@
+
+ fa
+
+
+
+ 187.0
+ 303.0
+
+
+
+
+ 318.0
+ 245.0
+
+
+ 455.0
+ 306.0
+
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 0
+ a
+
+
+ 1
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6.jff
new file mode 100644
index 0000000..8d761ee
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo6.jff
@@ -0,0 +1,41 @@
+
+ fa
+
+
+
+ 187.0
+ 303.0
+
+
+
+
+ 318.0
+ 245.0
+
+
+ 455.0
+ 306.0
+
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 0
+ a
+
+
+ 1
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7-2.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7-2.jff
new file mode 100644
index 0000000..6f5ed29
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7-2.jff
@@ -0,0 +1,70 @@
+
+ fa
+
+
+
+ 143.0
+ 187.0
+
+
+
+ 371.0
+ 184.0
+
+
+ 141.0
+ 392.0
+
+
+ 399.0
+ 398.0
+
+
+
+
+ 0
+ 2
+ b
+
+
+ 1
+ 3
+ b
+
+
+ 2
+ 2
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 0
+ b
+
+
+ 1
+ 2
+ a
+
+
+ 3
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 3
+ 2
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7.jff
new file mode 100644
index 0000000..6f5ed29
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo7.jff
@@ -0,0 +1,70 @@
+
+ fa
+
+
+
+ 143.0
+ 187.0
+
+
+
+ 371.0
+ 184.0
+
+
+ 141.0
+ 392.0
+
+
+ 399.0
+ 398.0
+
+
+
+
+ 0
+ 2
+ b
+
+
+ 1
+ 3
+ b
+
+
+ 2
+ 2
+ a
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 0
+ b
+
+
+ 1
+ 2
+ a
+
+
+ 3
+ 2
+ b
+
+
+ 0
+ 1
+ a
+
+
+ 3
+ 2
+ a
+
+
+
\ No newline at end of file
diff --git a/2A/Maths/tp/Automates/2_tp/jflap_exo/exo8.jff b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo8.jff
new file mode 100644
index 0000000..277e5ed
--- /dev/null
+++ b/2A/Maths/tp/Automates/2_tp/jflap_exo/exo8.jff
@@ -0,0 +1,75 @@
+
+ fa
+
+
+
+ 21.0
+ 259.0
+
+
+
+ 184.0
+ 117.0
+
+
+ 179.0
+ 357.0
+
+
+ 342.0
+ 249.0
+
+
+
+
+ 0
+ 1
+ a
+
+
+ 0
+ 2
+ b
+
+
+ 0
+ 0
+ a
+
+
+ 1
+ 1
+ a
+
+
+ 2
+ 2
+ a
+
+
+ 0
+ 0
+ b
+
+
+ 1
+ 1
+ b
+
+
+ 2
+ 2
+ b
+
+
+ 1
+ 3
+ a
+
+
+ 2
+ 3
+ b
+
+
+
\ No newline at end of file
diff --git a/2A/PPP/s2/PPP/tp/evaluationPPP.docx b/2A/PPP/s2/PPP/tp/evaluationPPP.docx
index d0f0880..fc1e2de 100644
Binary files a/2A/PPP/s2/PPP/tp/evaluationPPP.docx and b/2A/PPP/s2/PPP/tp/evaluationPPP.docx differ
diff --git a/2A/QualiteDev/.gitignore b/2A/QualiteDev/.gitignore
new file mode 100644
index 0000000..e10e727
--- /dev/null
+++ b/2A/QualiteDev/.gitignore
@@ -0,0 +1 @@
+/.metadata/
diff --git a/2A/QualiteDev/2_tp/test_javaproject/.settings/org.eclipse.jdt.core.prefs b/2A/QualiteDev/2_tp/test_javaproject/.settings/org.eclipse.jdt.core.prefs
index 8c9943d..9478cb1 100644
--- a/2A/QualiteDev/2_tp/test_javaproject/.settings/org.eclipse.jdt.core.prefs
+++ b/2A/QualiteDev/2_tp/test_javaproject/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,6 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
diff --git a/2A/QualiteDev/2_tp/test_javaproject/.classpath b/2A/QualiteDev/testQualiteDev/.classpath
similarity index 71%
rename from 2A/QualiteDev/2_tp/test_javaproject/.classpath
rename to 2A/QualiteDev/testQualiteDev/.classpath
index 257ce1d..0c1395d 100644
--- a/2A/QualiteDev/2_tp/test_javaproject/.classpath
+++ b/2A/QualiteDev/testQualiteDev/.classpath
@@ -1,11 +1,9 @@
-
+
-
-
diff --git a/2A/QualiteDev/testQualiteDev/.gitignore b/2A/QualiteDev/testQualiteDev/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/2A/QualiteDev/testQualiteDev/.project b/2A/QualiteDev/testQualiteDev/.project
new file mode 100644
index 0000000..4437c18
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/.project
@@ -0,0 +1,17 @@
+
+
+ testQualiteDev
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.core.resources.prefs b/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.jdt.core.prefs b/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b635231
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=18
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=18
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=18
diff --git a/2A/QualiteDev/testQualiteDev/src/ChargeurTelecommande.java b/2A/QualiteDev/testQualiteDev/src/ChargeurTelecommande.java
new file mode 100644
index 0000000..4278686
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/ChargeurTelecommande.java
@@ -0,0 +1,38 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class ChargeurTelecommande {
+
+ public static void main(String[] args) {
+
+ Telecommande remoteControl = new Telecommande();
+
+ Lampe lampe = new Lampe("Séjour");
+ TV tv = new TV("Séjour");
+ Stereo stereo = new Stereo("Séjour");
+ Jacuzzi jacuzzi = new Jacuzzi();
+
+ CommandeAllumerLampe lampeAllumee = new CommandeAllumerLampe(lampe);
+ CommandeAllumerStereo stereoAllumee = new CommandeAllumerStereo(stereo);
+ CommandeAllumerTV tvAllumee = new CommandeAllumerTV(tv);
+ CommandeAllumerJacuzzi jacuzziAllume = new CommandeAllumerJacuzzi(jacuzzi);
+ CommandeEteindreLampe lampeEteinte = new CommandeEteindreLampe(lampe);
+ CommandeEteindreStereo stereoEteinte = new CommandeEteindreStereo(stereo);
+ CommandeEteindreTV tvEteinte = new CommandeEteindreTV(tv);
+ CommandeEteindreJacuzzi jacuzziEteint = new CommandeEteindreJacuzzi(jacuzzi);
+
+ Commande[] allumageGroupe = { lampeAllumee, stereoAllumee, tvAllumee, jacuzziAllume};
+ Commande[] extinctionGroupe = { lampeEteinte, stereoEteinte, tvEteinte, jacuzziEteint};
+
+ MacroCommande macroAllumageGroupe = new MacroCommande(allumageGroupe);
+ MacroCommande macroExtinctionGroupe = new MacroCommande(extinctionGroupe);
+
+ remoteControl.setCommande(0, macroAllumageGroupe, macroExtinctionGroupe);
+
+ System.out.println(remoteControl);
+ System.out.println("---Exécution de Macro Marche ---");
+ remoteControl.boutonMarchePresse(0);
+ System.out.println("--- Exécution de Macro Arret ---");
+ remoteControl.boutonArretPresse(0);
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Commande.java b/2A/QualiteDev/testQualiteDev/src/Commande.java
new file mode 100644
index 0000000..4cdb3a7
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Commande.java
@@ -0,0 +1,7 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public interface Commande {
+ public void executer();
+ public void annuler();
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerJacuzzi.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerJacuzzi.java
new file mode 100644
index 0000000..2ec8fcc
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerJacuzzi.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerJacuzzi implements Commande {
+ Jacuzzi jacuzzi;
+
+ public CommandeAllumerJacuzzi(Jacuzzi jacuzzi) {
+ this.jacuzzi = jacuzzi;
+ }
+ public void executer() {
+ jacuzzi.allumer();
+ jacuzzi.setTemperature(40);
+ jacuzzi.bouillonner();
+ }
+ public void annuler() {
+ jacuzzi.eteindre();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampe.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampe.java
new file mode 100644
index 0000000..c1ed4d9
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampe.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerLampe implements Commande {
+ Lampe lampe;
+
+ public CommandeAllumerLampe(Lampe lampe) {
+ this.lampe = lampe;
+ }
+
+ public void executer() {
+ lampe.marche();
+ }
+
+ public void annuler() {
+ lampe.arret();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampeSejour.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampeSejour.java
new file mode 100644
index 0000000..f52826e
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerLampeSejour.java
@@ -0,0 +1,16 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerLampeSejour implements Commande {
+ Lampe lampe;
+
+ public CommandeAllumerLampeSejour(Lampe lampe) {
+ this.lampe = lampe;
+ }
+ public void executer() {
+ lampe.arret();
+ }
+ public void annuler() {
+ lampe.marche();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereo.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereo.java
new file mode 100644
index 0000000..1b90dd2
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereo.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerStereo implements Commande {
+ Stereo stereo;
+
+ public CommandeAllumerStereo(Stereo stereo) {
+ this.stereo = stereo;
+ }
+
+ public void executer() {
+ stereo.marche();
+ }
+
+ public void annuler() {
+ stereo.arret();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereoAvecCD.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereoAvecCD.java
new file mode 100644
index 0000000..d6396e9
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerStereoAvecCD.java
@@ -0,0 +1,20 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerStereoAvecCD implements Commande {
+ Stereo stereo;
+
+ public CommandeAllumerStereoAvecCD(Stereo stereo) {
+ this.stereo = stereo;
+ }
+
+ public void executer() {
+ stereo.marche();
+ stereo.setCD();
+ stereo.setVolume(11);
+ }
+
+ public void annuler() {
+ stereo.arret();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeAllumerTV.java b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerTV.java
new file mode 100644
index 0000000..a5ab6fc
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeAllumerTV.java
@@ -0,0 +1,19 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeAllumerTV implements Commande {
+ TV tv;
+
+ public CommandeAllumerTV(TV tv) {
+ this.tv= tv;
+ }
+
+ public void executer() {
+ tv.marche();
+ tv.selectionnerCanal();
+ }
+
+ public void annuler() {
+ tv.arret();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreJacuzzi.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreJacuzzi.java
new file mode 100644
index 0000000..1167659
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreJacuzzi.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreJacuzzi implements Commande {
+ Jacuzzi jacuzzi;
+
+ public CommandeEteindreJacuzzi(Jacuzzi jacuzzi) {
+ this.jacuzzi = jacuzzi;
+ }
+
+ public void executer() {
+ jacuzzi.setTemperature(36);
+ jacuzzi.eteindre();
+ }
+ public void annuler() {
+ jacuzzi.allumer();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampe.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampe.java
new file mode 100644
index 0000000..0cf9e8a
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampe.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreLampe implements Commande {
+ Lampe lampe;
+
+ public CommandeEteindreLampe(Lampe lampe) {
+ this.lampe = lampe;
+ }
+
+ public void executer() {
+ lampe.arret();
+ }
+
+ public void annuler() {
+ lampe.marche();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampeSejour.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampeSejour.java
new file mode 100644
index 0000000..979d01e
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreLampeSejour.java
@@ -0,0 +1,16 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreLampeSejour implements Commande {
+ Lampe lampe;
+
+ public CommandeEteindreLampeSejour(Lampe lampe) {
+ this.lampe = lampe;
+ }
+ public void executer() {
+ lampe.marche();
+ }
+ public void annuler() {
+ lampe.arret();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreStereo.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreStereo.java
new file mode 100644
index 0000000..4222b75
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreStereo.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreStereo implements Commande {
+ Stereo stereo;
+
+ public CommandeEteindreStereo(Stereo stereo) {
+ this.stereo = stereo;
+ }
+
+ public void executer() {
+ stereo.arret();
+ }
+
+ public void annuler() {
+ stereo.marche();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreTV.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreTV.java
new file mode 100644
index 0000000..a6ce9c6
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreTV.java
@@ -0,0 +1,18 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreTV implements Commande {
+ TV tv;
+
+ public CommandeEteindreTV(TV tv) {
+ this.tv= tv;
+ }
+
+ public void executer() {
+ tv.arret();
+ }
+
+ public void annuler() {
+ tv.marche();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeEteindreVentilateur.java b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreVentilateur.java
new file mode 100644
index 0000000..a96d313
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeEteindreVentilateur.java
@@ -0,0 +1,23 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeEteindreVentilateur implements Commande {
+ Ventilateur ventilateur;
+ int derniereVitesse;
+
+ public CommandeEteindreVentilateur(Ventilateur ventilateur) {
+ this.ventilateur = ventilateur;
+ }
+ public void executer() {
+ derniereVitesse = ventilateur.getVitesse();
+ ventilateur.arreter();
+ }
+ public void annuler() {
+ switch (derniereVitesse) {
+ case Ventilateur.RAPIDE: ventilateur.rapide(); break;
+ case Ventilateur.MOYEN: ventilateur.moyen(); break;
+ case Ventilateur.LENT: ventilateur.lent(); break;
+ default: ventilateur.arreter(); break;
+ }
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurMoyen.java b/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurMoyen.java
new file mode 100644
index 0000000..eef5c08
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurMoyen.java
@@ -0,0 +1,23 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeVentilateurMoyen implements Commande {
+ Ventilateur ventilateur;
+ int derniereVitesse;
+
+ public CommandeVentilateurMoyen(Ventilateur ventilateur) {
+ this.ventilateur = ventilateur;
+ }
+ public void executer() {
+ derniereVitesse = ventilateur.getVitesse();
+ ventilateur.moyen();
+ }
+ public void annuler() {
+ switch (derniereVitesse) {
+ case Ventilateur.RAPIDE: ventilateur.rapide(); break;
+ case Ventilateur.MOYEN: ventilateur.moyen(); break;
+ case Ventilateur.LENT: ventilateur.lent(); break;
+ default: ventilateur.arreter(); break;
+ }
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurRapide.java b/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurRapide.java
new file mode 100644
index 0000000..acde725
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/CommandeVentilateurRapide.java
@@ -0,0 +1,23 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class CommandeVentilateurRapide implements Commande {
+ Ventilateur ventilateur;
+ int derniereVitesse;
+
+ public CommandeVentilateurRapide(Ventilateur ventilateur) {
+ this.ventilateur = ventilateur;
+ }
+ public void executer() {
+ derniereVitesse = ventilateur.getVitesse();
+ ventilateur.rapide();
+ }
+ public void annuler() {
+ switch (derniereVitesse) {
+ case Ventilateur.RAPIDE: ventilateur.rapide(); break;
+ case Ventilateur.MOYEN: ventilateur.moyen(); break;
+ case Ventilateur.LENT: ventilateur.lent(); break;
+ default: ventilateur.arreter(); break;
+ }
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Jacuzzi.java b/2A/QualiteDev/testQualiteDev/src/Jacuzzi.java
new file mode 100644
index 0000000..c8e0f66
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Jacuzzi.java
@@ -0,0 +1,54 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class Jacuzzi {
+ boolean allume;
+ int temperature;
+
+ public Jacuzzi() {
+ }
+
+ public void allumer() {
+ allume = true;
+ }
+
+ public void eteindre() {
+ allume = false;
+ }
+
+ public void bouillonner() {
+ if (allume) {
+ System.out.println("Le jaccuzi bouillonne !");
+ }
+ }
+
+ public void marche() {
+ if (allume) {
+ System.out.println("Le jaccuzi est en marche");
+ }
+ }
+
+ public void arret() {
+ if (allume) {
+ System.out.println("Le jaccuzi est arrêté");
+ }
+ }
+
+ public void setTemperature(int temperature) {
+ if (temperature > this.temperature) {
+ System.out.println("Le jacuzzi chauffe à " + temperature + "°");
+ }
+ else {
+ System.out.println("Le jaccuzi refroidit à " + temperature + "°");
+ }
+ this.temperature = temperature;
+ }
+
+ public boolean getAllume() {
+ return this.allume;
+ }
+
+ public int getTemperature() {
+ return this.temperature;
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Lampe.java b/2A/QualiteDev/testQualiteDev/src/Lampe.java
new file mode 100644
index 0000000..fb449b0
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Lampe.java
@@ -0,0 +1,35 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class Lampe {
+ String localisation;
+ int niveau;
+
+ public Lampe(String localisation) {
+ this.localisation = localisation;
+ }
+
+ public void marche() {
+ niveau = 100;
+ System.out.println(this.localisation+": lumière allumée");
+ }
+
+ public void arret() {
+ niveau = 0;
+ System.out.println(localisation+": lumière éteinte");
+ }
+
+ public void attenuer(int niveau) {
+ this.niveau = niveau;
+ if (niveau == 0) {
+ arret();
+ }
+ else {
+ System.out.println("Le niveau de la lampe est positionné sur " + niveau + "%");
+ }
+ }
+
+ public int getNiveau() {
+ return niveau;
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/MacroCommande.java b/2A/QualiteDev/testQualiteDev/src/MacroCommande.java
new file mode 100644
index 0000000..1aff702
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/MacroCommande.java
@@ -0,0 +1,23 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class MacroCommande implements Commande {
+ Commande[] commandes;
+
+ public MacroCommande(Commande[] commandes) {
+ this.commandes = commandes;
+ }
+
+ public void executer() {
+ for (int i = 0; i < commandes.length; i++) {
+ commandes[i].executer();
+ }
+ }
+
+ public void annuler() {
+ for (int i = 0; i < commandes.length; i++) {
+ commandes[i].annuler();
+ }
+ }
+}
+
diff --git a/2A/QualiteDev/testQualiteDev/src/PasDeCommande.java b/2A/QualiteDev/testQualiteDev/src/PasDeCommande.java
new file mode 100644
index 0000000..598e30a
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/PasDeCommande.java
@@ -0,0 +1,7 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class PasDeCommande implements Commande {
+ public void executer() { }
+ public void annuler() { }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Stereo.java b/2A/QualiteDev/testQualiteDev/src/Stereo.java
new file mode 100644
index 0000000..8e09046
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Stereo.java
@@ -0,0 +1,40 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class Stereo {
+ String localisation;
+
+ public Stereo(String location) {
+ this.localisation = location;
+ }
+
+ public void marche() {
+ System.out.println(localisation + ": stéréo allumée");
+ }
+
+ public void arret() {
+ System.out.println(localisation + ": stéréo éteinte");
+ }
+
+ public void setCD() {
+ System.out.println(localisation + ": stéréo réglée pour l'entrée CD");
+ }
+
+ public void setDVD() {
+ System.out.println(localisation + ": stéréo réglée pour l'entrée DVD");
+ }
+
+ public void setRadio() {
+ System.out.println(localisation + ": stéréo réglée pour la radio");
+ }
+
+ public void setVolume(int volume) {
+ // code pour positionner le volume
+ // plage valide: 1-11 (aprs tout, 11 c'est mieux que 10, non ?)
+ System.out.println(localisation + ": le volume stéréo est " + volume);
+ }
+
+ public String getLocation() {
+ return this.localisation;
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/TV.java b/2A/QualiteDev/testQualiteDev/src/TV.java
new file mode 100644
index 0000000..a55600c
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/TV.java
@@ -0,0 +1,32 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class TV {
+ String localisation;
+ int canal;
+
+ public TV(String location) {
+ this.localisation = location;
+ }
+
+ public void marche() {
+ System.out.println(localisation + ": la télé est allumée");
+ }
+
+ public void arret() {
+ System.out.println(localisation + ": la télé est éteinte");
+ }
+
+ public void selectionnerCanal() {
+ this.canal = 3;
+ System.out.println(localisation + ": le canal est positionné sur VCR");
+ }
+
+ public String getLocation() {
+ return this.localisation;
+ }
+
+ public int getCanal() {
+ return this.canal;
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Telecommande.java b/2A/QualiteDev/testQualiteDev/src/Telecommande.java
new file mode 100644
index 0000000..bfa12c0
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Telecommande.java
@@ -0,0 +1,53 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+//
+// Voici l'invocateur
+//
+public class Telecommande {
+ Commande[] commandesMarche;
+ Commande[] commandesArret;
+ public Commande commandeAnnulation;
+
+ public Telecommande() {
+ commandesMarche = new Commande[7];
+ commandesArret = new Commande[7];
+
+ Commande pasDeCommande = new PasDeCommande();
+ for(int i=0;i<7;i++) {
+ commandesMarche[i] = pasDeCommande;
+ commandesArret[i] = pasDeCommande;
+ }
+ commandeAnnulation = pasDeCommande;
+ }
+
+ public void setCommande(int empt, Commande comMarche, Commande comArret) {
+ commandesMarche[empt] = comMarche;
+ commandesArret[empt] = comArret;
+ }
+
+ public void boutonMarchePresse(int empt) {
+ commandesMarche[empt].executer();
+ commandeAnnulation = commandesMarche[empt];
+ }
+
+ public void boutonArretPresse(int empt) {
+ commandesArret[empt].executer();
+ commandeAnnulation = commandesArret[empt];
+ }
+
+ public void boutonAnnulPresse() {
+ commandeAnnulation.annuler();
+ }
+
+ public String toString() {
+ StringBuffer stringBuff = new StringBuffer();
+ stringBuff.append("\n------ Télécommande -------\n");
+ for (int i = 0; i < commandesMarche.length; i++) {
+ stringBuff.append("[empt " + i + "] " + commandesMarche[i].getClass().getName()
+ + " " + commandesArret[i].getClass().getName() + "\n");
+ }
+ stringBuff.append("[annulation] " + commandeAnnulation.getClass().getName() + "\n");
+ return stringBuff.toString();
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/src/Ventilateur.java b/2A/QualiteDev/testQualiteDev/src/Ventilateur.java
new file mode 100644
index 0000000..739938b
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/src/Ventilateur.java
@@ -0,0 +1,43 @@
+package model;
+// package tetepremiere.commande.groupe;
+
+public class Ventilateur {
+ public static final int RAPIDE = 3;
+ public static final int MOYEN = 2;
+ public static final int LENT = 1;
+ public static final int ARRET = 0;
+ String localisation;
+ int vitesse;
+
+ public Ventilateur(String localisation) {
+ this.localisation = localisation;
+ }
+
+ public void rapide() {
+// regler le ventilateur sur rapide
+ vitesse = RAPIDE;
+ System.out.println(localisation + ": ventilateur sur rapide");
+ }
+
+ public void moyen() {
+ // regler le ventilateur sur moyen
+ vitesse = MOYEN;
+ System.out.println(localisation + ": ventilateur sur moyen");
+ }
+
+ public void lent() {
+ // regler le ventilateur sur lent
+ vitesse = LENT;
+ System.out.println(localisation + ": ventilateur sur lent");
+ }
+
+ public void arreter() {
+ // arrete le ventilateur
+ vitesse = 0;
+ System.out.println(localisation + ": ventilateur arrêté");
+ }
+
+ public int getVitesse() {
+ return vitesse;
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/JacuzziTest.java b/2A/QualiteDev/testQualiteDev/test/JacuzziTest.java
new file mode 100644
index 0000000..8925fe3
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/JacuzziTest.java
@@ -0,0 +1,46 @@
+package test;
+
+import model.Jacuzzi;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class JacuzziTest {
+
+ @Test
+ public void testAllumer() {
+ Jacuzzi jacuzzi = new Jacuzzi();
+
+ jacuzzi.allumer();
+
+ Assert.assertTrue(jacuzzi.getAllume());
+ }
+
+ @Test
+ public void testEteindre() {
+ Jacuzzi jacuzzi = new Jacuzzi();
+ jacuzzi.eteindre();
+
+ Assert.assertFalse(jacuzzi.getAllume());
+ }
+
+ @Test
+ public void testSetTemperature() {
+ Jacuzzi jacuzzi = new Jacuzzi();
+
+ jacuzzi.setTemperature(40);
+
+ Assert.assertEquals(40, jacuzzi.getTemperature());
+ Assert.assertNotEquals(50, jacuzzi.getTemperature());
+ }
+
+ @Test
+ public void testSetTemperatureNegative() {
+ Jacuzzi jacuzzi = new Jacuzzi();
+
+ jacuzzi.setTemperature(-10);
+
+ Assert.assertEquals(-10, jacuzzi.getTemperature());
+ Assert.assertNotEquals(0, jacuzzi.getTemperature());
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/LampeTest.java b/2A/QualiteDev/testQualiteDev/test/LampeTest.java
new file mode 100644
index 0000000..2953883
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/LampeTest.java
@@ -0,0 +1,47 @@
+package test;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+import model.Lampe;
+
+public class LampeTest {
+
+ @Test
+ public void testMarche() {
+ Lampe lampe = new Lampe("Salon");
+ lampe.marche();
+ assertEquals(100, lampe.getNiveau());
+ }
+
+ @Test
+ public void testArret() {
+ Lampe lampe = new Lampe("Chambre");
+ lampe.arret();
+ assertEquals(0, lampe.getNiveau());
+ }
+
+ @Test
+ public void testAttenuer() {
+ Lampe lampe = new Lampe("Cuisine");
+
+ lampe.attenuer(50);
+ assertEquals(50, lampe.getNiveau());
+
+ lampe.attenuer(0);
+ assertEquals(0, lampe.getNiveau());
+ }
+
+ @Test
+ public void testNiveauNegatif() {
+ Lampe lampe = new Lampe("Lit");
+
+ lampe.attenuer(-10);
+ assertEquals(0, lampe.getNiveau());
+ }
+
+ @Test
+ public void testGetNiveau() {
+ Lampe lampe = new Lampe("Salle de bain");
+ assertEquals(0, lampe.getNiveau());
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/StereoTest.java b/2A/QualiteDev/testQualiteDev/test/StereoTest.java
new file mode 100644
index 0000000..65d9bd7
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/StereoTest.java
@@ -0,0 +1,20 @@
+package test;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import model.Stereo;
+
+public class StereoTest {
+ @Test
+ public void testStereoChambre1() {
+ Stereo stereo = new Stereo("Chambre1");
+ Assert.assertEquals(stereo.getLocation(), "Chambre1");
+ }
+ @Test
+ public void testStereoGrenier() {
+ Stereo stereo = new Stereo("Grenier");
+ Assert.assertNotEquals(stereo.getLocation(), "Chambre1");
+ Assert.assertEquals(stereo.getLocation(), "Grenier");
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/TVTest.java b/2A/QualiteDev/testQualiteDev/test/TVTest.java
new file mode 100644
index 0000000..b06c61b
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/TVTest.java
@@ -0,0 +1,15 @@
+package test;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import model.TV;
+
+public class TVTest {
+ @Test
+ public void locationTest() {
+ TV myTv = new TV("Entree");
+ Assert.assertEquals(myTv.getLocation(), "Entree");
+ Assert.assertNotEquals(myTv.getLocation(), "Salon");
+ }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/TelecommandeTest.java b/2A/QualiteDev/testQualiteDev/test/TelecommandeTest.java
new file mode 100644
index 0000000..454f156
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/TelecommandeTest.java
@@ -0,0 +1,43 @@
+package test;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import model.Commande;
+import model.PasDeCommande;
+import model.Telecommande;
+import static org.junit.Assert.*;
+
+public class TelecommandeTest {
+
+ @Test
+ public void testTelecommande() {
+ Telecommande telecommande = new Telecommande();
+ Commande marcheCommande = new PasDeCommande();
+ Commande arretCommande = new PasDeCommande();
+
+ telecommande.setCommande(0, marcheCommande, arretCommande);
+ telecommande.boutonMarchePresse(0);
+
+ assertEquals(marcheCommande, telecommande.commandeAnnulation);
+ }
+
+// @Test
+// public void testToString() {
+// // Arrange
+// Telecommande telecommande = new Telecommande();
+// Commande marcheCommande = new PasDeCommande();
+// Commande arretCommande = new PasDeCommande();
+// telecommande.setCommande(0, marcheCommande, arretCommande);
+//
+// // Act
+// String result = telecommande.toString();
+//
+// // Assert
+// String expected = "\n------ Télécommande -------\n" +
+// "[empt 0] PasDeCommande PasDeCommande\n" +
+// "[annulation] PasDeCommande\n";
+// assertEquals(expected, result);
+// }
+}
diff --git a/2A/QualiteDev/testQualiteDev/test/VentilateurTest.java b/2A/QualiteDev/testQualiteDev/test/VentilateurTest.java
new file mode 100644
index 0000000..95aed7c
--- /dev/null
+++ b/2A/QualiteDev/testQualiteDev/test/VentilateurTest.java
@@ -0,0 +1,52 @@
+package test;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+import model.Ventilateur;
+
+public class VentilateurTest {
+
+ @Test
+ public void testRapide() {
+ Ventilateur ventilateur = new Ventilateur("Salon");
+
+ ventilateur.rapide();
+ assertEquals(Ventilateur.RAPIDE, ventilateur.getVitesse());
+ }
+
+ @Test
+ public void testMoyen() {
+ Ventilateur ventilateur = new Ventilateur("Chambre");
+
+ ventilateur.moyen();
+
+ assertEquals(Ventilateur.MOYEN, ventilateur.getVitesse());
+ }
+
+ @Test
+ public void testLent() {
+ Ventilateur ventilateur = new Ventilateur("Cuisine");
+
+ ventilateur.lent();
+
+ assertEquals(Ventilateur.LENT, ventilateur.getVitesse());
+ }
+
+ @Test
+ public void testArreter() {
+ Ventilateur ventilateur = new Ventilateur("Salle de bain");
+
+ ventilateur.arreter();
+
+ assertEquals(Ventilateur.ARRET, ventilateur.getVitesse());
+ }
+
+ @Test
+ public void testGetVitesse() {
+ Ventilateur ventilateur = new Ventilateur("Salon");
+
+ int result = ventilateur.getVitesse();
+
+ assertEquals(Ventilateur.ARRET, result);
+ }
+}