diff --git a/webserver/.client.c.swp b/webserver/.client.c.swp
index 262f617627917e7bf7f067072e3599d63ee7d0bf..e8e5cee828505144e5259dac66921fccd25827ed 100644
Binary files a/webserver/.client.c.swp and b/webserver/.client.c.swp differ
diff --git a/webserver/.http_parse.c.swp b/webserver/.http_parse.c.swp
deleted file mode 100644
index 4b057ebc05b5c11ba9ddc95116f2e7be53239623..0000000000000000000000000000000000000000
Binary files a/webserver/.http_parse.c.swp and /dev/null differ
diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp
deleted file mode 100644
index ccebf23158fe301ce158e29f71398dbc4e8e5255..0000000000000000000000000000000000000000
Binary files a/webserver/.main.c.swp and /dev/null differ
diff --git a/webserver/.socket.c.swp b/webserver/.socket.c.swp
deleted file mode 100644
index 7637776f53ecf29d2aae54527982f7ababf6641e..0000000000000000000000000000000000000000
Binary files a/webserver/.socket.c.swp and /dev/null differ
diff --git a/webserver/Makefile b/webserver/Makefile
index 0a86850ccb33f46599070db1a29c981b396b08b4..f33aa73ae56f6d3b8e18591a3aef85e218d7ec3c 100644
--- a/webserver/Makefile
+++ b/webserver/Makefile
@@ -1,21 +1,65 @@
-CFLAGS=-Wall -Wextra -Werror -g
-LIB=libhttp_parse.a
+# 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
 
-SRC=$(wildcard *.c)
-OBJS=$(SRC:.c=.o)
-HDR=$(wildcard *.h)
+# Le nom de l'exécutable à fabriquer
+EXE=pawnee
 
-$(LIB): $(OBJS)
-	ar rs $@ $^
-	ranlib $@
+# 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)
 
-makefile.dep: $(SRC) $(HDR)
-	$(CC) $(CFLAGS) -MM $(SRC) > $@
+# 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
 
-.PHONY: 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)
+	$(RM) $(OBJS) makefile.dep
+
+# Cette règle effectue la précédente et efface en plus l'exécutable
 mrproper: clean
-	$(RM) $(LIB)
+	$(RM) $(EXE)
 
-include makefile.dep
\ No newline at end of file
+# 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 331af9cc88808fdd3a38ba20077bbd883e1a08ef..556ef4bf6f0663369240ca85bf2bb55ec15e36a6 100644
--- a/webserver/client.c
+++ b/webserver/client.c
@@ -10,6 +10,7 @@
 
 
 
+
 char* fgets_or_exit(char * buffer, int size, FILE *fd){
         char * ret = fgets(buffer,size,fd);
         if(ret){
@@ -45,53 +46,21 @@ 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){
 	send_status(client,code,reason_phrase);
 	//transmet la réponse complète (la suite)
-	fprintf(client,"Content-Length : 17 \r\n%d %s",code,message_body);
+	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);
 }
-/*
-char* testCorrect(char* str, int first){
-	char* strRet;
-	http_request request;
-	char *correctStr = "GET / HTTP/1.1";
-	char *correctStr2 = "GET /inexistant HTTP/1.1";
-	char *incorrectStrBR = "HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-Length:17\r\n\r\n400 Bad request";
- 	char *correctStrOk = "HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 17\r\n\r\n200 OK";
-	char *incorrectStrNF = "HTTP/1.1 404 not found\r\nConnection close\r\nContent-Length:17\r\n\r\n404 Not Found";
-	//start-line à véfifier avec le parse_http_request
-	if(parse_http_request(str,&request) == -1 && first == 0) {
-		//strRet=incorrectStrBR;
-		skip_headers(str);
-	}else if(!strcmp(correctStr,str)) {
-		strRet = correctStrOk;
-	}else if(strcmp(str,correctStr2)){
-		strRet = incorrectStrNF;
-	}else{
-		strRet = NULL;
-	}
-	printf("---\n%s\n---",strRet);
-	return strRet;
-}
-*/
 
