diff --git a/src/main/java/ch/hepia/App.java b/src/main/java/ch/hepia/App.java
index 53f16a6c9a6d2c3d9695c4068772a1260b201399..a1663d913ee04319b4556439152684611f0cd75d 100644
--- a/src/main/java/ch/hepia/App.java
+++ b/src/main/java/ch/hepia/App.java
@@ -5,10 +5,33 @@ public class App {
     public static void main(String[] args) {
 
         JeudeCarte jeuDeCartesStandard = new JeudeCarte(32);
-        jeuDeCartesStandard.afficherPaquet();
+
+        System.out.println("Paquet Originel:");
+
+        jeuDeCartesStandard.ShowPaquet();
+
         jeuDeCartesStandard.shuffle();
-        System.out.println("----------------------------------------");
-        jeuDeCartesStandard.afficherPaquet();
+
+        System.out.println("Paquet Mélangée:");
+
+        jeuDeCartesStandard.ShowPaquet();
+
+        Hand main1 = new Hand(jeuDeCartesStandard, 10);
+
+        Hand main2 = new Hand(jeuDeCartesStandard, 10);
+
+        System.out.println("Main 1 avec 10 pioches:");
+
+        main1.ShowHand();
+
+        System.out.println("Main 2 avec 10 pioches:");
+
+        main2.ShowHand();
+
+        System.out.println("Paquet après pioche:");
+
+        jeuDeCartesStandard.ShowPaquet();
+
     }
 
 }
diff --git a/src/main/java/ch/hepia/Hand.java b/src/main/java/ch/hepia/Hand.java
new file mode 100644
index 0000000000000000000000000000000000000000..88eaf6d3357a20b4e6541c80ab841d02e3024628
--- /dev/null
+++ b/src/main/java/ch/hepia/Hand.java
@@ -0,0 +1,101 @@
+package ch.hepia;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+public class Hand {
+
+    private List<Carte> Hand;
+
+    public Hand(Carte... cartes) {
+
+        Hand = new ArrayList<>();
+
+        for (Carte carte : cartes) {
+
+            Hand.add(carte);
+
+        }
+    }
+
+    public Hand(JeudeCarte game, int nb) {
+
+        Hand = new ArrayList<>();
+
+        this.DrawCardFromGame(game, nb);
+    }
+
+    public void AddCardToHand(Carte... cartes) {
+
+        for (Carte carte : cartes) {
+
+            this.Hand.add(carte);
+
+        }
+    }
+
+    public void RemoveCardFromHand(Carte... cartes) {
+
+        for (Carte carte : cartes) {
+
+            this.Hand.remove(carte);
+
+        }
+    }
+
+    public void DrawCardFromGame(JeudeCarte game) {
+
+        this.AddCardToHand(game.GetTopCarteOfGame());
+
+        game.RemoveCarteFromGame(game.GetTopCarteOfGame());
+
+    }
+
+    public void DrawCardFromGame(JeudeCarte game, int nb) {
+
+        for (int x = 0; x < nb; x++) {
+            this.DrawCardFromGame(game);
+        }
+
+    }
+
+    public void SortHand() {
+
+        Collections.sort(Hand, new Comparator<Carte>() {
+
+            public int compare(Carte carte1, Carte carte2) {
+
+                int comparaisonCouleur = carte1.getCouleur().compareTo(carte2.getCouleur());
+
+                if (comparaisonCouleur == 0) {
+
+                    return Integer.compare(carte1.getRang(), carte2.getRang());
+
+                } else {
+
+                    return comparaisonCouleur;
+                }
+            }
+
+        });
+
+    }
+
+    public void ShowHand() {
+
+        this.SortHand();
+
+        System.out.println("-------- Main --------");
+
+        for (Carte carte : Hand) {
+
+            System.out.println(carte.getNomComplet());
+
+        }
+
+        System.out.println("----------------------");
+    }
+
+}
diff --git a/src/main/java/ch/hepia/JeudeCarte.java b/src/main/java/ch/hepia/JeudeCarte.java
index 56a6575449a1746584e77dfb09f6ab95b50a8327..4e4161c568e790ebbb11480ff15c96b6e1ecea0d 100644
--- a/src/main/java/ch/hepia/JeudeCarte.java
+++ b/src/main/java/ch/hepia/JeudeCarte.java
@@ -33,18 +33,47 @@ public class JeudeCarte {
 
     }
 
+    public Carte GetTopCarteOfGame() {
+
+        return this.jeuDeCartes.get(0);
+
+    }
+
+    public void AddCarteToGame(Carte... cartes) {
+
+        for (Carte carte : cartes) {
+
+            this.jeuDeCartes.add(carte);
+
+        }
+    }
+
+    public void RemoveCarteFromGame(Carte... cartes) {
+
+        for (Carte carte : cartes) {
+
+            this.jeuDeCartes.remove(carte);
+
+        }
+    }
+
     public void shuffle() {
 
         Collections.shuffle(jeuDeCartes);
 
     }
 
