diff --git a/lab4/unificateur.py b/lab4/unificateur.py
index 3fd6c96..1b93e6a 100755
--- a/lab4/unificateur.py
+++ b/lab4/unificateur.py
@@ -148,8 +148,38 @@
 ## @param proposition2 porposition 2 avec variable  
 ## @ret substitution dans un dico is le filtrage reussi : {'?x':'a',...}, 'FAIL' sinon
 ###############################################################################
-def unifit(proposition1, proposition2):
-	pass
+def unifit(pat1, pat2):
+	if testeAtome(pat1) or testeAtome(pat2):
+		if not testeAtome(pat1):
+			pat1, pat2 = pat2, pat1
+
+		if pat1 == pat2:
+			return {}
+		else:
+			if testeVariable(pat1):
+				if variableDansSubstitutions(pat1, pat2):
+					return echec
+				else:
+					return {pat1: pat2}
+			else:
+				if testeVariable(pat2):
+					return {pat2: pat2}
+				else:
+					return echec
+	else:
+		f1 = pat1[0]
+		t1 = pat1[1:]
+		f2 = pat2[0]
+		t2 = pat2[1:]
+		z1 = unifit(f1, f2)
+		if z1 == echec:
+			return echec
+		g1 = substitueVariables(t1, z1)
+		g2 = substitueVariables(t2, z1)
+		z2 = unifit(g1, g2)
+		if z2 == echec:
+			return echec
+		return unionSubstitution(z1, z2)
                     
 ###############################################################################