-/*-------------------
-	int first = 0;
-	while(!feof(fd) && fgets(buffer,size,fd) != NULL){
-		char* resTest = testCorrect(buffer,first);
-		if(resTest!=NULL)fprintf(fd,"<Notre Serveur> %s\n",resTest);
-               	first=1;
-                fflush(fd);
-	}
-        first=0;
-	exit(1);
-}*/
+
 
 int traitementClient(int socket_client){
 	/* On peut maintenant dialoguer avec le client */
-	char *motd="Bienvenue client";
+	char *motd="Votre requète est bonne";
 	char str[8000];
 	http_request request;
 	FILE *fd;
 	fd = fdopen(socket_client, "a+");
-	fprintf(fd,"Bienvenue client\n");
 	if(fd == NULL) {
 		perror("Error opening file");
 		exit(1);
@@ -101,14 +70,14 @@ int traitementClient(int socket_client){
 	skip_headers(fd);
 	if (parse_ret == -1) {
 		if (request.method == HTTP_UNSUPPORTED){
-			send_response(fd, 405, "Method Not Allowed", "Method Not Allowed\r\n");
+			send_response(fd, 405, "Method Not Allowed", "Method Not Allowed");
 		}else{
-		send_response(fd, 400, "Bad Request", "Bad request\r\n");
+		send_response(fd, 400, "Bad Request", "Bad request");
 		}
 	}else if (strcmp(request.target, "/") == 0){
 		send_response(fd, 200, "OK", motd);
 	}else{
-		send_response(fd, 404, "Not Found", "Not Found\r\n");
+		send_response(fd, 404, "Not Found", "Not Found");
 	}
 	fclose(fd);
     return 0;
diff --git a/webserver/client.c.save b/webserver/client.c.save
deleted file mode 100644
index 59fcc4204b7b96dd6f8ec5cca93611ca3460e3e8..0000000000000000000000000000000000000000
--- a/webserver/client.c.save
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include "socket.h"
-#include <netinet/in.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-#include "client.h"
-
-
-
-char* testCorrect(char* str, int first){
-//	char* size = "";
-//	sprintf(size, "%ld", strlen(str));
-	char* strRet;
-	char *correctStr = "GET / HTTP/1.1";
-	char *correctStr2 = "GET /inexistant HTTP/1.1";
-	//double strcat fait bugger
-	char *incorrectStrBR = "HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-Length:17\r\n\r\n400 Bad request";
- 	char *correctStrOk = "HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 17\r\n\r\n200 OK";
-	char *incorrectStrNF = "HTTP/1.1 404 not found\r\nConnection close\r\nContent-Length:17\r\n\r\n404 Not Found";
-	if(strstr(str,correctStr) == NULL && first == 0) {
-		strRet=incorrectStrBR;
-		//printf("---\n%s\n---",str);
-	}else if(!strcmp(str,"\r\n")) {
-		strRet = correctStrOk;
-	}else if(strcmp(str,correctStr2)){
-		strRet = incorrectStrNF;
-	}else{
-		strRet = NULL;
-	}
-	printf("---\n%s\n---",strRet);
-	return strRet;
-}
-
-
-char* fgets_or_exit(char * buffer, int size, FILE *fd){
-	int first = 0;
-	while(!feof(fd) && fgets(buffer,size,fd) != NULL){
-		char* resTest = testCorrect(buffer,first);
-		if(resTest!=NULL)fprintf(fd,"<Notre Serveur> %s\n",resTest);
-               	first=1;
-                fflush(fd);
-	}
-        first=0;
-	exit(1);
-}
-
-int traitementClient(int socket_client){
-			/* On peut maintenant dialoguer avec le client */
-			//const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus v
-			char str[8000];
-			FILE *fd;
-			//status = write(socket_client, message_bienvenue, strlen(message_bienvenue));
-			fd = fdopen(socket_client, "a+");
-			fprintf(fd,"Bienvenue client\n");
-			if(fd == NULL) {
-   				perror("Error opening file");
-				exit(1);
-			}
-			fgets_or_exit(str,8000,fd);
-			fclose(fd);
-    return 0;
-}
diff --git a/webserver/client.o b/webserver/client.o
index 904a2e3cbda3538b0c2c85f6b755c44c460cbeec..b2e9c5334a81915453e3b8cdfedb49c8f9637de8 100644
Binary files a/webserver/client.o and b/webserver/client.o differ
diff --git a/webserver/libhttp_parse.a b/webserver/libhttp_parse.a
index 82b66a6b5ed5439e85a2baf72f535797422bf4b5..ab3dff2a19cbee38cbe74de6765f54f155e41fed 100644
Binary files a/webserver/libhttp_parse.a and b/webserver/libhttp_parse.a differ
diff --git a/webserver/main.c.save b/webserver/main.c.save
deleted file mode 100644
index ce4ee56da14281277cfa571b5256f0f315ac00e7..0000000000000000000000000000000000000000
--- a/webserver/main.c.save
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <signal.h>
-#include "socket.h"
-#include <sys/types.h>
-#include <sys/wait.h>
-int status;
-
-void traitement_signal(int sig) {
-	printf("Signal %d reçu\n", sig);
-    int pid;
-	while((pid = waitpid(-1,&status,WNOHANG))>0){printf("pid terminated %d\n",pid);} //-1 n'importe quel proccessus
-}
-
-
-
-void initialiser_signaux(void) {
-        if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
-                perror("signal");
-        }
-	struct sigaction sa;
-	sa.sa_handler = traitement_signal;
-	sigemptyset(&sa.sa_mask);
-	sa.sa_flags = SA_RESTART;
-	if (sigaction(SIGCHLD, &sa, NULL) == -1) {
-		perror("sigaction(SIGCHLD)");
-	}
-}
-
-
-
-
-int main(int argc, char **argv) {
-	/* Arnold Robbins in the LJ of February '95, describing RCS */
-	if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
-		printf("Don't Panic!\n");
-	return 42;
-	}
-	initialiser_signaux(); 
-	printf("Need an advice?\n");
-	creer_serveur(8080);
-	return 0;
-}
diff --git a/webserver/main.o b/webserver/main.o
index 2091926a43f76b108fa24f82887767c62002dce7..069932ca1a8d105bc2eeebc17a2c1ee144b6ed54 100644
Binary files a/webserver/main.o and b/webserver/main.o differ
diff --git a/webserver/pawnee b/webserver/pawnee
index 65b9b5d470dca57b1fea5814215e05ba239dc6fa..c20a651122655a32332826702626eac47bb97d5d 100755
Binary files a/webserver/pawnee and b/webserver/pawnee differ
diff --git a/webserver/socket.c b/webserver/socket.c
index b91b084db34f0c7d09cdfc3c75cae6735b6ba7ff..84ed6a3109be6c69442977f7001c1f445af134ef 100644
--- a/webserver/socket.c
+++ b/webserver/socket.c
@@ -17,13 +17,11 @@ int creer_serveur(int port){
 		perror("socket_serveur");
 		exit(1);
 	}
-
 	int optval = 1;
 	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
 		perror("Can not set SO_REUSEADDR option");
 		exit(1);
 	}
