diff --git a/webserver/.client.c.swp b/webserver/..client.c.swp.swp
similarity index 75%
rename from webserver/.client.c.swp
rename to webserver/..client.c.swp.swp
index da315db82efee93b4bbd889f0e7f41217db28483..17b95d71f499cd101e051c580b8489881decd84e 100644
Binary files a/webserver/.client.c.swp and b/webserver/..client.c.swp.swp differ
diff --git a/webserver/Makefile b/webserver/Makefile
index f33aa73ae56f6d3b8e18591a3aef85e218d7ec3c..abfe81bf1acf7b4a19b9f4a3ba1fe5499932f2b8 100644
--- a/webserver/Makefile
+++ b/webserver/Makefile
@@ -1,65 +1,60 @@
-# Ces variables servent à préciser le compilateur que l'on veut utiliser
-# ainsi que les paramètres de compilation
-WRAPPER=$(if $(shell which clang), clang, gcc)
-CC=$(WRAPPER)
-LD=$(WRAPPER)
-CFLAGS=-Wall -W -Werror -g -I../../parselib
-LDFLAGS=-lpthread -lrt -L../../parselib -lhttp_parse
-
-# Le nom de l'exécutable à fabriquer
-EXE=pawnee
-
-# Les variables HEADERS, CFILES et OBJS vont contenir respectivement
-# la listes des fichiers .h, .c et le nom des fichiers .o à fabriquer
-# On utilise la directive particulière \$(wildcard ...) qui permet
-# de construire automatiquement une liste de fichiers
-HEADERS=$(wildcard *.h)
-CFILES=$(wildcard *.c)
-# Cette construction de variable veut dire: remplacer la chaine ".c" par
-# ".o" dans la variable CFILES
-# Ceci nous permet de construire la liste des fichiers .o à fabriquer
-OBJS=$(CFILES:.c=.o)
-
-# Même utilisation que précédemment. On précise les règles qui
-# ne fabrique pas de fichier du nom de leur cible
-.PHONY: all clean mrproper
-
-# La règle par défaut déclenche la fabrication de l'exécutable
-# par dépendance
-all: alldeps $(EXE)
-
-.PHONY: alldeps
-alldeps:
-	make -C ../../parselib
-
-# Cette règle permet de construire l'exécutable. Elle dépend des fichiers
-# .o et effectue l'édition de lien. Rien de nouveau ici
-$(EXE): $(OBJS)
-	$(LD) $^ $(LDFLAGS) -o $@ 
-
-# Cette règle permet de construire automatiquement les règles
-# de compilation pour chacun des fichiers .c
-# l'option -MM de gcc analyse un fichier .c et
-# affiche sur sa sortie standard une règle compatible
-# make pour le compiler.
-# Ceci permet d'ajouter automatiquement les fichiers .h aux dépendances
-# des fichiers .o à construire. Ainsi, en modifiant un fichier .h
-# tous les fichiers .c qui incluent ce fichier sont recompilés
-# Après votre première compilation, regardez le contenu du fichier
-# makefile.dep généré afin de comprendre exactement de quoi il retourne.
-makefile.dep: $(CFILES) $(HEADERS)
-	$(CC) $(CFLAGS) -MM $(CFILES) > $@
-
-# Cette règle efface le fichier de dépendances et les fichiers .o
-clean:
-	$(RM) $(OBJS) makefile.dep
-
-# Cette règle effectue la précédente et efface en plus l'exécutable
-mrproper: clean
-	$(RM) $(EXE)
-
-# On inclue le fichier de dépendance qui va contenir les règles
-# de construction des fichiers .o
-# S'il n'existe pas, make invoque automatiquement la règle
-# qui l'a pour cible
-include makefile.dep
+# Ces variables servent à préciser le compilateur que l'on veut utiliser
+# ainsi que les paramètres de compilation
+CC=gcc
+LD=gcc
+CFLAGS=-Wall -W -Werror -g
+LDFLAGS= -g -pthread
+
+# Le nom de l'exécutable à fabriquer
+EXE=pawnee
+
+# Les variables HEADERS, CFILES et OBJS vont contenir respectivement
+# la listes des fichiers .h, .c et le nom des fichiers .o à fabriquer
+# On utilise la directive particulière \$(wildcard ...) qui permet
+# de construire automatiquement une liste de fichiers
+HEADERS=$(wildcard *.h)
+CFILES=$(wildcard *.c)
+# Cette construction de variable veut dire : remplacer la chaine ".c" par
+# ".o" dans la variable CFILES
+# Ceci nous permet de construire la liste des fichiers .o à fabriquer
+OBJS=$(CFILES:.c=.o)
+
+# Même utilisation que précédemment. On précise les règles qui
+# ne fabrique pas de fichier du nom de leur cible
+.PHONY: all clean mrproper
+
+# La règle par défaut déclenche la fabrication de l'exécutable
+# par dépendance
+all: $(EXE)
+
+# Cette règle permet de construire l'exécutable. Elle dépend des fichiers
+# .o et effectue l'édition de lien. Rien de nouveau ici
+$(EXE): $(OBJS)
+	$(LD) $^ $(LDFLAGS) -o $@
+
+# Cette règle permet de construire automatiquement les règles
+# de compilation pour chacun des fichiers .c
+# l'option -MM de gcc analyse un fichier .c et
+# affiche sur sa sortie standard une règle compatible
+# make pour le compiler.
+# Ceci permet d'ajouter automatiquement les fichiers .h aux dépendances
+# des fichiers .o à construire. Ainsi, en modifiant un fichier .h
+# tous les fichiers .c qui incluent ce fichier sont recompilés
+# Après votre première compilation, regardez le contenu du fichier
+# makefile.dep généré afin de comprendre exactement de quoi il retourne.
+makefile.dep: $(CFILES) $(HEADERS)
+	$(CC) -MM $(CFILES) > $@
+
+# Cette règle efface le fichier de dépendances et les fichiers .o
+clean:
+	$(RM) $(OBJS) makefile.dep
+
+# Cette règle effectue la précédente et efface en plus l'exécutable
+mrproper: clean
+	$(RM) $(EXE)
+
+# On inclue le fichier de dépendance qui va contenir les règles
+# de construction des fichiers .o
+# S'il n'existe pas, make invoque automatiquement la règle
+# qui l'a pour cible
+include makefile.dep
diff --git a/webserver/client.c b/webserver/client.c
index d8ae60d92bb692f1c1736eea2d5dd55a6c56bfcb..1440815d309ad63e733a6849dd5b635dc4ec42c0 100644
--- a/webserver/client.c
+++ b/webserver/client.c
@@ -11,8 +11,8 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
-/*
-int copy(FILE* in, FILE* out){
+
+/*int copy(FILE* in, FILE* out){
 	char* ch;
 	if(in && out){
 		while((ch = fgetc(in))!= EOF ){
@@ -36,14 +36,16 @@ int get_file_size(int fd){
 
 FILE* check_and_open(const char* target, const char *document_root){
 	return fopen(target +"/"+document_root,"r");
-}
+}*/
 
 char* rewrite_target(char *target){
 	char* ret = strchr(target, '?');
 	char* rep ="";
-	strncpy(rep,target,atoi(ret)-1);
+    if (ret!= NULL){
+	    strncpy(rep,target,atoi(ret)-1);
+    }
 	return rep;
-}*/
+}
 
 
 char* fgets_or_exit(char * buffer, int size, FILE *fd){
@@ -79,12 +81,14 @@ void send_status(FILE *client, int code, const char *reason_phrase){
 }
 
 void send_response(FILE *client, int code, const char *reason_phrase, const char *message_body){
+    fprintf(client, "entree dans send_response\r\n");
 	send_status(client,code,reason_phrase);
 	//transmet la réponse complète (la suite)
 	fprintf(client,"Content-Lenght: %u\r\n",(unsigned int)strlen(message_body));
 	fprintf(client,"\r\n");
 	fprintf(client,"%s\r\n",message_body);
-	fflush(client);
+    fprintf(client, "sortie de send_response\r\n");
+    fflush(client);
 }
 
 
@@ -101,9 +105,11 @@ int traitementClient(int socket_client){
 		perror("Error opening file");
 		exit(1);
 	}
+    //fprintf(fd,"pas d'erreurs d'ouverture\n");
 	fgets_or_exit(str,8000,fd);
 	int parse_ret = parse_http_request(str,&request);
 	skip_headers(fd);
+	fprintf(fd, "avant if parse_ret\n");
 	if (parse_ret == -1) {
 		if (request.method == HTTP_UNSUPPORTED){
 			send_response(fd, 405, "Method Not Allowed", "Method Not Allowed");
@@ -112,23 +118,27 @@ int traitementClient(int socket_client){
 		}
 	}else if (strcmp(request.target, "/") == 0){
 		send_response(fd, 200, "OK", motd);
+        fprintf(fd, "fin du else-if\r\n");
 	}else{
 		send_response(fd, 404, "Not Found", "Not Found");
 	}
-	//partie 7/*
+
+	//partie 7/
 	char* absolute_path = rewrite_target(request.target);
 	//--- les printf ne fonctionnent pas ;(
-	printf("test - - -  - - -  - - \n%s",absolute_path);
+	fprintf(fd,"avant test\r\n");
+	fprintf(fd,"test - - -  - - -  - - \n%s\r\n",absolute_path);
 	//---
 
-	FILE* fichier = check_and_open(absolute_path, "document.txt");
+/*	FILE* fichier = check_and_open(absolute_path, "document.txt");
 	if(fichier == NULL){
 		send_response(fd, 404, "Not Found", "Not Found");
 	}
-	int size = get_file_size(fileno(fichier);
+	int size = get_file_size(fileno(fichier));
 	if(copy(fichier,fd))==-1){
 		//error
 	}*/
+	fflush(fd);
 	fclose(fd);
     return 0;
 }
diff --git a/webserver/client.o b/webserver/client.o
index 4a4e219d55a52f2a94deceb86441ebf80e401b5c..00a723fbf8ab01dc33cddc216582363fe381cb67 100644
Binary files a/webserver/client.o and b/webserver/client.o differ
diff --git a/webserver/http_parse.o b/webserver/http_parse.o
index 201d5634e46c81fa7db63169a55f2cd59abb0c03..6d49f80407ace1f2b89d7c6a08a031e63df2bcf6 100644
Binary files a/webserver/http_parse.o and b/webserver/http_parse.o differ
diff --git a/webserver/main.o b/webserver/main.o
index 069932ca1a8d105bc2eeebc17a2c1ee144b6ed54..43a7c9df27260246aae85e79fc077fbb8043f425 100644
Binary files a/webserver/main.o and b/webserver/main.o differ
diff --git a/webserver/pawnee b/webserver/pawnee
index c01f5ab2a0c4cad2119b342bffc4b85a46bfbfd3..0e20b4bf5952b4c3e01ae1f3c150b9af7a1e28f2 100755
Binary files a/webserver/pawnee and b/webserver/pawnee differ
diff --git a/webserver/socket.o b/webserver/socket.o
index 0df2fc98e5debf3f76433bd18a7dccc2fec6200a..02a2d23ceca50a003abc28b9e641d79a42a5ea7a 100644
Binary files a/webserver/socket.o and b/webserver/socket.o differ