diff --git a/.env b/.env
new file mode 100644
index 0000000000000000000000000000000000000000..d958fc60f4b80b9166903ed685c72bbce18f9fc3
--- /dev/null
+++ b/.env
@@ -0,0 +1,4 @@
+MYSQL_ROOT_PASSWORD=r00tracoin
+MYSQL_USER=racoin
+MYSQL_PASSWORD=racoin
+MYSQL_DATABASE=racoin
diff --git a/composer.json b/composer.json
index 9654d2f7e4bfc0280c26ac9b4dbf5d3a9a15223a..87174f0f95a154c4d1264cefe46bdda83da35394 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
     "require": {
-        "slim/slim": "2.*",
+        "slim/slim": "3.*",
         "twig/twig": "~1.0",
         "illuminate/database": "4.2.9"
     },
diff --git a/config/.empty b/config/.empty
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/db/connection.php b/db/connection.php
index 331d60644c40f45bc2c4c0fe682264e50b933d48..4fc0063dbd05de3e192b629775e757269fe8d034 100644
--- a/db/connection.php
+++ b/db/connection.php
@@ -10,7 +10,7 @@ class connection {
 
     public static function createConn() {
         $capsule = new DB;
-        $capsule->addConnection(parse_ini_file("./config/config.ini"));
+        $capsule->addConnection(parse_ini_file("../config/config.ini"));
         $capsule->setAsGlobal();
         $capsule->bootEloquent();
     }
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6e5189c9143827406eaa2e01d0d70dc11f87802a
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,42 @@
+version: '3'
+networks:
+  racoin.net:
+    driver: bridge
+services:
+
+  #
+  # service administration des bases sql
+  #
+  adminer:
+    image: adminer
+    command: php -S 0.0.0.0:8080 -t /var/www/html
+    ports:
+      - '8081:8080' ## 40510
+    networks:
+      - racoin.net
+
+  db:
+    image: 'mariadb:latest'
+    command: '--default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci'
+    env_file: .env
+    ports:
+      - '3309:3306' ## 40508
+    networks:
+      - racoin.net
+    volumes:
+      - ./db/sql:/var/sql
+
+  php:
+    image: 'canals/php:7.4'
+    restart: always
+    env_file: .env
+    ports:
+      - '80:80'
+    volumes:
+      - ./public:/var/www/html
+      - ./:/var/www
+    working_dir: /var/www/
+    networks:
+      - racoin.net
+    depends_on:
+      - db
\ No newline at end of file
diff --git a/notes.md b/notes.md
new file mode 100644
index 0000000000000000000000000000000000000000..f2d8e94630ce9a7f7ab3fcb306014b3412120a10
--- /dev/null
+++ b/notes.md
@@ -0,0 +1,12 @@
+## Langage : php, js, css, html
+## framework : symfony, slim + twig
+## But générale : application de petites annonces et de ventes en ligne (leboncoin)
+## Faire fonctionner l'application :
+### - installer les dépendances via composer
+### - créer et remplir le fichier ./config/config.ini pour lier l'appliction à la bd
+
+## Mode d'emploi : 
+
+## Dépendances non maintenu : 
+### - Carbon 1 à migrer vers Carbon 2
+### - upgrade slim
\ No newline at end of file
diff --git a/.htaccess b/public/.htaccess
similarity index 100%
rename from .htaccess
rename to public/.htaccess
diff --git a/font/SourceSansPro-Regular.ttf b/public/font/SourceSansPro-Regular.ttf
old mode 100755
new mode 100644
similarity index 100%
rename from font/SourceSansPro-Regular.ttf
rename to public/font/SourceSansPro-Regular.ttf
diff --git a/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg b/public/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg
similarity index 100%
rename from img/EOS_5D_Mark_III_Default_tcm79-932815.jpg
rename to public/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg
diff --git a/img/bin.png b/public/img/bin.png
similarity index 100%
rename from img/bin.png
rename to public/img/bin.png
diff --git a/img/canon5d.png b/public/img/canon5d.png
similarity index 100%
rename from img/canon5d.png
rename to public/img/canon5d.png
diff --git a/img/canoneos5dmark.png b/public/img/canoneos5dmark.png
similarity index 100%
rename from img/canoneos5dmark.png
rename to public/img/canoneos5dmark.png
diff --git a/img/edit.png b/public/img/edit.png
similarity index 100%
rename from img/edit.png
rename to public/img/edit.png
diff --git a/img/email.png b/public/img/email.png
similarity index 100%
rename from img/email.png
rename to public/img/email.png
diff --git a/img/email.svg b/public/img/email.svg
similarity index 100%
rename from img/email.svg
rename to public/img/email.svg
diff --git a/img/email2.png b/public/img/email2.png
similarity index 100%
rename from img/email2.png
rename to public/img/email2.png
diff --git a/img/menu.svg b/public/img/menu.svg
similarity index 100%
rename from img/menu.svg
rename to public/img/menu.svg
diff --git a/img/moon.jpg b/public/img/moon.jpg
similarity index 100%
rename from img/moon.jpg
rename to public/img/moon.jpg
diff --git a/img/noimg.png b/public/img/noimg.png
similarity index 100%
rename from img/noimg.png
rename to public/img/noimg.png
diff --git a/img/ratcoin.png b/public/img/ratcoin.png
similarity index 100%
rename from img/ratcoin.png
rename to public/img/ratcoin.png
diff --git a/img/ratcoin2.png b/public/img/ratcoin2.png
similarity index 100%
rename from img/ratcoin2.png
rename to public/img/ratcoin2.png
diff --git a/img/search.png b/public/img/search.png
similarity index 100%
rename from img/search.png
rename to public/img/search.png
diff --git a/img/stamps.jpg b/public/img/stamps.jpg
similarity index 100%
rename from img/stamps.jpg
rename to public/img/stamps.jpg
diff --git a/img/voilier.jpg b/public/img/voilier.jpg
similarity index 100%
rename from img/voilier.jpg
rename to public/img/voilier.jpg
diff --git a/img/watch.jpg b/public/img/watch.jpg
similarity index 100%
rename from img/watch.jpg
rename to public/img/watch.jpg
diff --git a/img/watch.png b/public/img/watch.png
similarity index 100%
rename from img/watch.png
rename to public/img/watch.png
diff --git a/index.php b/public/index.php
similarity index 96%
rename from index.php
rename to public/index.php
index 9913d6c73e8705c6955aed17d363b1af37cc72f7..4c9873328f8e4c688a0cc8c898e43cdd7d16a3b8 100644
--- a/index.php
+++ b/public/index.php
@@ -1,5 +1,5 @@
 <?php
-require 'vendor/autoload.php';
+require '../vendor/autoload.php';
 use db\connection;
 
 use Slim\Extras\Middleware\CsrfGuard;
@@ -14,7 +14,7 @@ use model\Departement;
 connection::createConn();
 
 
-$app = new \Slim\Slim(array(
+$app = new \Slim\App(array(
     'mode' => 'development'
 ));
 
@@ -33,7 +33,7 @@ if (!isset($_SESSION['token'])) {
 
 //$app->add(new CsrfGuard());
 
-$loader = new Twig_Loader_Filesystem('template');
+$loader = new Twig_Loader_Filesystem('../template');
 $twig = new Twig_Environment($loader);
 
 $menu = array(
@@ -82,11 +82,11 @@ $app->post('/item/:id/edit', function ($id) use ($twig, $app, $menu, $chemin, $c
     $item->modifyPost($twig,$menu,$chemin, $id, $allPostVars, $cat->getCategories(), $dpt->getAllDepartments());
 });
 
-$app->map('/item/:id/confirm', function ($id) use ($twig, $app, $menu, $chemin) {
+$app->map(['GET', 'POST'],'/item/:id/confirm', function ($id) use ($twig, $app, $menu, $chemin) {
     $allPostVars = $app->request->post();
     $item = new \controller\item();
     $item->edit($twig,$menu,$chemin, $id, $allPostVars);
-})->name('confirm')->via('GET', 'POST');
+})->setName('confirm');
 
 $app->get('/search/', function () use ($twig, $menu, $chemin, $cat) {
     $s = new controller\Search();
diff --git a/js/annonce.js b/public/js/annonce.js
similarity index 100%
rename from js/annonce.js
rename to public/js/annonce.js
diff --git a/js/classie.js b/public/js/classie.js
similarity index 100%
rename from js/classie.js
rename to public/js/classie.js
diff --git a/js/del.js b/public/js/del.js
similarity index 100%
rename from js/del.js
rename to public/js/del.js
diff --git a/js/jquery-1.11.1.min.js b/public/js/jquery-1.11.1.min.js
similarity index 100%
rename from js/jquery-1.11.1.min.js
rename to public/js/jquery-1.11.1.min.js
diff --git a/scss/_breadcrumb.scss b/public/scss/_breadcrumb.scss
similarity index 100%
rename from scss/_breadcrumb.scss
rename to public/scss/_breadcrumb.scss
diff --git a/scss/_component.scss b/public/scss/_component.scss
old mode 100755
new mode 100644
similarity index 100%
rename from scss/_component.scss
rename to public/scss/_component.scss
diff --git a/scss/_global.scss b/public/scss/_global.scss
similarity index 100%
rename from scss/_global.scss
rename to public/scss/_global.scss
diff --git a/scss/_grid.scss b/public/scss/_grid.scss
similarity index 100%
rename from scss/_grid.scss
rename to public/scss/_grid.scss
diff --git a/scss/_hgtable.scss b/public/scss/_hgtable.scss
similarity index 100%
rename from scss/_hgtable.scss
rename to public/scss/_hgtable.scss
diff --git a/scss/_mixins.scss b/public/scss/_mixins.scss
similarity index 100%
rename from scss/_mixins.scss
rename to public/scss/_mixins.scss
diff --git a/scss/_pagination.scss b/public/scss/_pagination.scss
similarity index 100%
rename from scss/_pagination.scss
rename to public/scss/_pagination.scss
diff --git a/scss/_reset.scss b/public/scss/_reset.scss
similarity index 100%
rename from scss/_reset.scss
rename to public/scss/_reset.scss
diff --git a/scss/_typo.scss b/public/scss/_typo.scss
similarity index 100%
rename from scss/_typo.scss
rename to public/scss/_typo.scss
diff --git a/scss/_variables.scss b/public/scss/_variables.scss
similarity index 100%
rename from scss/_variables.scss
rename to public/scss/_variables.scss
diff --git a/scss/master.scss b/public/scss/master.scss
similarity index 100%
rename from scss/master.scss
rename to public/scss/master.scss
diff --git a/stylesheets/master.css b/public/stylesheets/master.css
similarity index 100%
rename from stylesheets/master.css
rename to public/stylesheets/master.css
diff --git a/stylesheets/master.css.map b/public/stylesheets/master.css.map
similarity index 100%
rename from stylesheets/master.css.map
rename to public/stylesheets/master.css.map
diff --git a/template/item.html.twig b/template/item.html.twig
index 6626cbf2fdf27829e605ecdef83d69bcdfefd212..e2218218bc96853a0d2de5d1c05008a5a1b855a8 100644
--- a/template/item.html.twig
+++ b/template/item.html.twig
@@ -47,15 +47,15 @@
                             <div class="tocontact">
                                 <p>Contacter <br/>l'annonceur</p>
                             </div>
-                            <a href="mailto:{{ annonceur.email }}"><img src="../img/email2.png" alt="email" title="Contacter l'annonceur"/></a>
+                            <a href="mailto:{{ annonceur.email }}"><img src="../public/img/email2.png" alt="email" title="Contacter l'annonceur"/></a>
                         </div>
                         <div class="columns modify sm-hide-only align-center">
                             <div class="tomodify">
                                 <p>Modifier/Supprimer <br/>l'annonce</p>
                             </div>
                             <div class="align-center">
-                                <a href="{{ chemin }}del/{{ annonce.id_annonce }}"><img src="../img/bin.png" alt="bin" title="Supprimer"/></a>
-                                <a href="{{ chemin }}item/{{ annonce.id_annonce }}/edit"><img src="../img/edit.png" alt="bin" title="Modifier"/></a>
+                                <a href="{{ chemin }}del/{{ annonce.id_annonce }}"><img src="../public/img/bin.png" alt="bin" title="Supprimer"/></a>
+                                <a href="{{ chemin }}item/{{ annonce.id_annonce }}/edit"><img src="../public/img/edit.png" alt="bin" title="Modifier"/></a>
                             </div>
                         </div>
                     </div>
@@ -77,5 +77,5 @@
         </a>
     </div>
     <div id="zoomImg"><div id="zoomClose">x</div><img src="{{ photo.first.url_photo }}" alt=""/></div>
-    <script src="../js/annonce.js" id="sln_bar"></script>
+    <script src="../public/js/annonce.js" id="sln_bar"></script>
 {% endblock %}
\ No newline at end of file
diff --git a/template/main.html.twig b/template/main.html.twig
index b1f95fc212449df629d24080c00afddd528b25d0..6aa0e62d4eac27331852bbca11567d7ce16ea5c1 100644
--- a/template/main.html.twig
+++ b/template/main.html.twig
@@ -5,7 +5,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
     <link rel="stylesheet" href="{{ chemin }}stylesheets/master.css"/>
     <link rel="stylesheet" type="text/css" href="{{ chemin }}stylesheets/component.css"/>
-    <script src="../js/jquery-1.11.1.min.js" id="sln_bar"></script>
+    <script src="../public/js/jquery-1.11.1.min.js" id="sln_bar"></script>
     <title>RatCoin</title>
 </head>
 <body>
diff --git a/template/main_min.html.twig b/template/main_min.html.twig
index ab1d164727031148a5f539215c1678f3a0173af1..0ba57be354dd7608370f8b1ffb077a3d352aa01f 100644
--- a/template/main_min.html.twig
+++ b/template/main_min.html.twig
@@ -5,7 +5,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
     <link rel="stylesheet" href="{{ chemin }}stylesheets/master.css"/>
     <link rel="stylesheet" type="text/css" href="{{ chemin }}stylesheets/component.css"/>
-    <script src="../js/jquery-1.11.1.min.js" id="sln_bar"></script>
+    <script src="../public/js/jquery-1.11.1.min.js" id="sln_bar"></script>
     <title>RatCoin</title>
 </head>
 <body>