diff --git a/packet_class.py b/packet_class.py
new file mode 100644
index 0000000000000000000000000000000000000000..a624c10da4121f0f3fcc997df6cddc807694d0b4
--- /dev/null
+++ b/packet_class.py
@@ -0,0 +1,29 @@
+import struct
+import socket
+import simu_perte_class
+
+class Packet:
+    def __init__(self,opCode,fileName=None,block=None,data=None):
+        mode = "octet"
+        if(opCode==1 or opCode==2):
+            self.p = struct.pack('>h'+str(len(fileName))+'s'+'?'+str(len(mode))+'s'+'?',opCode,fileName,0,mode,0)
+        elif(opCode == 3):
+            self.p = struct.pack('>hh'+str(len(data))+'s',opCode,block,data)
+        elif(opCode == 4):
+            self.p = struct.pack('>hh',opCode,block)
+        elif(opCode == 5):
+            self.p = struct.pack('>hh'++str(len(errorMsg))+'s?',opCode,errorCode,errorMsg,0)
+        
+    
+    def send(self,canal):
+        print("Try to send Packet")
+        canal.send(self.p)
+    
+    def receive(self,canal):
+        print("Try to receive Packet")
+        d = canal.receive()
+        return d
+
+
+
+