diff --git a/app.js b/app.js index cae3679..d325746 100644 --- a/app.js +++ b/app.js @@ -9,6 +9,9 @@ let config = process.env.NODE_ENV === "test" ? {} : require("./config/config.jso let indexRouter = require("./routes/index"); const loginRouter = require("./routes/login"); +const edtRouter = require("./routes/edt"); +const homeRouter = require("./routes/home"); +const marksRouter = require("./routes/marks"); let app = express(); const sessionMiddleware = session({ @@ -41,6 +44,9 @@ app.use((req, res, next) => { app.use("/", indexRouter); app.use("/login", loginRouter); app.use("/email", require("./routes/email")); +app.use("/edt", edtRouter); +app.use("/home", homeRouter); +app.use("/marks", marksRouter); // catch 404 and forward to error handler app.use((req, res) => { diff --git a/package-lock.json b/package-lock.json index 1aa0fc8..7ec3230 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1055,11 +1055,11 @@ "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~2.0.0", - "on-headers": "~1.0.2", - "parseurl": "~1.3.3", + "depd": "2.0.0", + "on-headers": "1.0.2", + "parseurl": "1.3.3", "safe-buffer": "5.2.0", - "uid-safe": "~2.1.5" + "uid-safe": "2.1.5" }, "dependencies": { "depd": { @@ -3668,7 +3668,7 @@ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "requires": { - "random-bytes": "~1.0.0" + "random-bytes": "1.0.0" } }, "umzug": { diff --git a/public/images/avatar-bk.png b/public/images/avatar-bk.png new file mode 100644 index 0000000..1b1c49d Binary files /dev/null and b/public/images/avatar-bk.png differ diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index f2d484b..5eb45d4 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -6,6 +6,9 @@ body { margin: 0; padding: 0; } +h1 { + text-align: center; } + h2 { color: #e0e0e0; margin-top: 0; @@ -18,10 +21,6 @@ h2 { margin-top: 15vh; background-color: #2a2a2a; border-radius: 2vw; } - .signinup img { - width: 20%; - display: block; - margin: auto; } .signinup form input { color: #e0e0e0; margin-bottom: 4vh; @@ -47,4 +46,305 @@ h2 { i { color: #00c0ff; } +#panel { + background-color: #2a2a2a; + height: 100vh; + border-right: 2px solid #a1a1a1; + padding: 0; + position: fixed; } + +#main { + background-color: #101010; + margin-left: 16vw; } + +#navtop { + font-size: 30px; } + #navtop .maintitle { + font-size: 50px; + text-align: center; + margin: 0; + margin-top: 2vh; } + #navtop ul { + margin: 0; + text-align: right; } + #navtop ul li.active { + background: #00c0ff; } + #navtop ul li.active a { + color: black; } + #navtop ul li { + border-top: 1px solid #101010; + background: linear-gradient(to right, #2a2a2a 50%, #00c0ff 50%) left; + background-size: 200%; + transition: .3s ease-out; } + #navtop ul li a { + padding: 1.3vw; + color: #C5C6C7; + display: block; + width: 100%; + transition-duration: 0.3s; } + #navtop ul li:hover { + background-position: right; + cursor: pointer; } + #navtop ul li:hover a { + color: black; } + +#navprofile { + font-size: 25px; + padding-top: 1vh; + padding-bottom: 1vh; + margin: 0; + text-align: center; } + #navprofile p { + margin-top: 1vh; + margin-bottom: 0; } + #navprofile a { + cursor: pointer; } + +.student { + background: radial-gradient(circle, #014f74 20%, #0f0f63 100%); } + +.teacher { + background: radial-gradient(circle, #057401 20%, #0b440a 100%); } + +.admin { + background: radial-gradient(circle, #744a01 20%, #632a0f 100%); } + +#page { + margin: 0; } + +#edtjour .edtflex { + display: flex; + flex-direction: column; } + #edtjour .edtflex div:last-child { + border: none; } + #edtjour .edtflex div { + text-align: center; + font-size: 20px; + background-color: #2a2a2a; + padding: 0 10px; + border-bottom: 2px solid #a1a1a1; } + #edtjour .edtflex .edthead { + border: none; + font-size: 30px; + background-color: #0099ff; } + #edtjour .edtflex .edtmidi { + height: 100px; + background-color: #1f1f1f; } + +#filactu .actuflex { + background-color: #1f1f1f; + padding: 0; + height: 700px; + display: flex; + flex-direction: column; } + #filactu .actuflex div:last-child { + border: none; } + #filactu .actuflex .actucontent { + overflow-y: scroll; + padding: 0; + height: 700px; + cursor: auto; } + #filactu .actuflex .actucontent div:hover { + background-color: #686868; } + #filactu .actuflex div { + text-align: left; + cursor: pointer; + font-size: 20px; + background-color: #2a2a2a; + padding: 0 10px; + border-bottom: 2px solid #a1a1a1; } + #filactu .actuflex p { + margin: 0; + padding: 10px; } + #filactu .actuflex .actuhead { + border: none; + cursor: auto; + font-size: 30px; + background-color: #0099ff; + text-align: center; } + #filactu .actuflex .actuhead p { + padding: 30px; } + #filactu .actuflex .actuhead:hover { + background-color: #0099ff; } + +#welcome { + padding-bottom: 20px; } + +h3 { + font-size: 30px; + text-align: center; } + +#edttable { + margin-top: 100px; + border-collapse: collapse; + border: 1px solid white; + width: 90%; + margin-left: auto; + margin-right: auto; } + #edttable .midi td { + height: 109px; } + #edttable th { + background-color: #0099ff; + text-align: center; + border-radius: 0; + border: 1px solid white; + font-size: 25px; } + #edttable tr td:first-child { + border-left: 1px solid white; } + #edttable tr td:last-child { + border-right: 1px solid white; } + #edttable tr:last-child td { + border-bottom: 1px solid white; } + #edttable td { + text-align: center; + font-size: 20px; + background-color: #686868; + padding: 0; + border-radius: 0; + border: 1px solid black; } + #edttable td:nth-child(even) { + background-color: #2a2a2a; } + +#edtweek i { + cursor: pointer; } + +#edtweek div:nth-child(1) { + text-align: right; } + +#edtweek div:nth-child(3) { + text-align: left; } + +#marks table { + border: 1px solid white; + margin-top: 80px; + width: 80%; + margin-left: auto; + margin-right: auto; + table-layout: fixed; + border-collapse: collapse; } + #marks table tbody { + display: block; + height: 270px; + overflow: auto; } + #marks table thead, #marks table tbody tr { + display: table; + width: 100%; + table-layout: fixed; } + #marks table th { + border: 1px solid white; + background-color: #0099ff; + text-align: center; + font-size: 30px; } + #marks table td { + font-size: 25px; + cursor: pointer; + padding: 0; + text-align: center; + background-color: #2a2a2a; + border-radius: 0; + border: 1px solid #686868; } + +.marksdetails { + display: none; + z-index: 1; + position: fixed; + left: 40%; + top: 20%; + width: 30%; } + .marksdetails table { + border-collapse: collapse; + border: 1px solid white; } + .marksdetails th { + text-align: center; + font-size: 25px; + border: 1px solid white; + background-color: #0099ff; } + .marksdetails td { + text-align: center; + background-color: #2a2a2a; + border: none; + font-size: 25px; } + .marksdetails tr:last-child td { + border-bottom: 1px solid white; } + +div#visible { + display: block; } + +div#visible + div { + filter: blur(4px) grayscale(80%); } + +.marksgroup { + display: none; + margin-top: 300px; } + .marksgroup h3 { + background-color: #0099ff; + margin: 0; + padding: 20px; + font-size: 30px; } + +#flexgroup { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-around; + background: #2a2a2a; } + #flexgroup p { + background-color: #686868; + cursor: pointer; + padding: 20px; + font-size: 25px; } + +#markstable { + width: 95%; + table-layout: fixed; + margin: auto; } + #markstable tbody { + display: block; + height: 70vh; + overflow: auto; } + #markstable thead, #markstable tbody tr { + display: table; + width: 100%; + table-layout: fixed; } + #markstable ::placeholder { + color: #000; + opacity: 1; } + #markstable th { + background-color: #0099ff; + border: 2px solid white; + text-align: center; + font-size: 30px; } + #markstable th input { + font-size: 30px; + border: none; + color: white; + text-align: center; } + #markstable tr td { + background-color: #686868; } + #markstable tr:nth-child(even) td { + background-color: #2a2a2a; } + #markstable td { + text-align: center; + font-size: 25px; + border: 1px solid #e0e0e0; } + #markstable td input { + font-size: 25px; + border: none; + color: white; + text-align: center; } + +#marksubmit { + display: block; + width: 30%; + background-color: #0099ff; + margin-top: 50px; + color: white; + border: none; + margin-left: auto; + margin-right: auto; + font-size: 30px; + padding: 15px; + cursor: pointer; + margin-bottom: 50px; } + /*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/public/stylesheets/style.css.map b/public/stylesheets/style.css.map index 0d4b69e..dbc65d9 100644 --- a/public/stylesheets/style.css.map +++ b/public/stylesheets/style.css.map @@ -5,5 +5,5 @@ "style.sass" ], "names": [], - "mappings": "AAQA,AAAA,IAAI,CAAC;EACH,OAAO,EAAE,IAAI;EACb,IAAI,EAAE,kDAAkD;EACxD,KAAK,EAAE,KAAK;EACZ,gBAAgB,EAVV,OAAO;EAWb,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC,GAAG;;AAGf,AAAA,EAAE,CAAC;EACD,KAAK,EAdC,OAAO;EAeb,UAAU,EAAE,CAAC;EACb,UAAU,EAAE,MAAM,GAAG;;AAEvB,AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;EAC3B,OAAO,EAAE,GAAG,GAAG;;AAEjB,AAAA,SAAS,CAAC;EACR,UAAU,EAAE,IAAI;EAChB,gBAAgB,EAxBV,OAAO;EAyBb,aAAa,EAAE,GAAG,GA2BqB;EA9BzC,AAIE,SAJO,CAIP,GAAG,CAAC;IACF,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI,GAAG;EAPnB,AAUI,SAVK,CASP,IAAI,CACF,KAAK,CAAC;IACJ,KAAK,EAhCH,OAAO;IAiCT,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,IAAI,GAAG;EAbxB,AAcI,SAdK,CASP,IAAI,CAKF,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,EAAe;IACnB,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAzCV,OAAO;IA0Cb,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,OAAO;IACf,mBAAmB,EAAE,IAAI,GAAG;EA1BlC,AA2BI,SA3BK,CASP,IAAI,CAkBF,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAAc,MAAM,CAAC;IACzB,KAAK,EApDC,OAAO;IAqDb,gBAAgB,EApDd,OAAO;IAqDT,MAAM,EAAE,GAAG,CAAC,KAAK,CAtDX,OAAO,GAsDkB;;AAErC,AAAA,CAAC,CAAC;EACA,KAAK,EA1DG,OAAO,GA0DG" + "mappings": "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" } \ No newline at end of file diff --git a/public/stylesheets/style.sass b/public/stylesheets/style.sass index 44cf1b4..644340a 100644 --- a/public/stylesheets/style.sass +++ b/public/stylesheets/style.sass @@ -2,9 +2,11 @@ $primary: #00c0ff; $secondary: #0099ff; $dark1: #101010; $dark2: #2a2a2a; +$dark3: #1f1f1f; +$medium: #686868; $light: #e0e0e0; $light2: #C5C6C7; - +$light3: #a1a1a1; body padding: 50px @@ -14,6 +16,8 @@ body margin: 0; padding: 0; +h1 + text-align: center; h2 color: $light; @@ -27,11 +31,6 @@ h2 margin-top: 15vh; background-color: $dark2; border-radius: 2vw; - img - width: 20%; - display: block; - margin: auto; - form input color: $light; @@ -57,3 +56,314 @@ h2 i color: $primary; + +#panel + background-color: $dark2; + height: 100vh; + border-right: 2px solid $light3; + padding: 0; + position: fixed; + +#main + background-color: $dark1; + margin-left: 16vw; + +#navtop + font-size: 30px; + .maintitle + font-size: 50px; + text-align: center; + margin: 0; + margin-top: 2vh; + ul + margin: 0; + text-align: right; + li.active + background: $primary; + a + color: black; + li + border-top: 1px solid $dark1; + background: linear-gradient(to right, $dark2 50%, $primary 50%) left; + background-size: 200%; + transition: .3s ease-out; + + a + padding: 1.3vw; + color: $light2; + display: block; + width: 100%; + transition-duration: 0.3s; + li:hover + background-position: right; + cursor: pointer; + a + color: black; + +#navprofile + font-size: 25px; + padding-top: 1vh; + padding-bottom: 1vh; + margin: 0; + text-align: center; + + p + margin-top: 1vh; + margin-bottom: 0; + + a + cursor: pointer; + +.student + background: radial-gradient(circle, rgb(1, 79, 116) 20%, rgb(15, 15, 99) 100%); +.teacher + background: radial-gradient(circle, rgb(5, 116, 1) 20%, rgb(11, 68, 10) 100%); +.admin + background: radial-gradient(circle, rgb(116, 74, 1) 20%, rgb(99, 42, 15) 100%); + +#page + margin: 0; + +#edtjour + .edtflex + display: flex; + flex-direction: column; + div:last-child + border: none; + div + text-align: center; + font-size: 20px; + background-color: $dark2; + padding: 0 10px; + border-bottom: 2px solid $light3; + .edthead + border: none; + font-size: 30px; + background-color: $secondary; + .edtmidi + height: 100px; + background-color: $dark3; + +#filactu + .actuflex + background-color: $dark3; + padding: 0; + height: 700px; + display: flex; + flex-direction: column; + div:last-child + border: none; + .actucontent + overflow-y: scroll; + padding: 0; + height: 700px; + cursor: auto; + div:hover + background-color: $medium; + div + text-align: left; + cursor: pointer; + font-size: 20px; + background-color: $dark2; + padding: 0 10px; + border-bottom: 2px solid $light3; + p + margin: 0; + padding: 10px; + .actuhead + border: none; + cursor: auto; + font-size: 30px; + background-color: $secondary; + text-align: center; + p + padding: 30px; + .actuhead:hover + background-color: $secondary; + +#welcome + padding-bottom: 20px; + +h3 + font-size: 30px; + text-align: center; + +#edttable + margin-top: 100px; + border-collapse: collapse; + border: 1px solid white; + width: 90%; + margin-left: auto; + margin-right: auto; + .midi + td + height: 109px; + th + background-color: $secondary; + text-align: center; + border-radius: 0; + border: 1px solid white; + font-size: 25px; + tr + td:first-child + border-left: 1px solid white; + td:last-child + border-right: 1px solid white; + tr:last-child + td + border-bottom: 1px solid white; + td + text-align: center; + font-size: 20px; + background-color: $medium; + padding: 0; + border-radius: 0; + border: 1px solid black; + td:nth-child(even) + background-color: $dark2; + +#edtweek + i + cursor: pointer; + div:nth-child(1) + text-align: right; + div:nth-child(3) + text-align: left; + + +#marks + table + border: 1px solid white; + margin-top: 80px; + width: 80%; + margin-left: auto; + margin-right: auto; + table-layout: fixed; + border-collapse: collapse; + tbody + display: block; + height: 270px; + overflow: auto; + thead, tbody tr + display: table; + width: 100%; + table-layout: fixed; + th + border: 1px solid white; + background-color: $secondary; + text-align: center; + font-size: 30px; + td + font-size: 25px; + cursor: pointer; + padding: 0; + text-align: center; + background-color: $dark2; + border-radius: 0; + border: 1px solid $medium; + +.marksdetails + display: none; + z-index: 1; + position: fixed; + left: 40% + top: 20%; + width: 30%; + table + border-collapse: collapse; + border: 1px solid white; + th + text-align: center; + font-size: 25px; + border: 1px solid white; + background-color: $secondary; + td + text-align: center; + background-color: $dark2; + border: none; + font-size: 25px; + tr:last-child + td + border-bottom: 1px solid white; + +div#visible + display: block; + +div#visible + div + filter: blur(4px) grayscale(80%); + +.marksgroup + display: none; + margin-top: 300px; + h3 + background-color: $secondary; + margin: 0; + padding: 20px; + font-size: 30px; + +#flexgroup + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-around; + background: $dark2; + p + background-color: $medium; + cursor: pointer; + padding: 20px; + font-size: 25px; + +#markstable + width: 95%; + table-layout: fixed; + margin: auto; + tbody + display: block; + height: 70vh; + overflow: auto; + thead, tbody tr + display: table; + width: 100%; + table-layout: fixed; + ::placeholder + color: #000; + opacity: 1; + th + background-color: $secondary; + border: 2px solid white; + text-align: center; + font-size: 30px; + input + font-size: 30px; + border: none; + color: white; + text-align: center; + tr + td + background-color: $medium; + tr:nth-child(even) + td + background-color: $dark2; + td + text-align: center; + font-size: 25px; + border: 1px solid $light; + input + font-size: 25px; + border: none; + color: white; + text-align: center; + +#marksubmit + display: block; + width: 30%; + background-color: $secondary; + margin-top: 50px; + color: white; + border: none; + margin-left: auto; + margin-right: auto; + font-size: 30px; + padding: 15px; + cursor: pointer; + margin-bottom: 50px; \ No newline at end of file diff --git a/routes/edt.js b/routes/edt.js new file mode 100644 index 0000000..c7144fb --- /dev/null +++ b/routes/edt.js @@ -0,0 +1,8 @@ +let express = require("express"); +let router = express.Router(); + +router.get("/", (req, res) => { + res.render("edt", { title: "L'ETU" }); +}); + +module.exports = router; \ No newline at end of file diff --git a/routes/home.js b/routes/home.js new file mode 100644 index 0000000..7c6fb3c --- /dev/null +++ b/routes/home.js @@ -0,0 +1,9 @@ +let express = require("express"); +let router = express.Router(); + +/* GET home page. */ +router.get("/", (req, res) => { + res.render("home", { title: "L'ETU" }); +}); + +module.exports = router; \ No newline at end of file diff --git a/routes/marks.js b/routes/marks.js new file mode 100644 index 0000000..4723389 --- /dev/null +++ b/routes/marks.js @@ -0,0 +1,8 @@ +let express = require("express"); +let router = express.Router(); + +router.get("/", (req, res) => { + res.render("marks", { title: "L'ETU" }); +}); + +module.exports = router; \ No newline at end of file diff --git a/views/edt.pug b/views/edt.pug new file mode 100644 index 0000000..7e79aa3 --- /dev/null +++ b/views/edt.pug @@ -0,0 +1,84 @@ +table(id="edttable") + tr + th Monday + th Tuesday + th Wednesday + th Thursday + th Friday + tr + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + tr + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + tr(class="midi") + td + td + td + td + td + tr + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + tr + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 + td + p Maths + p S26 +div(class="row" id="edtweek") + div(class="col s3 offset-s1") + i(class="large material-icons") fast_rewind + div(class="col s4") + h3 Week of the 02/11/2020 + div(class="col s3") + i(class="large material-icons") fast_forward \ No newline at end of file diff --git a/views/home.pug b/views/home.pug new file mode 100644 index 0000000..24bafdf --- /dev/null +++ b/views/home.pug @@ -0,0 +1,40 @@ +extends index + +block home + h1(id="welcome") Welcome Back Benoit ! + div(class="row home") + if admin === false + div(class="col s12 m6" id="filactu") + div(class="col s10 offset-s1 actuflex") + div(class="actuhead") + p Fil d'actualité + div(class="actucontent") + div + p Nouvelle note : + p 18/20 Anglais + div + p Maths + p S26 + div + p Maths + p S26 + div + p Maths + p S26 + div(class="col s12 m6" id="edtjour") + div(class="col s10 offset-s1 edtflex") + div(class="edthead") + p EDT du jour + div + p Maths + p S26 + div + p Maths + p S26 + div(class="edtmidi") + div + p Maths + p S26 + div + p Maths + p S26 \ No newline at end of file diff --git a/views/index.pug b/views/index.pug index a2c3217..2b080c1 100644 --- a/views/index.pug +++ b/views/index.pug @@ -1,5 +1,60 @@ extends layout block content - h1= title - p Welcome to #{title} + - var student = true + - var teacher = false + - var admin = false + div(class="row" id="page") + div(class="col s2" id="panel") + if student === true + div(id="navprofile" class="student") + p Kezel Benoit + p G4S3 + a Logout + if teacher === true + div(id="navprofile" class="teacher") + p Kezel Benoit + a Logout + if admin === true + div(id="navprofile" class="admin") + p Kezel Benoit + a Logout + + div(id="navtop") + ul + if student === true + li + a Home + li(class="active") + a Planning + li + a Marks + li + a(href="https://mail.univ-lyon1.fr/owa/") Mail + li + a(href="https://clarolineconnect.univ-lyon1.fr/") Claroline + li + a School and student life + if teacher === true + li + a Home + li(class="active") + a Planning + li + a Marks + li + a(href="https://mail.univ-lyon1.fr/owa/") Mail + li + a(href="https://clarolineconnect.univ-lyon1.fr/") Claroline + if admin === true + li(class="active") + a Accueil + li + a Notes + li + a Vie scolaire et étudiante + li + a Gestion des profils + + div(class="col s10" id="main") + include marks.pug diff --git a/views/marks.pug b/views/marks.pug new file mode 100644 index 0000000..544679a --- /dev/null +++ b/views/marks.pug @@ -0,0 +1,185 @@ +if student === true + div(class="marksdetails" id="visibl") + table + tr + th(colspan="2") Details + tr + td DS 1 + tr + td Rang : 10/29 + tr + td Coeff : 1.5 + tr + td Moyenne de classe : 12 + div(class="row" id="marks") + div(class="col s12 m6 l4") + table + thead + tr + th(colspan="2") Maths + tbody + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + + div(class="col s12 m6 l4") + table + thead + tr + th(colspan="2") TP SE + tbody + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + + div(class="col s12 m6 l4") + table + thead + tr + th(colspan="2") PHP + tbody + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + + div(class="col s12 m6 l4") + table + thead + tr + th(colspan="2") Anglais + tbody + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + tr + td + p DS 1 + p 18/20 + td + p DS 2 + p 16/20 + +if teacher === true + div(class="row") + div(class="col s12 m10 offset-m1 marksgroup") + h3 Selectionnez un groupe + div(id="flexgroup") + p G1S1 + p G2S2 + p G3S3 + + form + table(id="markstable") + thead + tr + th Noms + th + input(type="text" value="DS1") + th + input(type="text" placeholder="Ajouter une note") + tbody + tr + td Test + td + input(type="number" value="16") + td + input(type="number") + tr + td Keze + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + tr + td Kezel + td + input(type="number" value="16") + td + input(type="number") + input(id="marksubmit" type="submit" value="Enregistrer") \ No newline at end of file