diff --git a/cmd/main.go b/cmd/main.go
index d8e332634ac182dc9b69c9daf694504fdda33743..12e20fe626188782c5dc8456e9166c3aad5dfe4c 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -10,5 +10,7 @@ func main() {
 	//comsoc.Test_maxCount()
 	//comsoc.Test_checkProfile()
 	//comsoc.Test_checkProfileAlternative()
-	comsoc.Test_MajoritySWF()
+	//comsoc.Test_MajoritySWF()
+	//comsoc.Test_sWFFactory()
+	comsoc.Test_majority()
 }
diff --git a/comsoc/HelpFunctions.go b/comsoc/HelpFunctions.go
index fdf1558de2ada2df30618ef0470d711c8eef521f..b5718b2de4303964a92c5ba85560f892708ccdf9 100644
--- a/comsoc/HelpFunctions.go
+++ b/comsoc/HelpFunctions.go
@@ -5,7 +5,6 @@ import (
 	"fmt"
 )
 
-// cours TODO
 func plusN(n int) func(i int) int {
 	f := func(i int) int {
 		return (i + n)
diff --git a/comsoc/Majority.go b/comsoc/Majority.go
index cce9c75820f44b6d837977c2e1094be766dd9dcc..f35f70cf0763c1f523cbdf0faa7762c389b6e576 100644
--- a/comsoc/Majority.go
+++ b/comsoc/Majority.go
@@ -1,15 +1,18 @@
 package comsoc
+import ("fmt")
 
-// majorité simple
-// fonctions de bien-être social (social welfare function, SWF) :
-// retournent un décompte à partir d'un profil
-// En utilisation la méthode de la majorité simple
+// Majorité simple
 func MajoritySWF(p Profile) (count Count, err error) {
-	count = make(Count)
 	err = checkProfileFromProfile(p)
 	if err != nil {
 		return nil, err
 	}
+//initialisation de la map : comptes à 0
+	count = make(Count,len(p))
+	for _,alt := range p[0]{
+		count[alt]=0
+	}
+//actualisation du compte à l'aide du scrutin
 	for _, pref := range p {
 		count[pref[0]]++
 	}
@@ -23,3 +26,12 @@ func MajoritySCF(p Profile) (bestAlts []Alternative, err error) {
 	}
 	return maxCount(count), err
 }
+
+func Test_majority() {
+	profil := GenerateProfile(3, 5)
+	fmt.Println("Profil :", profil)
+	count, _ := MajoritySWF(profil)
+	fmt.Println("Décompte :", count)
+	//winners, _ := MajoritySCF(profil)
+	//fmt.Println("Vainqueur(s) :", winners)
+}
\ No newline at end of file
diff --git a/comsoc/TieBreak.go b/comsoc/TieBreak.go
index 814c3064a995d6ebdf7b860c8ff0afd698d8a2f0..d9f256567b1de1d8c6c46c084e56dfba2017d783 100644
--- a/comsoc/TieBreak.go
+++ b/comsoc/TieBreak.go
@@ -62,6 +62,28 @@ func SWFFactory(swf func(Profile) (Count, error), tb func([]Alternative) (Altern
 	}
 }
 
+func Test_sWFFactory() {
+	//Définition de l'Ordre strict
+	orderedAlts := []Alternative{8, 9, 6, 1, 3, 2}
+	fmt.Println("Ordre strict :", orderedAlts)
+
+	//Construction d'un profil avec alternatives ex aequo
+	profil := make([][]Alternative, 2)
+	profil[0] = []Alternative{1, 2, 3, 4, 5, 6}
+	profil[1] = []Alternative{3, 2, 1, 4, 5, 6}
+	fmt.Println("Profil :", profil)
+
+	//Construction de la fonction Tie Break
+	lambda := TieBreakFactory(orderedAlts)
+	//Construction de la Social Welfare Factory à partir de la fonction swf + la fonction de TieBreak
+	mu := SWFFactory(MajoritySWF, lambda)
+	// mu := SWFFactory(BordaSWF, lambda)
+	//Construction d'une fonction
+	sorted_alts, _ := mu(profil)
+	fmt.Println("Alternatives strictement ordonnées selon la méthode de Borda :", sorted_alts)
+}
+
+
 func SWFFactoryWithOptions(
 	swf func(Profile, []int) (Count, error),
 	tb func([]Alternative) (Alternative, error),
@@ -103,30 +125,14 @@ func SWFFactoryWithOptions(
 	}
 }
 
-func Test_sWFFactory() {
-	//Définition de l'Ordre strict
-	orderedAlts := []Alternative{8, 9, 6, 1, 3, 2}
-	fmt.Println("Ordre strict :", orderedAlts)
 
-	//Construction d'un profil avec alternatives ex aequo
-	profil := make([][]Alternative, 2)
-	profil[0] = []Alternative{1, 2, 3, 4, 5, 6}
-	profil[1] = []Alternative{3, 2, 1, 4, 5, 6}
-	fmt.Println("Profil :", profil)
-
-	//Construction de la fonction Tie Break
-	lambda := TieBreakFactory(orderedAlts)
-	//Construction de la Social Welfare Factory à partir de la fonction swf + la fonction de TieBreak
-	mu := SWFFactory(BordaSWF, lambda)
-	//Construction d'une fonction
-	sorted_alts, _ := mu(profil)
-	fmt.Println("Alternatives strictement ordonnées selon la méthode de Borda :", sorted_alts)
-}
-
-func SCFFactory(scf func(p Profile) ([]Alternative, error), tb func([]Alternative) (Alternative, error)) func(Profile) (Alternative, error) {
-	return func(p Profile) (Alternative, error) {
+func SCFFactoryWithOptions(
+	scf func(Profile, []int) ([]Alternative, error),
+	tb func([]Alternative) (Alternative, error),
+) func(Profile, []int) (Alternative, error) {
+	return func(p Profile, o []int) (Alternative, error) {
 		//récupération des meilleures alternatives
-		bestAlts, errSCF := scf(p)
+		bestAlts, errSCF := scf(p, o)
 		if errSCF != nil {
 			return Alternative(0), errSCF
 		}
@@ -136,13 +142,10 @@ func SCFFactory(scf func(p Profile) ([]Alternative, error), tb func([]Alternativ
 	}
 }
 
-func SCFFactoryWithOptions(
-	scf func(Profile, []int) ([]Alternative, error),
-	tb func([]Alternative) (Alternative, error),
-) func(Profile, []int) (Alternative, error) {
-	return func(p Profile, o []int) (Alternative, error) {
+func SCFFactory(scf func(p Profile) ([]Alternative, error), tb func([]Alternative) (Alternative, error)) func(Profile) (Alternative, error) {
+	return func(p Profile) (Alternative, error) {
 		//récupération des meilleures alternatives
-		bestAlts, errSCF := scf(p, o)
+		bestAlts, errSCF := scf(p)
 		if errSCF != nil {
 			return Alternative(0), errSCF
 		}
@@ -152,6 +155,7 @@ func SCFFactoryWithOptions(
 	}
 }
 
+
 func Test_sCFFactory() {
 	//Définition de l'Ordre strict
 	orderedAlts := []Alternative{8, 9, 6, 1, 3, 2}