diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index f3c7a7c5da68804a1bdf391127ba34aed33c3cca..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2e97c62809fd4f635c88e7f7940d42775131d776
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all: display_backend
+
+display_backend: main.go queue.c queue.h
+	CC=arm-linux-gcc GOARCH=arm GOOS=linux CGO_ENABLED=1 go build -o $@
+
+install: display_backend
+	sudo cp display_backend ~/Documents/hepia/3eme_sem/embedded_linux/nfsroot/root/.
\ No newline at end of file
diff --git a/main.go b/main.go
index 90fba531569aec3c4a32e45c642e6e2d804973b5..f8b6be84e286d8158a5f8e4e7bc3babe5cb60bfa 100644
--- a/main.go
+++ b/main.go
@@ -27,6 +27,7 @@ import (
 	"github.com/labstack/echo/v4/middleware"
 )
 
+const SERVER_PATH = "/var/backendgo/"
 
 func main() {
 
@@ -37,7 +38,8 @@ func main() {
 	e.HideBanner = true
 	e.Use(middleware.BodyLimit("1M"))
 
-	os.Mkdir("images", os.ModePerm)
+	os.Mkdir(SERVER_PATH, os.ModePerm)
+	os.Mkdir(SERVER_PATH + "images", os.ModePerm)
 
 	e.GET("/list", listFiles)
 	e.GET("/download/:image", downloadFile)
@@ -57,7 +59,7 @@ func listFiles(c echo.Context) error {
 	var buffer bytes.Buffer
 
 	// Read the files in a directory
-	files, err := ioutil.ReadDir("images")
+	files, err := ioutil.ReadDir(SERVER_PATH + "images")
 	if err != nil {
 		log.Fatal(err)
 		return c.String(http.StatusInternalServerError, "Failed to get files list")
@@ -78,13 +80,13 @@ func deleteFile(c echo.Context) error {
 	filename := c.Param("image")
 
 	// Check if the file exists
-	_, err := os.Stat("images/" + filename)
+	_, err := os.Stat(SERVER_PATH + "images/" + filename)
 	if errors.Is(err, os.ErrNotExist) {
 		return c.String(http.StatusNotFound, "File " + filename + " not found.\n")
 	}
 
 	// Remove the file
-	os.Remove("images/" + filename)
+	os.Remove(SERVER_PATH + "images/" + filename)
 
 	return c.String(http.StatusOK, filename + " Deleted\n")
 }
@@ -106,7 +108,7 @@ func uploadFile(c echo.Context) error {
 	defer src.Close()
 
 	// Open destination file
-	dst, err := os.Create("images/" + file.Filename)
+	dst, err := os.Create(SERVER_PATH + "images/" + file.Filename)
 	if err != nil {
 		return err
 	}
@@ -128,19 +130,19 @@ func downloadFile(c echo.Context) error {
 
 	filename := c.Param("image")
 	// Check if the file exists
-	_, err := os.Stat("images/" + filename)
+	_, err := os.Stat(SERVER_PATH + "images/" + filename)
 	if errors.Is(err, os.ErrNotExist) {
 		fmt.Println(err.Error())
 		return c.String(http.StatusNotFound, "File " + filename + " not found.\n")
 	}
 
-	return c.File("images/" + filename)
+	return c.File(SERVER_PATH + "images/" + filename)
 }
 
 // Convert a file from any format to .ppm and scale it to 240x320
 func convertFile(filename string) {
 	basename := strings.Split(filename, ".")[0]
-	cmd := exec.Command("convert", "images/"+filename, "-scale", "240x320!", "images/"+basename+".ppm")
+	cmd := exec.Command("convert", SERVER_PATH+"images/"+filename, "-scale", "240x320!", SERVER_PATH+"images/"+basename+".ppm")
 
 	err := cmd.Run()
 	if err != nil {
@@ -151,7 +153,7 @@ func convertFile(filename string) {
 func displayImage(c echo.Context) error {
 	filename := c.Param("image")
 	// Check if the file exists
-	_, err := os.Stat("images/" + filename)
+	_, err := os.Stat(SERVER_PATH + "images/" + filename)
 	if errors.Is(err, os.ErrNotExist) && filename != "break" {
 		fmt.Println(err.Error())
 		return c.String(http.StatusNotFound, "File " + filename + " not found.\n")