diff --git a/Makefile b/Makefile
index e02faf1570b6b74d44e37de52a1a44b2ef903e02..115a340d45feaea0f250f6a3a05899bb22f97096 100644
--- a/Makefile
+++ b/Makefile
@@ -80,7 +80,7 @@ deploy: all
 	make -C practical_work/electric_fl
 	cp practical_work/electric_fl/*.pdf phys/field_lines/
 	cp practical_work/electric_fl/*.html phys/field_lines/
-	cd practical_work/electric_fl && tar czvf utils.tar.gz utils && cp *.gz ../../phys/field_lines
+	cd practical_work/electric_fl && tar czvf utils_jour.tar.gz utils Jour && tar czvf utils_soir.tar.gz utils Soir && cp *.gz ../../phys/field_lines
 
 
 clean:
diff --git a/practical_work/electric_fl/Jour/cercle.md b/practical_work/electric_fl/Jour/cercle.md
new file mode 100644
index 0000000000000000000000000000000000000000..76054ee43ce68331efc072966515f1f7bad2ed1f
--- /dev/null
+++ b/practical_work/electric_fl/Jour/cercle.md
@@ -0,0 +1,29 @@
+```
+dessiner_cercle(xc, yc, r)
+	x = 0
+	y = r
+	d = r - 1 // r^2 + r - 0^2 - r^2 - 1
+	tant que y >= x
+		// On dessine les autres octants par symétrie
+		dessiner_pixel(xc + x, yc + y) // Deuxième octant
+		dessiner_pixel(xc + y, yc + x) // Premier octant
+		dessiner_pixel(xc +- ?, yc +- ?) // Troisième octant
+		dessiner_pixel(xc +- ?, yc +- ?) // Quatrième octant
+		
+		dessiner_pixel(xc +- ?, yc +- ?) // Septième octant
+		dessiner_pixel(xc +- ?, yc +- ?) // Huitième octant
+		dessiner_pixel(xc +- ?, yc +- ?) // Sixième octant
+		dessiner_pixel(xc +- ?, yc +- ?) // Cinquième octant
+		
+		
+		si 2x <= d // On passe au point A
+			d -= 2x + 1
+			x += 1
+		sinon si d < 2(r-y) // On passe au point B
+			d += 2y - 1
+			y -= 1
+		sinon // On passe au point C
+			d -= 2(x - y + 1)
+			y -= 1
+			x += 1
+```
diff --git a/practical_work/electric_fl/Jour/ligne.md b/practical_work/electric_fl/Jour/ligne.md
new file mode 100644
index 0000000000000000000000000000000000000000..599e2341fb68adb421b29b75390c20188867c378
--- /dev/null
+++ b/practical_work/electric_fl/Jour/ligne.md
@@ -0,0 +1,68 @@
+```
+dessiner_droite(x0, y0, x1, y1)
+    dy = y1 - y0
+    dx = x1 - x0
+
+    m_dx = x0 - x1
+
+    si dy >= 0 //Octants supérieurs
+        si dy <= dx //1er octant
+            a = 2*dy
+            e = 0
+
+            y = y0
+            pour x allant de x0 à x1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e >= dx:
+                    y += 1
+                    e -= 2*dx
+        sinon si ? et ? // 2ème octant
+            a = 2*dx
+            e = 0
+
+            x = x0
+            pour y allant de y0 à y1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e >= dy:
+                    x += 1
+                    e -= 2*dy
+        sinon si dy >= m_dx // 3ème octant
+            a = ?
+            e = 0
+
+            m_dy = y0-y1
+
+            x = x0
+            pour y allant de y0 à y1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e <= m_dy:
+                    x -= 1
+                    e += ?
+        sinon // 4ème octant
+            dessiner_droite(?, ?, ?, ?)
+    sinon
+    	si ? <= ? // 8ème octant
+    		a = 2*dy
+            e = 0
+
+            y = y0
+            pour x allant de x0 à x1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e <= m_dx:
+                    y -= 1
+                    e += 2*dx
+    	sinon // Tous les autres octants
+    		dessiner_droite(x1, y1, x0, y0)
+```
\ No newline at end of file
diff --git a/practical_work/electric_fl/Soir/cercle.md b/practical_work/electric_fl/Soir/cercle.md
new file mode 100644
index 0000000000000000000000000000000000000000..449bf6a58eb390759349d5a4120b85b6b138da39
--- /dev/null
+++ b/practical_work/electric_fl/Soir/cercle.md
@@ -0,0 +1,29 @@
+```
+dessiner_cercle(xc, yc, r)
+	x = 0
+	y = r
+	d = r - 1 // r^2 + r - 0^2 - r^2 - 1
+	tant que y >= x
+		// On dessine les autres octants par symétrie
+		dessiner_pixel(xc + x, yc + y) // Deuxième octant
+		dessiner_pixel(xc + y, yc + x) // Premier octant
+		dessiner_pixel(xc - x, yc + y) // Troisième octant
+		dessiner_pixel(xc - y, yc + x) // Quatrième octant
+		
+		dessiner_pixel(xc + x, yc - y) // Septième octant
+		dessiner_pixel(xc + y, yc - x) // Huitième octant
+		dessiner_pixel(xc - x, yc - y) // Sixième octant
+		dessiner_pixel(xc - y, yc - x) // Cinquième octant
+		
+		
+		si 2x <= d // On passe au point A
+			d -= 2x + 1
+			x += 1
+		sinon si d < 2(r-y) // On passe au point B
+			d += 2y - 1
+			y -= 1
+		sinon // On passe au point C
+			d -= 2(x - y + 1)
+			y -= 1
+			x += 1
+```
\ No newline at end of file
diff --git a/practical_work/electric_fl/Soir/ligne.md b/practical_work/electric_fl/Soir/ligne.md
new file mode 100644
index 0000000000000000000000000000000000000000..44c37ca43b37e22a60913d827d3d50a6d9f46b37
--- /dev/null
+++ b/practical_work/electric_fl/Soir/ligne.md
@@ -0,0 +1,68 @@
+```
+dessiner_droite(x0, y0, x1, y1)
+    dy = y1 - y0
+    dx = x1 - x0
+
+    m_dx = x0 - x1
+
+    si dy >= 0 //Octants supérieurs
+        si dy <= dx //1er octant
+            a = 2*dy
+            e = 0
+
+            y = y0
+            pour x allant de x0 à x1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e >= dx:
+                    y += 1
+                    e -= 2*dx
+        sinon si (0<=dx) et (dx < dy) // 2ème octant
+            a = 2*dx
+            e = 0
+
+            x = x0
+            pour y allant de y0 à y1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e >= dy:
+                    x += 1
+                    e -= 2*dy
+        sinon si dy >= m_dx // 3ème octant
+            a = 2*dx
+            e = 0
+
+            m_dy = y0-y1
+
+            x = x0
+            pour y allant de y0 à y1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e <= m_dy:
+                    x -= 1
+                    e += 2*dy
+        sinon // 4ème octant
+            dessiner_droite(x1, y1, x0, y0)
+    sinon
+    	si m_dx <= dy // 8ème octant
+    		a = 2*dy
+            e = 0
+
+            y = y0
+            pour x allant de x0 à x1 avec un pas de 1
+                dessiner_pixel(x,y)
+
+                e += a
+
+                si e <= m_dx:
+                    y -= 1
+                    e += 2*dx
+    	sinon // Tous les autres octants
+    		dessiner_droite(x1, y1, x0, y0)
+```
\ No newline at end of file