diff --git a/serveur.py b/serveur.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cfd398229d21404c53270c9d2ff74857efc8de6
--- /dev/null
+++ b/serveur.py
@@ -0,0 +1,64 @@
+import socket
+import threading
+import tkinter as tk
+
+def accept_connections():
+    while True:
+        client_socket, client_address = server_socket.accept()
+        clients.append(client_socket)
+        message = f"{client_address[0]}:{client_address[1]} connected."
+        chat_box.insert(tk.END, message + "\n")
+        broadcast(message)
+        client_thread = threading.Thread(target=handle_client, args=(client_socket,))
+        client_thread.start()
+
+def handle_client(client_socket):
+    while True:
+        try:
+            message = client_socket.recv(1024).decode()
+            broadcast(message)
+        except ConnectionResetError:
+            client_socket.close()
+            clients.remove(client_socket)
+            broadcast(f"Client {client_socket.getpeername()} disconnected.")
+            break
+
+def broadcast(message):
+    for client_socket in clients:
+        try:
+            client_socket.send(message.encode())
+        except ConnectionResetError:
+            client_socket.close()
+            clients.remove(client_socket)
+
+def send_message():
+    message = message_input.get()
+    broadcast("Server: " + message)
+    chat_box.insert(tk.END, "Server: " + message + "\n")
+    message_input.delete(0, tk.END)
+
+# Create the server socket
+server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+server_socket.bind(('localhost', 5000))
+server_socket.listen(5)
+
+clients = []
+
+# Create the GUI
+window = tk.Tk()
+window.title("Chat Server")
+
+chat_box = tk.Text(window, height=10, width=50)
+chat_box.pack()
+
+message_input = tk.Entry(window, width=50)
+message_input.pack()
+
+send_button = tk.Button(window, text="Send", command=send_message)
+send_button.pack()
+
+# Start accepting connections in a separate thread
+accept_thread = threading.Thread(target=accept_connections)
+accept_thread.start()
+
+window.mainloop()
\ No newline at end of file