diff --git a/docs/modules/composants/partials/component-diagram.puml b/docs/modules/composants/partials/component-diagram.puml
index caf217be59e0c5b0eba7489ab6c282abd7c56d21..834f2e126353143ad99b4fb12477484433787462 100644
--- a/docs/modules/composants/partials/component-diagram.puml
+++ b/docs/modules/composants/partials/component-diagram.puml
@@ -1,40 +1,32 @@
 @startuml component-diagram
 
-package "GameServer" {
-    component Server
-    component Game
-    component Wonder
-    component Player
-
-    Server -- Game
-    Game -- Player
-    Player -- Wonder 
+package ServerSide {
+  interface IGameManager
+  package Game <<Subsystem>> {
+      component GameManager
+      component Wonder
+      component Player
+
+      IGameManager -down- [GameManager]
+      GameManager -- Player
+      Player -- Wonder
+  }
+
+  IServerMiddleware -up- [ServerMiddleware]
+
+  component Server
+  IServer -down- Server
+  Server -down-( IGameManager
+  Server -up-( IServerMiddleware
+
+  ServerMiddleware -down-( IServer
 }
 
-interface IServer
-' Les nommes differements ca fait pas comme si 2 interfaces differentes ?
-interface IClientA
-interface IClientB
-
-package "Client Middleware" {
-    component ClientMiddlewareA
-    component ClientMiddlewareB
-    component ServerMiddleware
-
-    ClientMiddlewareA -down- ServerMiddleware : WebSocket
-    ClientMiddlewareB -down- ServerMiddleware : WebSocket
+package ClientSide {
+  IClient -up- [Client]
+  IClient -down- [ClientMiddleware]
 }
 
-package "Clients" {
-    component ClientA
-    component ClientB
-
-    ClientA -down- IClientA
-    ClientMiddlewareA -up-( IClientA
-    ClientB -down- IClientB
-    ClientMiddlewareB -up-( IClientB
-}
+ClientMiddleware .down. ServerMiddleware : WebSocket
 
-GameServer -up- IServer
-ServerMiddleware -down-( IServer
 @enduml
\ No newline at end of file