diff --git a/fractals.py b/fractals.py
new file mode 100644
index 0000000000000000000000000000000000000000..184e0ea8a565ce6898d21af9f0bf8ab41ac27c1b
--- /dev/null
+++ b/fractals.py
@@ -0,0 +1,153 @@
+from turtle import *
+def zig_zag():
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    left(45)
+    for _ in range(5):
+        forward(50)
+        right(90)
+        forward(50)
+        left(90)
+    
+    
+    
+
+
+
+
+# à l'ordre n+1 la longueur de segment de chaque portion a l'ordre n est de nouveau
+#divisé par trois en reproduisant 4 fois le meme shema 
+
+
+def von_koch(l:float,n:int):
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    if n==0:
+        return forward(l)
+    elif n==1:
+        forward(l/3)
+        left(60)
+        forward(l/3)
+        right(120)
+        forward(l/3)
+        left(60)
+        forward(l/3)
+    else:
+        von_koch(l/3,n-1)
+        left(60)
+        von_koch(l/3,n-1)
+        right(120)
+        von_koch(l/3,n-1)
+        left(60)
+        von_koch(l/3,n-1)
+
+def von_koch_amelioree(l:float,n:int):
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    speed(70)
+    von_koch(l,n)
+    right(120)
+    von_koch(l,n)
+    right(120)
+    von_koch(l,n)
+    right(120)
+    
+    
+def cesaro(l:float,n:int):
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    speed(70)
+    if n==0:
+        return forward(l)
+    elif n==1:
+        forward(2*l/5)
+        left(85)
+        forward(2*l/5)
+        right(170)
+        forward(2*l/5)
+        left(85)
+        forward(2*l/5)
+    else:
+        cesaro(2*l/5,n-1)
+        left(85)
+        cesaro(2*l/5,n-1)
+        right(170)
+        cesaro(2*l/5,n-1)
+        left(85)
+        cesaro(2*l/5,n-1)
+    
+    
+def carre_cesaro(l:float,n:int):
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    speed(80)
+    left(90)
+    cesaro(l,4)
+    left(90)
+    cesaro(l,4)
+    left(90)
+    cesaro(l,4)
+    left(90)
+    cesaro(l,4)
+    
+    
+    
+def sierpinski(l:float,n:int):
+    """ à_remplacer_par_ce_que_fait_la_fonction
+
+    Précondition :
+    Exemple(s) :
+    $$$
+    """
+    
+    if n==0:
+        forward(l)
+        left(120)
+        forward(l)
+        left(120)
+        forward(l)
+        left(120)
+    else:
+        speed(50)
+        sierpinski(l/2,n-1)
+        penup()
+        forward((l/(2**n))*(2**(n-1)-1))
+        left(120)
+        forward(l/2)
+        pendown()
+        sierpinski(l/2,n-1)
+        penup()
+        forward((l/(2**n))*(2**(n-1)-1))
+        right(120)
+        forward(l/2)
+        pendown()
+        right(120)
+        sierpinski(l/2,n-1)
+
+
+        
+        
+    
+    
+    
+