-
 	/*Utilisation de la socket serveur */
 //bind
 	struct sockaddr_in saddr;
@@ -35,7 +33,6 @@ int creer_serveur(int port){
 		/* traitement de l'erreur */
 		exit(1);
 	}
-
 //listen
 	if (listen(socket_serveur, 10) == -1) {
 		perror("listen socket_serveur");
@@ -59,11 +56,9 @@ int creer_serveur(int port){
 			exit(1);
 		}else if(pid > 0) {
 			//close(socket_client);  fait une erreur si on le met
-            
 		}else{ // à déplacer ailleurs pour une meilleure lisibilité
 			 //traitement final
         		traitementClient(socket_client);
-			
 			printf("fin du client\n");
 			exit(0);
 		}
diff --git a/webserver/socket.c.save b/webserver/socket.c.save
deleted file mode 100644
index 55f6e182a10878e14a336e97ad6b2426042754a4..0000000000000000000000000000000000000000
--- a/webserver/socket.c.save
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include "socket.h"
-#include <netinet/in.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-
-int creer_serveur(int port){
-//socket
-	int socket_serveur;
-	socket_serveur = socket(AF_INET, SOCK_STREAM, 0);
-	if (socket_serveur == -1) {
-		/* traitement de l'erreur */
-		perror("socket_serveur");
-		exit(1);
-	}
-
-	int optval = 1;
-	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		perror("Can not set SO_REUSEADDR option");
-		exit(1);
-	}
-
-	/*Utilisation de la socket serveur */
-//bind
-	struct sockaddr_in saddr;
-	saddr.sin_family = AF_INET; /* Socket ipv4 */
-	saddr.sin_port = htons(port); /* Port d'écoute */
-	saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */
-	if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){
-		perror("bind socker_serveur");
-		/* traitement de l'erreur */
-		exit(1);
-	}
-
-//listen
-	if (listen(socket_serveur, 10) == -1) {
-		perror("listen socket_serveur");
-		/* traitement d'erreur */
-		exit(1);
-	}
-//decouper ici ---
-	int socket_client;
-	while(1){
-		socket_client = accept(socket_serveur, NULL, NULL);
-
-		if (socket_client == -1) {
-			perror("accept");
-			/* traitement d'erreur */
-			exit(1);
-		}
-
-		int pid = fork();
-		if(pid == -1){
-			perror("fork fail");
-			exit(1);
-		}else if(pid > 0) {
-			//close(socket_client);  fait une erreur si on le met
-		}else{
-			/* On peut maintenant dialoguer avec le client */
-			const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur.";
-			while(1){
-				write(socket_client, message_bienvenue, strlen(message_bienvenue));
-				sleep(1);
-			}
-			close(socket_client);
-			exit(0);
-		}
-	}
-	return 0;
-}
diff --git a/webserver/socket.c.save.1 b/webserver/socket.c.save.1
deleted file mode 100644
index 23af14f584477ec2c6e8d0007422466dde009d81..0000000000000000000000000000000000000000
--- a/webserver/socket.c.save.1
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include "socket.h"
-#include <netinet/in.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-
-
-int creer_serveur(int port){
-//socket
-	int socket_serveur;
-	socket_serveur = socket(AF_INET, SOCK_STREAM, 0);
-	if (socket_serveur == -1) {
-		/* traitement de l'erreur */
-		perror("socket_serveur");
-		exit(1);
-	}
-
-	int optval = 1;
-	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		perror("Can not set SO_REUSEADDR option");
-		exit(1);
-	}
-
-	/*Utilisation de la socket serveur */
-//bind
-	struct sockaddr_in saddr;
-	saddr.sin_family = AF_INET; /* Socket ipv4 */
-	saddr.sin_port = htons(port); /* Port d'écoute */
-	saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */
-	if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){
-		perror("bind socker_serveur");
-		/* traitement de l'erreur */
-		exit(1);
-	}
-
-//listen
-	if (listen(socket_serveur, 10) == -1) {
-		perror("listen socket_serveur");
-		/* traitement d'erreur */
-		exit(1);
-	}
-//decouper ici ---
-	int socket_client;
-	while(1){
-		socket_client = accept(socket_serveur, NULL, NULL);
-
-		if (socket_client == -1) {
-			perror("accept");
-			/* traitement d'erreur */
-			exit(1);
-		}
-
-		int pid = fork();
-		if(pid == -1){
-			perror("fork fail");
-			exit(1);
-		}else if(pid > 0) {
-			//close(socket_client);  fait une erreur si on le met
-
-		}else{ // à déplacer ailleurs pour une meilleure lisibilité
-			/* On peut maintenant dialoguer avec le client */
-			const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur.";
-
-            int status = 1;
-			while(status>0){
-				status = write(socket_client, message_bienvenue, strlen(message_bienvenue));
-				sleep(1);
-			} //traitement final
-			printf("fin du client\n");
-            close(socket_client);
-			exit(0);
-		}
-	}
-	return 0;
-}
diff --git a/webserver/socket.c.save.2 b/webserver/socket.c.save.2
deleted file mode 100644
index 302756bb8264381a4904abf8c2921e109a6842d6..0000000000000000000000000000000000000000
--- a/webserver/socket.c.save.2
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include "socket.h"
-#include <netinet/in.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-#include "client.h"
-
-
-int creer_serveur(int port){
-//socket
-	int socket_serveur;
-	socket_serveur = socket(AF_INET, SOCK_STREAM, 0);
-	if (socket_serveur == -1) {
-		/* traitement de l'erreur */
-		perror("socket_serveur");
-		exit(1);
-	}
-
-	int optval = 1;
-	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		perror("Can not set SO_REUSEADDR option");
-		exit(1);
-	}
-
-	/*Utilisation de la socket serveur */
-//bind
-	struct sockaddr_in saddr;
-	saddr.sin_family = AF_INET; /* Socket ipv4 */
-	saddr.sin_port = htons(port); /* Port d'écoute */
-	saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */
-	if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){
-		perror("bind socker_serveur");
-		/* traitement de l'erreur */
-		exit(1);
-	}
-
-//listen
-	if (listen(socket_serveur, 10) == -1) {
-		perror("listen socket_serveur");
-		/* traitement d'erreur */
-		exit(1);
-	}
-//decouper ici ---
-	int socket_client;
-	while(1){
-		socket_client = accept(socket_serveur, NULL, NULL);
-
-		if (socket_client == -1) {
-			perror("accept");
-			/* traitement d'erreur */
-			exit(1);
-		}
-
-		int pid = fork();
-		if(pid == -1){
-			perror("fork fail");
-			exit(1);
-		}else if(pid > 0) {
-			//close(socket_client);  fait une erreur si on le met
-
-		}else{ // à déplacer ailleurs pour une meilleure lisibilité
-			 //traitement final
-            traitementClient(socket_client);
-			printf("fin du client\n");
-            close(socket_client);
-			exit(0);
-		}
-	}
-	return 0;
-}
diff --git a/webserver/socket.c.save.3 b/webserver/socket.c.save.3
deleted file mode 100644
index 321ca83426801d88acc6ba2db973eb1a5bccc163..0000000000000000000000000000000000000000
--- a/webserver/socket.c.save.3
+++ /dev/null
@@ -1,71 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include "socket.h"
-#include <netinet/in.h>
-#include <sys/wait.h>
-#include <stdlib.h>
-#include "client.h"
-
-
-int creer_serveur(int port){
-//socket
-	int socket_serveur;
-	socket_serveur = socket(AF_INET, SOCK_STREAM, 0);
-	if (socket_serveur == -1) {
-		/* traitement de l'erreur */
-		perror("socket_serveur");
-		exit(1);
-	}
-
-	int optval = 1;
-	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		perror("Can not set SO_REUSEADDR option");
-		exit(1);
-	}
-
-	/*Utilisation de la socket serveur */
-//bind
-	struct sockaddr_in saddr;
-	saddr.sin_family = AF_INET; /* Socket ipv4 */
-	saddr.sin_port = htons(port); /* Port d'écoute */
-	saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */
-	if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){
-		perror("bind socker_serveur");
-		/* traitement de l'erreur */
-		exit(1);
-	}
-
-//listen
-	if (listen(socket_serveur, 10) == -1) {
-		perror("listen socket_serveur");
-		/* traitement d'erreur */
-		exit(1);
-	}
-//decouper ici ---
-	int socket_client;
-	while(1){
-		socket_client = accept(socket_serveur, NULL, NULL);
-
-		if (socket_client == -1) {
-			perror("accept");
-			/* traitement d'erreur */
-			exit(1);
-		}
-
-		int pid = fork();
-		if(pid == -1){
-			perror("fork fail");
-			exit(1);
-		}else if(pid > 0) {
-			//close(socket_client);  fait une erreur si on le met
-            
-		}else{ // à déplacer ailleurs pour une meilleure lisibilité
-			 //traitement final
-        		traitementClient(socket_client);
-			printf("fin du client\n");
-			exit(0);
-		}
-	}
-	return 0;
-}
diff --git a/webserver/socket.o b/webserver/socket.o
index ecac66b78373e9b6316a48c28026bb43fdbf2618..0df2fc98e5debf3f76433bd18a7dccc2fec6200a 100644
Binary files a/webserver/socket.o and b/webserver/socket.o differ