diff --git a/tp3/out/production/TP3/.idea/.gitignore b/tp3/out/production/TP3/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/tp3/out/production/TP3/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/tp3/out/production/TP3/.idea/misc.xml b/tp3/out/production/TP3/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a37236a83c952055389d0f535733557b297fe81
--- /dev/null
+++ b/tp3/out/production/TP3/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/.idea/modules.xml b/tp3/out/production/TP3/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..474bb608d9ffe18b9cbbfd6e1ec2db780a4f1ec1
--- /dev/null
+++ b/tp3/out/production/TP3/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/src.iml" filepath="$PROJECT_DIR$/.idea/src.iml" />
+      <module fileurl="file://$PROJECT_DIR$/tp3.iml" filepath="$PROJECT_DIR$/tp3.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/.idea/src.iml b/tp3/out/production/TP3/.idea/src.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/tp3/out/production/TP3/.idea/src.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/.idea/vcs.xml b/tp3/out/production/TP3/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b2bdec2d71b6a5ce4ae49efc37516809c50e4d5e
--- /dev/null
+++ b/tp3/out/production/TP3/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/out/production/tp3/.idea/.gitignore b/tp3/out/production/TP3/out/production/tp3/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/tp3/out/production/TP3/out/production/tp3/.idea/misc.xml b/tp3/out/production/TP3/out/production/tp3/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a37236a83c952055389d0f535733557b297fe81
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/out/production/tp3/.idea/modules.xml b/tp3/out/production/TP3/out/production/tp3/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..474bb608d9ffe18b9cbbfd6e1ec2db780a4f1ec1
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/src.iml" filepath="$PROJECT_DIR$/.idea/src.iml" />
+      <module fileurl="file://$PROJECT_DIR$/tp3.iml" filepath="$PROJECT_DIR$/tp3.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/out/production/tp3/.idea/src.iml b/tp3/out/production/TP3/out/production/tp3/.idea/src.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/.idea/src.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/out/production/tp3/.idea/vcs.xml b/tp3/out/production/TP3/out/production/tp3/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b2bdec2d71b6a5ce4ae49efc37516809c50e4d5e
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/out/production/tp3/tp3.iml b/tp3/out/production/TP3/out/production/tp3/tp3.iml
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ b/tp3/out/production/TP3/out/production/tp3/tp3.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/out/production/TP3/tp3.iml b/tp3/out/production/TP3/tp3.iml
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ b/tp3/out/production/TP3/tp3.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/src/.idea/.gitignore b/tp3/src/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/tp3/src/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/tp3/src/.idea/misc.xml b/tp3/src/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a37236a83c952055389d0f535733557b297fe81
--- /dev/null
+++ b/tp3/src/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/.idea/modules.xml b/tp3/src/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..474bb608d9ffe18b9cbbfd6e1ec2db780a4f1ec1
--- /dev/null
+++ b/tp3/src/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/src.iml" filepath="$PROJECT_DIR$/.idea/src.iml" />
+      <module fileurl="file://$PROJECT_DIR$/tp3.iml" filepath="$PROJECT_DIR$/tp3.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/.idea/src.iml b/tp3/src/.idea/src.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/tp3/src/.idea/src.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/src/.idea/vcs.xml b/tp3/src/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b2bdec2d71b6a5ce4ae49efc37516809c50e4d5e
--- /dev/null
+++ b/tp3/src/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/out/production/tp3/.idea/.gitignore b/tp3/src/out/production/tp3/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/tp3/src/out/production/tp3/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/tp3/src/out/production/tp3/.idea/misc.xml b/tp3/src/out/production/tp3/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a37236a83c952055389d0f535733557b297fe81
--- /dev/null
+++ b/tp3/src/out/production/tp3/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/out/production/tp3/.idea/modules.xml b/tp3/src/out/production/tp3/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..474bb608d9ffe18b9cbbfd6e1ec2db780a4f1ec1
--- /dev/null
+++ b/tp3/src/out/production/tp3/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/src.iml" filepath="$PROJECT_DIR$/.idea/src.iml" />
+      <module fileurl="file://$PROJECT_DIR$/tp3.iml" filepath="$PROJECT_DIR$/tp3.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/out/production/tp3/.idea/src.iml b/tp3/src/out/production/tp3/.idea/src.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/tp3/src/out/production/tp3/.idea/src.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/src/out/production/tp3/.idea/vcs.xml b/tp3/src/out/production/tp3/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b2bdec2d71b6a5ce4ae49efc37516809c50e4d5e
--- /dev/null
+++ b/tp3/src/out/production/tp3/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/tp3/src/out/production/tp3/Cell.class b/tp3/src/out/production/tp3/Cell.class
new file mode 100644
index 0000000000000000000000000000000000000000..1285c9d233849599c7590a3e5b78d8952cc84173
Binary files /dev/null and b/tp3/src/out/production/tp3/Cell.class differ
diff --git a/tp3/src/out/production/tp3/GameOfLife.class b/tp3/src/out/production/tp3/GameOfLife.class
new file mode 100644
index 0000000000000000000000000000000000000000..faeacb9e793d343c71e0778c2d5b20877ae4029f
Binary files /dev/null and b/tp3/src/out/production/tp3/GameOfLife.class differ
diff --git a/tp3/src/out/production/tp3/GameOfLifeGUI.class b/tp3/src/out/production/tp3/GameOfLifeGUI.class
new file mode 100644
index 0000000000000000000000000000000000000000..0245399aa04bed051725c6f6b43414effda5ac4d
Binary files /dev/null and b/tp3/src/out/production/tp3/GameOfLifeGUI.class differ
diff --git a/tp3/src/out/production/tp3/Grid.class b/tp3/src/out/production/tp3/Grid.class
new file mode 100644
index 0000000000000000000000000000000000000000..dca059e4398bc00c7a9556fcef002342f94d2ce6
Binary files /dev/null and b/tp3/src/out/production/tp3/Grid.class differ
diff --git a/tp3/src/out/production/tp3/GridIterator.class b/tp3/src/out/production/tp3/GridIterator.class
new file mode 100644
index 0000000000000000000000000000000000000000..5e5c3757876ff656e28416d5e5860d95cfdf6231
Binary files /dev/null and b/tp3/src/out/production/tp3/GridIterator.class differ
diff --git a/tp3/src/out/production/tp3/Main.class b/tp3/src/out/production/tp3/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..5b7c06e1954c9b21546b7e3ba425870bdbd96b7c
Binary files /dev/null and b/tp3/src/out/production/tp3/Main.class differ
diff --git a/tp3/src/out/production/tp3/tp3.iml b/tp3/src/out/production/tp3/tp3.iml
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ b/tp3/src/out/production/tp3/tp3.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp3/src/tp3.iml b/tp3/src/tp3.iml
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ b/tp3/src/tp3.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/tp4 b/tp4
new file mode 160000
index 0000000000000000000000000000000000000000..55f8a202ae2cd93317e79afcb1c2065313d7b9c6
--- /dev/null
+++ b/tp4
@@ -0,0 +1 @@
+Subproject commit 55f8a202ae2cd93317e79afcb1c2065313d7b9c6