diff --git a/travail_individuel/Belkhiri/x_fenetre/Makefile b/travail_individuel/Belkhiri/x_fenetre/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..e76de77896acfdf5d8d8e97b8a1c9504c2364375
--- /dev/null
+++ b/travail_individuel/Belkhiri/x_fenetre/Makefile
@@ -0,0 +1,21 @@
+CC=gcc
+
+LDFLAG=$(shell sdl2-config --cflags --libs) -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
+CFLAG=-Wall $(shell sdl2-config --cflags --libs)
+
+EXEC=run
+SRC=$(wildcard *.c)
+OBJ=$(SRC:.c=.o)
+
+all:$(EXEC)
+
+$(EXEC):$(OBJ)
+	$(CC) -o $@ $^ $(LDFLAG)
+
+%.o:%.c
+	$(CC) -o $@ -c $< $(CFLAG)
+
+.PHONY:clean 
+
+clean:
+	rm -rf $(EXEC)
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/x_fenetre/X.c b/travail_individuel/Belkhiri/x_fenetre/X.c
new file mode 100644
index 0000000000000000000000000000000000000000..2d5a68fbf92fd56439bdb235ff3782c02e99f836
--- /dev/null
+++ b/travail_individuel/Belkhiri/x_fenetre/X.c
@@ -0,0 +1,100 @@
+#include <SDL2/SDL.h>
+#include <stdio.h>
+
+
+int main(int argc, char **argv) {
+    (void)argc;
+    (void)argv;
+
+    int screen_width = 1079;
+    int screen_height = 1920;
+
+    SDL_Window * windows[20];
+
+    int bounce_count = 0;
+    int amplitude_bounce = 200;
+    int left_most_position = 0;
+    int top_most_position = 0;
+
+    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
+    SDL_Log("Error : SDL initialisation - %s\n", 
+             SDL_GetError());
+    exit(EXIT_FAILURE);
+    }
+        int pas_y = (screen_height)/20;
+        int pas_x = (screen_width)/20;
+        int last_drawy = 0;
+
+    for  (int i = 0; i < 10; i++) {
+        int draw_x = top_most_position + i * pas_x;
+        int draw_y = left_most_position + i * pas_y;
+        last_drawy = draw_y;
+        windows[i] = SDL_CreateWindow("Window",
+                                        draw_y , draw_x,  
+                                        400, 300,
+                                        SDL_WINDOW_SHOWN);
+        if (windows[i] == NULL) {
+                SDL_Log("Error : SDL window creation - %s\n", 
+                        SDL_GetError());
+                exit(EXIT_FAILURE);
+        }
+        SDL_Delay(50);
+    }
+
+    for  (int i = 10; i < 20; i++) {
+        int draw_x = top_most_position + (i-10) * pas_x;
+        int draw_y = last_drawy - (i-10) * pas_y;
+        windows[i] = SDL_CreateWindow("Window",
+                                    draw_y , draw_x,  
+                                    400, 300,
+                                    SDL_WINDOW_SHOWN);
+        if (windows[i] == NULL) {
+            SDL_Log("Error : SDL window creation - %s\n", 
+                    SDL_GetError());
+            exit(EXIT_FAILURE);
+        }
+        SDL_Delay(50);
+    }
+
+    SDL_Delay(100);
+
+    while (bounce_count < 50) {
+
+    
+        for  (int i = 0; i < 10; i++) {
+            int draw_x = top_most_position + i * pas_x;
+            int draw_y = left_most_position + i * pas_y;
+            last_drawy = draw_y;
+            SDL_SetWindowPosition(windows[i],
+                                draw_y , draw_x);
+
+            //SDL_Delay(50);
+        }
+
+        for  (int i = 10; i < 20; i++) {
+            int draw_x = top_most_position + (i-10) * pas_x;
+            int draw_y = last_drawy - (i-10) * pas_y;
+            SDL_SetWindowPosition(windows[i],
+                                        draw_y , draw_x);
+            //SDL_Delay(50);
+        }
+
+        SDL_Delay(100);
+
+
+        bounce_count+=1;
+        int signe = (bounce_count % 2 == 0) ? (1) : (-1);
+        left_most_position = left_most_position + amplitude_bounce;
+        amplitude_bounce = 200 * sin(bounce_count);
+    }
+    for (int i = 0; i < 20; i++) {
+        SDL_DestroyWindow(windows[i]);
+    }
+
+
+    SDL_Delay(2000);
+
+    SDL_Quit();
+
+      return 0;
+}
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/x_fenetre/run b/travail_individuel/Belkhiri/x_fenetre/run
new file mode 100755
index 0000000000000000000000000000000000000000..64084e4825d6614c016394579ef63b7ad36a1453
Binary files /dev/null and b/travail_individuel/Belkhiri/x_fenetre/run differ