diff --git a/TP9/apqueue.py b/TP9/apqueue.py
old mode 100644
new mode 100755
index cdc44f7d34f0c344ae262e89fb6af1a93e633d08..ded4cb4c21394e96a45eb6d72385c43efb9fb7ed
--- a/TP9/apqueue.py
+++ b/TP9/apqueue.py
@@ -97,6 +97,13 @@ class ApQueue():
         return ApQueue.ARROW + \
             "|".join(str(el) for el in self.__content) + \
             ApQueue.ARROW
+    
+    def __len__(self) -> int:
+        """
+        return the length of this queue
+        """
+        return len(self.__content)
+
 
 
 if __name__ == '__main__':
diff --git a/TP9/card.py b/TP9/card.py
index 820363743b107ae69723229107636f2804072c99..b6f473922e6076fbeb0ba2e7bf0423da74bb484e 100755
--- a/TP9/card.py
+++ b/TP9/card.py
@@ -134,6 +134,14 @@ class Card(object):
         $$$ len(set(cartes))
         len(cartes)
         """
+        res=[]
+        for i in range(n_card):
+            valeur = random.randint(0,len(Card.VALUES)-1)
+            color = random.randint(0,len(Card.COLORS)-1)
+            carte = Card(Card.VALUES[valeur] , Card.COLORS[color])
+            if carte not in res:
+                res.append(carte)
+        return res
         
 
     def __eq__(self, card: Card) -> bool:
diff --git a/TP9/war.py b/TP9/war.py
old mode 100644
new mode 100755
index e1acaccd3e8c30fe38cf8862e58886e2ce5459e8..7ceee8298d7981f41147c055698485423246fc2f
--- a/TP9/war.py
+++ b/TP9/war.py
@@ -37,7 +37,18 @@ def distribute(n_card: int) -> tuple[ApQueue, ApQueue]:
     $$$ isinstance(carte, Card)
     True
     """
-    ...
+    liste_carte = Card.deck(n_card*2)
+    queue_vide1 = ApQueue()
+    queue_vide2 = ApQueue()
+    m1 = liste_carte[:n_card]
+    m2 = liste_carte[n_card:]
+    for i in m1:
+        queue_vide1.enqueue(i)
+    for i in m2:
+        queue_vide2.enqueue(i)
+    return queue_vide1 , queue_vide2
+    
+    
 
 def gather_stack(main: ApQueue, pile: ApStack) -> None:
     """
@@ -49,7 +60,7 @@ def gather_stack(main: ApQueue, pile: ApStack) -> None:
     $$$ main = ApQueue()
     $$$ pile = ApStack()
     $$$ for c in cartes:
-    ...     pile.push(c)
+    pile.push(c)
     $$$ gather_stack( main, pile )
     $$$ len( main ) == 4
     True