diff --git a/src/main/java/ch/hepia/hangman/hangman.java b/src/main/java/ch/hepia/hangman/hangman.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1e8bdb6fa4599892183e15d6b0199e4353699df
--- /dev/null
+++ b/src/main/java/ch/hepia/hangman/hangman.java
@@ -0,0 +1,137 @@
+package ch.hepia.hangman;
+public class hangman
+{
+    /*
+    currentWord = l'avancement actuel du mot ex : _a___ == David
+    guessWord = le mot rechercher ex David
+    letter = la lettre entrers
+    Ex :
+    currentWord = _____
+    guessWord = David
+    letter = 'a'
+
+    resultat = _a____
+    */
+    public static String check(String currentWord,String guessWord,char letter) 
+    {
+        //les string sont immutable en java
+        //conversion en tableau de char
+        char[] tempArray= currentWord.toCharArray();
+        for(int i=0;i<guessWord.length();i++)
+        {
+            if(guessWord.charAt(i)==letter)//a ajouter les test majuscule
+            {
+               tempArray[i]=letter;
+            }
+        }
+        return String.valueOf(tempArray);
+    }
+    /*
+    guessWord = le mot a cacher
+    Ex :
+    guessWord = David
+    resultat = ______
+    */
+    public static String createWord(String guessWord)
+    {
+        char tempArray[]=guessWord.toCharArray();
+        for(int i =0;i<guessWord.length();i++)
+        {
+            tempArray[i]='_';
+        }
+        return String.valueOf(tempArray);
+    }
+    /*
+    Affiche l'etat de la potence en fonction du nombre d'essai.
+    */
+    public static void showHangman(int essai)
+    {
+        System.out.println("----------");
+        switch(essai)
+        {
+            case 1:
+            System.out.println("|/");
+            for(int i=0;i<6;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 2:
+            System.out.println("|/       |");
+            for(int i=0;i<6;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 3 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            for(int i=0;i<5;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 4 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|        |");
+            for(int i=0;i<4;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 5 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|       /|");
+            for(int i=0;i<4;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 6 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|       /|\\");
+            for(int i=0;i<4;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 7 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|       /|\\");
+            System.out.println("|        |  ");
+            for(int i=0;i<3;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 8 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|       /|\\");
+            System.out.println("|        |  ");
+            System.out.println("|       /   ");
+            for(int i=0;i<2;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+            case 9 :
+            System.out.println("|/       |");
+            System.out.println("|       (_)");
+            System.out.println("|       /|\\");
+            System.out.println("|        |  ");
+            System.out.println("|       / \\");
+            for(int i=0;i<2;i++)
+            {
+                System.out.println("|");
+            }
+            break;
+        }
+        System.out.println("");
+    }
+
+}
\ No newline at end of file
diff --git a/src/test/java/ch/hepia/hangman/AppTest.java b/src/test/java/ch/hepia/hangman/AppTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8429ff8ae945901d2329a3bb0b75f64b3ffe821e
--- /dev/null
+++ b/src/test/java/ch/hepia/hangman/AppTest.java
@@ -0,0 +1,27 @@
+package ch.hepia.hangman;
+
+import org.junit.jupiter.api.Test;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+
+class HangmanTests
+{
+  @Test
+  void check_create()
+  {
+      String hiddenWord= hangman.createWord("david");
+      assertEquals(hiddenWord,"_____");
+
+  }
+  @Test
+  void check_test() 
+  {  
+      String hiddenWord= hangman.createWord("david");
+      hiddenWord=hangman.check(hiddenWord,"david",'d');
+      assertEquals(hiddenWord,"d___d");
+  }
+}