From 50f0161a1dc845bf0dda4d4b7e7eb8bb4ca7fa1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SERRIER=20Math=C3=A9o?= <matheo.serrier4@etu.univ-lorraine.fr> Date: Mon, 4 Mar 2024 17:53:03 +0100 Subject: [PATCH] refactoring --- .env | 4 ++ composer.json | 2 +- config/.empty | 0 db/connection.php | 2 +- docker-compose.yml | 42 ++++++++++++++++++ notes.md | 12 +++++ .htaccess => public/.htaccess | 0 .../font}/SourceSansPro-Regular.ttf | Bin .../EOS_5D_Mark_III_Default_tcm79-932815.jpg | Bin {img => public/img}/bin.png | Bin {img => public/img}/canon5d.png | Bin {img => public/img}/canoneos5dmark.png | Bin {img => public/img}/edit.png | Bin {img => public/img}/email.png | Bin {img => public/img}/email.svg | 0 {img => public/img}/email2.png | Bin {img => public/img}/menu.svg | 0 {img => public/img}/moon.jpg | Bin {img => public/img}/noimg.png | Bin {img => public/img}/ratcoin.png | Bin {img => public/img}/ratcoin2.png | Bin {img => public/img}/search.png | Bin {img => public/img}/stamps.jpg | Bin {img => public/img}/voilier.jpg | Bin {img => public/img}/watch.jpg | Bin {img => public/img}/watch.png | Bin index.php => public/index.php | 10 ++--- {js => public/js}/annonce.js | 0 {js => public/js}/classie.js | 0 {js => public/js}/del.js | 0 {js => public/js}/jquery-1.11.1.min.js | 0 {scss => public/scss}/_breadcrumb.scss | 0 {scss => public/scss}/_component.scss | 0 {scss => public/scss}/_global.scss | 0 {scss => public/scss}/_grid.scss | 0 {scss => public/scss}/_hgtable.scss | 0 {scss => public/scss}/_mixins.scss | 0 {scss => public/scss}/_pagination.scss | 0 {scss => public/scss}/_reset.scss | 0 {scss => public/scss}/_typo.scss | 0 {scss => public/scss}/_variables.scss | 0 {scss => public/scss}/master.scss | 0 .../stylesheets}/master.css | 0 .../stylesheets}/master.css.map | 0 template/item.html.twig | 8 ++-- template/main.html.twig | 2 +- template/main_min.html.twig | 2 +- 47 files changed, 71 insertions(+), 13 deletions(-) create mode 100644 .env delete mode 100644 config/.empty create mode 100644 docker-compose.yml create mode 100644 notes.md rename .htaccess => public/.htaccess (100%) rename {font => public/font}/SourceSansPro-Regular.ttf (100%) mode change 100755 => 100644 rename {img => public/img}/EOS_5D_Mark_III_Default_tcm79-932815.jpg (100%) rename {img => public/img}/bin.png (100%) rename {img => public/img}/canon5d.png (100%) rename {img => public/img}/canoneos5dmark.png (100%) rename {img => public/img}/edit.png (100%) rename {img => public/img}/email.png (100%) rename {img => public/img}/email.svg (100%) rename {img => public/img}/email2.png (100%) rename {img => public/img}/menu.svg (100%) rename {img => public/img}/moon.jpg (100%) rename {img => public/img}/noimg.png (100%) rename {img => public/img}/ratcoin.png (100%) rename {img => public/img}/ratcoin2.png (100%) rename {img => public/img}/search.png (100%) rename {img => public/img}/stamps.jpg (100%) rename {img => public/img}/voilier.jpg (100%) rename {img => public/img}/watch.jpg (100%) rename {img => public/img}/watch.png (100%) rename index.php => public/index.php (96%) rename {js => public/js}/annonce.js (100%) rename {js => public/js}/classie.js (100%) rename {js => public/js}/del.js (100%) rename {js => public/js}/jquery-1.11.1.min.js (100%) rename {scss => public/scss}/_breadcrumb.scss (100%) rename {scss => public/scss}/_component.scss (100%) mode change 100755 => 100644 rename {scss => public/scss}/_global.scss (100%) rename {scss => public/scss}/_grid.scss (100%) rename {scss => public/scss}/_hgtable.scss (100%) rename {scss => public/scss}/_mixins.scss (100%) rename {scss => public/scss}/_pagination.scss (100%) rename {scss => public/scss}/_reset.scss (100%) rename {scss => public/scss}/_typo.scss (100%) rename {scss => public/scss}/_variables.scss (100%) rename {scss => public/scss}/master.scss (100%) rename {stylesheets => public/stylesheets}/master.css (100%) rename {stylesheets => public/stylesheets}/master.css.map (100%) diff --git a/.env b/.env new file mode 100644 index 0000000..d958fc6 --- /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 9654d2f..87174f0 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 e69de29..0000000 diff --git a/db/connection.php b/db/connection.php index 331d606..4fc0063 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 0000000..6e5189c --- /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 0000000..f2d8e94 --- /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 9913d6c..4c98733 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 6626cbf..e221821 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 b1f95fc..6aa0e62 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 ab1d164..0ba57be 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> -- GitLab