docs(reports): final tidy up before presentation

Signed-off-by: Klagarge <remi@heredero.ch>
This commit is contained in:
2026-06-14 16:24:40 +02:00
parent 8e85c5e20d
commit fa9c852b8d
5 changed files with 36 additions and 32 deletions

View File

@@ -15,7 +15,7 @@
#let server = [ #let server = [
#figure( #figure(
image("server.png", width: 100%), image("server.png", width: 100%),
caption: [], caption: [Server implementation],
) <fig:server> ) <fig:server>
] ]
#grid( #grid(

View File

@@ -8,6 +8,7 @@
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
gutter: 2em, gutter: 2em,
align: top+left,
[ [
*Architecture* *Architecture*
- Raspberry Pi 4 Python - Raspberry Pi 4 Python
@@ -17,14 +18,14 @@
- Remote access via Tailscale - Remote access via Tailscale
], ],
[ [
*Data flow*\ // *Data flow*\
Thingy:52 // Thingy:52
$->$ BLE advertising // $->$ BLE advertising
Raspberry Pi // Raspberry Pi
$->$ MQTTS (TLS) // $->$ MQTTS (TLS)
RabbitMQ broker // RabbitMQ broker
$->$ // $->$
InfluxDB // InfluxDB
] ]
) )
] ]
@@ -42,10 +43,10 @@
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
gutter: 2em, gutter: 2em,
align: top+left,
[ [
*BLE filtering* *BLE filtering*
- GATT passive advertising - GATT $->$ passive advertising
(BlueZ limitation)
- Filter: `company_id = 0xffff` - Filter: `company_id = 0xffff`
- exactly 14 bytes - exactly 14 bytes
- Continuous BLE scan (100% duty cycle) - Continuous BLE scan (100% duty cycle)

View File

@@ -4,17 +4,17 @@
#import "/main/architecture/description.typ": * #import "/main/architecture/description.typ": *
#import "/resources/slides.typ": * #import "/resources/slides.typ": *
--- ---
Input:
- Provence classrooms specifications - Space A #pause
- Open data #pause
- Ventilation standard formula #pause
- User parameters : Room name, number of students, initial @co2:short concentration #pause
Output: Output:
- Evolution of @co2:short concentration without considering air ventilation #pause - Evolution of @co2:short concentration without considering air ventilation #pause
- Time required to reach a threshold of 1400 ppm #pause - Time required to reach a threshold of 1400 ppm #pause
- Evolution of @co2:short concentration decrease under natural ventilation #pause - Evolution of @co2:short concentration decrease under natural ventilation #pause
- Time required to reach outdoor-equivalent concentration level - Time required to reach outdoor-equivalent concentration level #pause
Input:
- Provence classrooms specifications - Space A #pause
- Open data #pause
- Ventilation standard formula #pause
- User parameters : Room name, number of students, initial @co2:short concentration
--- ---
=== Modelling the temporal evolution of @co2:short concentration === Modelling the temporal evolution of @co2:short concentration
@@ -43,7 +43,7 @@ Output:
image("../../resources/img/Physical model/Window user window opening model.png"), image("../../resources/img/Physical model/Window user window opening model.png"),
caption: [User input parameters and results] caption: [User input parameters and results]
) <fig:user_input_parameters_results> ) <fig:user_input_parameters_results>
], ],pause,
[ [
#figure( #figure(
image("../../resources/img/Physical model/CO2 concentration over time user window opening model.png"), image("../../resources/img/Physical model/CO2 concentration over time user window opening model.png"),

View File

@@ -82,10 +82,11 @@ TECHNIQUE
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
gutter: 2em, gutter: 2em,
align: left+top,
[ [
*Project management* *Project management*
- Weekly meetings Thursday 17h (1h) - Weekly meetings
- PV after each meeting (Thank's to Adrien) - PV after each meeting
- GitHub Issues & sub-issues - GitHub Issues & sub-issues
- Pull Requests with code review - Pull Requests with code review
- Teams for daily communication - Teams for daily communication
@@ -119,9 +120,9 @@ TECHNIQUE
= Conclusion = Conclusion
== Whole project's takeaways // (50s) Adrien (Regard critique) == Project's takeaways // (50s) Adrien (Regard critique)
- @trl:short 4 #pause - @trl:long (@trl:short) 4 #pause
- Forecasting and Teams notifications - Forecasting // and Teams notifications
== Future perspectives // (50s) Alison == Future perspectives // (50s) Alison
- Deployment in every room #pause - Deployment in every room #pause

View File

@@ -82,7 +82,7 @@
extra: [#text(size: 6.5pt, fill: c-muted)[Build check]]), extra: [#text(size: 6.5pt, fill: c-muted)[Build check]]),
(icon: img-root + "image19.png", bg: rgb("#1F2328"), name: "GitHub Actions", (icon: img-root + "image19.png", bg: rgb("#1F2328"), name: "GitHub Actions",
extra: [#text(size: 6.5pt, fill: c-muted)[Coverage]]), extra: [#text(size: 6.5pt, fill: c-muted)[Coverage]]),
)), )),pause,
devsec-col("② SAST · SCA", ( devsec-col("② SAST · SCA", (
(icon: img-root + "image7.png", bg: rgb("#000000"), name: "SpotBugs", (icon: img-root + "image7.png", bg: rgb("#000000"), name: "SpotBugs",
extra: [#badge("BLOCKING")]), extra: [#badge("BLOCKING")]),
@@ -90,7 +90,7 @@
extra: [#badge("BLOCKING")]), extra: [#badge("BLOCKING")]),
(icon: img-root + "image14.png", bg: rgb("#F97316"), name: "Dep. Check", (icon: img-root + "image14.png", bg: rgb("#F97316"), name: "Dep. Check",
extra: [#badge("NON-BLOCK", fill: rgb("#F97316"))]), extra: [#badge("NON-BLOCK", fill: rgb("#F97316"))]),
)), )),pause,
devsec-col("③ DAST · Tests", ( devsec-col("③ DAST · Tests", (
(icon: img-root + "image15.png", bg: rgb("#00549E"), name: "OWASP ZAP", (icon: img-root + "image15.png", bg: rgb("#00549E"), name: "OWASP ZAP",
extra: [#badge("BLOCKING")]), extra: [#badge("BLOCKING")]),
@@ -98,7 +98,7 @@
extra: [#badge("BLOCKING")]), extra: [#badge("BLOCKING")]),
(icon: img-root + "image17.png", bg: rgb("#64748B"), name: "Runtime check", (icon: img-root + "image17.png", bg: rgb("#64748B"), name: "Runtime check",
extra: [#text(size: 6.5pt, fill: c-muted)[HTTP headers]]), extra: [#text(size: 6.5pt, fill: c-muted)[HTTP headers]]),
)), )),pause,
devsec-col("④ Build · Deploy", ( devsec-col("④ Build · Deploy", (
(icon: img-root + "image18.png", bg: rgb("#0DB7ED"), name: "Docker", (icon: img-root + "image18.png", bg: rgb("#0DB7ED"), name: "Docker",
extra: [#text(size: 6.5pt, fill: c-muted)[SHA-tagged]]), extra: [#text(size: 6.5pt, fill: c-muted)[SHA-tagged]]),
@@ -106,7 +106,7 @@
extra: [#text(size: 6.5pt, fill: c-muted)[main only]]), extra: [#text(size: 6.5pt, fill: c-muted)[main only]]),
(icon: img-root + "image17.png", bg: rgb("#10B981"), name: "SSH Deploy", (icon: img-root + "image17.png", bg: rgb("#10B981"), name: "SSH Deploy",
extra: [#text(size: 6.5pt, fill: c-muted)[cert-auth]]), extra: [#text(size: 6.5pt, fill: c-muted)[cert-auth]]),
)), )),pause,
) )
#v(7pt) #v(7pt)
@@ -179,10 +179,12 @@
) )
v(4pt) v(4pt)
} }
#alert-row(rgb("#EF4444"), "Critical", "> 2000 ppm") #alert-row(rgb("#f44336"), "Critical", "> 2000 ppm")
#alert-row(rgb("#F97316"), "Poor", "12001500 ppm") #alert-row(rgb("#F97316"), "Very Poor", "1500-2000 ppm")
#alert-row(rgb("#EAB308"), "Moderate", "10001200 ppm") #alert-row(rgb("#ff9800"), "Poor", "1200-1500 ppm")
#alert-row(rgb("#22C55E"), "Good", "< 800 ppm") #alert-row(rgb("#ffc107"), "Moderate", "1000-1200 ppm")
#alert-row(rgb("#8bc34a"), "Good", "800-1000 ppm")
#alert-row(rgb("#4caf50"), "Excellent", "< 800 ppm")
#v(6pt) #v(6pt)
#line(length: 100%, stroke: 0.5pt + c-border) #line(length: 100%, stroke: 0.5pt + c-border)