-    public void afficherPaquet() {
+    public void ShowPaquet() {
+
+        System.out.println("------- Paquet -------");
+
         for (Carte carte : jeuDeCartes) {
 
             System.out.println(carte.getNomComplet());
 
         }
+
+        System.out.println("----------------------");
     }
 
 }
diff --git a/src/main/java/ch/hepia/Main.java b/src/main/java/ch/hepia/Main.java
deleted file mode 100644
index 81b4bcb219b4475df242a0a986f4bd4be16dbbca..0000000000000000000000000000000000000000
--- a/src/main/java/ch/hepia/Main.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package ch.hepia;
-
-public class Main {
-
-}
diff --git a/target/classes/ch/hepia/App.class b/target/classes/ch/hepia/App.class
index 8d3b9dbbfdc30b448e950ad51b56e38c84566f9d..702482c8fd70123c6f1b10106e17ec61aef73af2 100644
Binary files a/target/classes/ch/hepia/App.class and b/target/classes/ch/hepia/App.class differ
diff --git a/target/classes/ch/hepia/COULEUR.class b/target/classes/ch/hepia/COULEUR.class
index c38a76f38b5f56aec3100849ad749e77c1255bcd..c582fd28bd308c74abcc31d7c543625ab96af75b 100644
Binary files a/target/classes/ch/hepia/COULEUR.class and b/target/classes/ch/hepia/COULEUR.class differ
diff --git a/target/classes/ch/hepia/Carte.class b/target/classes/ch/hepia/Carte.class
index 6ee4be2ec9d067b2e556b6378e20b2b2cce9dab0..8a0fd9ccdbb8968ac2f609091731dd205d5eb0d2 100644
Binary files a/target/classes/ch/hepia/Carte.class and b/target/classes/ch/hepia/Carte.class differ
diff --git a/target/classes/ch/hepia/Hand$1.class b/target/classes/ch/hepia/Hand$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..7f5a3d911ba36617faafa35f851ab6311d560287
Binary files /dev/null and b/target/classes/ch/hepia/Hand$1.class differ
diff --git a/target/classes/ch/hepia/Hand.class b/target/classes/ch/hepia/Hand.class
new file mode 100644
index 0000000000000000000000000000000000000000..80fa43d1bfba60969578d63306fe5fc7df58b3c3
Binary files /dev/null and b/target/classes/ch/hepia/Hand.class differ
diff --git a/target/classes/ch/hepia/JeudeCarte.class b/target/classes/ch/hepia/JeudeCarte.class
index 89558dd3cdc5c06109e8aa37fbdfb5ce8deaedab..61d9930e443646901579b26cc34c9e565e2bf61d 100644
Binary files a/target/classes/ch/hepia/JeudeCarte.class and b/target/classes/ch/hepia/JeudeCarte.class differ
diff --git a/target/classes/ch/hepia/Main.class b/target/classes/ch/hepia/Main.class
deleted file mode 100644
index 7c82095527ac8940f83aaf2b36662b4b6e481857..0000000000000000000000000000000000000000
Binary files a/target/classes/ch/hepia/Main.class and /dev/null differ
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 0c59c3ca29800d6357a6b7d77da3e1dd76c1dbd3..1e3b697a61e0d846a5515dec97a6fa90b3ac86c1 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,4 +1,6 @@
 ch/hepia/App.class
+ch/hepia/Hand.class
 ch/hepia/COULEUR.class
 ch/hepia/Carte.class
+ch/hepia/Hand$1.class
 ch/hepia/JeudeCarte.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 54d2d1f36725ffe421a34fca5c105411c1f5cb54..b4947887ab0d20b440b494250ec27987eb0dd6f0 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,3 +1,4 @@
 /home/padi/Git/java-card-game/src/main/java/ch/hepia/JeudeCarte.java
 /home/padi/Git/java-card-game/src/main/java/ch/hepia/Carte.java
 /home/padi/Git/java-card-game/src/main/java/ch/hepia/App.java
+/home/padi/Git/java-card-game/src/main/java/ch/hepia/Hand.java
diff --git a/target/test-classes/ch/hepia/CarteTest.class b/target/test-classes/ch/hepia/CarteTest.class
deleted file mode 100644
index 60dcda85d37ead5584d2ad54aaa8affb1935c4b2..0000000000000000000000000000000000000000
Binary files a/target/test-classes/ch/hepia/CarteTest.class and /dev/null differ