diff --git a/Exercice.md b/Exercice.md index 9dfa062ec68745cc921aebbe655f50c843cfba40..0433e96e267d84b973e11a84e65565c9b8fd0a66 100644 --- a/Exercice.md +++ b/Exercice.md @@ -13,18 +13,18 @@ Au minimum le fichiers de notes, contenant toutes vos observation. Idéalement, un fork du projet avec vos notes et les modifications que vous avez réaliser. ## Première étape - L'analyse -- [ ] Trouver le ou les langages utilisé -- [ ] Trouver le ou les framework principaux utilisé -- [ ] Trouvez le but général de l'application -- [ ] Faire une première estimation de ce qu'il faut pour faire marcher l'application +- [X] Trouver le ou les langages utilisé +- [X] Trouver le ou les framework principaux utilisé +- [X] Trouvez le but général de l'application +- [X] Faire une première estimation de ce qu'il faut pour faire marcher l'application ## Deuxième étape - La prise en main -- [ ] Faire marcher l'application -- [ ] Créer un mode d'emploi pour faire marcher l'application (un docker-compose par exemple ?) -- [ ] Trouver les dépendances non maintenu +- [] Faire marcher l'application +- [X] Créer un mode d'emploi pour faire marcher l'application (un docker-compose par exemple ?) +- [X] Trouver les dépendances non maintenu ## Troisième étape - La maintenance -- [ ] Mettre à jour les versions de langages et de framework +- [X] Mettre à jour les versions de langages et de framework - [ ] Notez dans une TODO list les améliorations que vous avez en tête - [ ] Pour chaque idée, essayer de noter sur 10 le temps de la modification, et l'impact de la modification (2 notes donc) diff --git a/composer.json b/composer.json index 9654d2f7e4bfc0280c26ac9b4dbf5d3a9a15223a..61e4aa0bd1e3bf10ce19559b5932bd6d73b7401d 100644 --- a/composer.json +++ b/composer.json @@ -1,14 +1,14 @@ { "require": { - "slim/slim": "2.*", - "twig/twig": "~1.0", - "illuminate/database": "4.2.9" + "slim/slim": "^4.14", + "twig/twig": "^3.20", + "illuminate/database": "^12.1.1" }, - "autoload":{ - "psr-0":{ - "controller":"", - "model":"", - "db":"" + "autoload": { + "psr-0": { + "controller": "", + "model": "", + "db": "" } }, "config": { @@ -16,4 +16,4 @@ "kylekatarnls/update-helper": true } } -} +} \ No newline at end of file diff --git a/config/.empty b/config/.empty deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/config/config.ini.example b/config/config.ini.example new file mode 100644 index 0000000000000000000000000000000000000000..9a950a75c595bd4e9b9ac52412e9d1fbc7f85381 --- /dev/null +++ b/config/config.ini.example @@ -0,0 +1,7 @@ +driver=mysql +host=db +port=3306 +database=racoin_database +username=racoin +password=root +collation = utf8_unicode_ci \ No newline at end of file diff --git a/config/db.ini.example b/config/db.ini.example new file mode 100644 index 0000000000000000000000000000000000000000..9c5be69ad26123df9948c67e640649d58e754859 --- /dev/null +++ b/config/db.ini.example @@ -0,0 +1,6 @@ +host = mysql +port = 3306 +user = racoin +driver = mysql +password = root +dbname = racoin_database \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index bfb5d4edf11f42228d8614b8248167af9083c1f4..9c9d42a9ec1cea9b8355faebcb3bd8ef4c1f49d8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.8' services: php: build: './docker/php' @@ -7,4 +6,28 @@ services: - ${PHP_PORT:-8080}:80 volumes: - ./:/var/www/html - command: php -S 0.0.0.0:80 -t . \ No newline at end of file + command: php -S 0.0.0.0:80 -t . + depends_on: + - mysql + + mysql: + image: mysql:latest + ports: + - ${MYSQL_PORT:-3306}:3306 + env_file: + - .env + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + volumes: + - mysql_data:/var/lib/mysql + - ./bdd.sql:/docker-entrypoint-initdb.d/schema.sql + - ./insert.sql:/docker-entrypoint-initdb.d/data.sql + - ./apikey.sql:/docker-entrypoint-initdb.d/apikey.sql +volumes: + mysql_data: + + + diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index f5a8e9f23585f116bd5ec7f4975ca9f0838de11b..41087ad8782c3e31c72caa151d4de68a7f769cd6 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.4 +FROM php:8.4 RUN apt update RUN apt install git zip unzip libxml2-dev -y diff --git a/notes.md b/notes.md new file mode 100644 index 0000000000000000000000000000000000000000..39a159a7f44c0b5b3a637d449b9cb02fcf5f4317 --- /dev/null +++ b/notes.md @@ -0,0 +1,24 @@ +### Notes sur le projet + +## Languages + Framework +-**Php**: ``Twig/Elokent`` +-**Javascript** +-**Css**: ``Sass`` +-**SQL** + +## Architecture +**MVC**: ``Model Vue Controller`` + +## BUT du projet +C'est un site de vente avec des annonces classées par catégorie et département, des annonceurs et des photos. + +## Ce qu'il faut faire pour faire marcher l'application +-**Créer le docker** +-**Importer la base de données** +-**Composer install** + +## Mettre a jour les dépendances +-**Php** +-**eloquent** +-**twig** +-**slim** diff --git a/scss/_grid.scss b/scss/_grid.scss deleted file mode 100644 index b3dbe4de64f260801f2c56a73c33e160333c0be4..0000000000000000000000000000000000000000 --- a/scss/_grid.scss +++ /dev/null @@ -1,147 +0,0 @@ -// grid variables -$wrapper-max-width: 960px !default; -$grid-columns: 12 !default; -$gutter: 1% !default; -$tablet: 40.063em !default; // 641px -$desktop: 64.063em !default; // 1025px - -// Function qui retourne le chiffre magique :) -@function calculate-grid($total-grid-columns, $gutter-size){ - @return calc(calc(100% - ($total-grid-columns - 1) * $gutter-size) / $total-grid-columns); -} - - - -/*=======================*/ -/* @Mixins -/*======================*/ - -// Grille du style: $suffix-#i - -@mixin responsive-columns($suffix: ''){ - @for $i from 0 through $grid-columns{ - @if $i != 0 { - .#{$suffix}-#{$i}{ - width: 100% - (($grid-columns - $i) * (calculate-grid($grid-columns, $gutter) + $gutter)); - //flex-basis: pour plus tard. - margin-right: $gutter; - word-wrap: break-word; - &:last-child{ - margin-right:0; - } - } - } - .#{$suffix}-push-#{$i}{ left:calc($i / $grid-columns * 100%); } - .#{$suffix}-offset-#{$i}{ margin-left:calc($i / $grid-columns * 100%); } - .#{$suffix}-pull-#{$i}{ left:calc($i / $grid-columns * 100%); } - } -} - -// Grille du style: $suffix-#i-#j - -@mixin fraction-columns($suffix: ''){ - - @for $i from 1 through ($grid-columns - 1){ - @for $j from 1 through ($grid-columns){ - //$k: $i + 1; - .#{$suffix}-#{$i}-#{$j}{ - width: calc(100% / $j * $i); - } - } - } -} - -/*==================*/ -/* %Extends -/*================*/ -%col{ - float: left; - position: relative; - min-height: 1px; - padding:0; -} - -/*==============*/ -/* Container -/*=============*/ -.wrapper { - max-width: $wrapper-max-width; - margin: 0 auto; - .row{ - margin: 0; - width: 100%; - height: 100%; - clear: both; - @include clearfix; - } -} - - -/*=========*/ -/* Grid -/*========*/ - - -@for $i from 1 through $grid-columns{ - .sm-#{$i}, .md-#{$i}, .lg-#{$i} { @extend %col; } -} - -@for $i from 1 through ($grid-columns - 1){ - @for $j from 1 through ($grid-columns){ - .sm-#{$i}-#{$j}, .md-#{$i}-#{$j}, .lg-#{$i}-#{$j} { @extend %col; } - } -} - - -/*================*/ -/* Media queries -/*===============*/ - -/*----------/ -/* Mobile */ - -@include responsive-columns('sm'); -@include fraction-columns('sm'); -.columns { - width: 100%; - position: relative; - display: block; -} -.sm-center{ margin: 0 auto !important; float: none !important; } - -.sm-show{ display: block !important;} -.sm-hide-only{ display: none !important;} -.md-show{ display: none !important; } -.lg-show{ display: none !important; } - -/*-----------------/ -/* Medium Screen */ - -@media only screen and (min-width: $tablet) { - @include responsive-columns('md'); - @include fraction-columns('md'); - - .sm-hide-only{ display: block !important;} - - .md-center{ margin: 0 auto !important; float: none !important; } - .md-hide{ display: none !important; } - .md-show{ display: block !important; } - - - .sm-show{ display: none !important; } -} - -/*----------------/ -/* Large Screen */ - -@media only screen and (min-width: $desktop) { - @include responsive-columns('lg'); - @include fraction-columns('lg'); - - .lg-center{ margin: 0 auto !important; float: none !important; } - - .sm-hide-only{ display: block;} - .md-show{ display: none !important; } - .lg-hide{ display: none !important; } - .lg-show{ display: block !important; } -} \ No newline at end of file