From 1484749eacf43a5550637416c927794279ef0d68 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sat, 28 Feb 2026 17:17:38 +0000 Subject: [PATCH] doc: add initial reports --- doc/lab-01_02.typ | 71 ++++++ doc/lab-03_04.typ | 71 ++++++ doc/metadata.typ | 58 +++++ doc/mini-project.typ | 61 +++++ doc/resources/glossary.typ | 59 +++++ doc/resources/img/csel.png | Bin 0 -> 30620 bytes doc/resources/img/hesso-logo.svg | 390 +++++++++++++++++++++++++++++++ doc/resources/img/logo-mse.png | Bin 0 -> 8284 bytes 8 files changed, 710 insertions(+) create mode 100644 doc/lab-01_02.typ create mode 100644 doc/lab-03_04.typ create mode 100644 doc/metadata.typ create mode 100644 doc/mini-project.typ create mode 100644 doc/resources/glossary.typ create mode 100644 doc/resources/img/csel.png create mode 100644 doc/resources/img/hesso-logo.svg create mode 100644 doc/resources/img/logo-mse.png diff --git a/doc/lab-01_02.typ b/doc/lab-01_02.typ new file mode 100644 index 0000000..edd5242 --- /dev/null +++ b/doc/lab-01_02.typ @@ -0,0 +1,71 @@ +// #import "@preview/hei-synd-report:0.1.1": * +#import "@preview/hei-synd-thesis:0.2.3": * +#import "/doc/metadata.typ": * +#import "/doc/resources/glossary.typ": * +#show:make-glossary +#register-glossary(entry-list) + +#import "@preview/fractusist:0.1.1":* + +//------------------------------------- +// Template config +// + +#{ + doc.title = "Environment & Kernel Programming" + doc.subtitle = [ + Lab 01: Embedded Linux Environment \ + & \ + Lab 02: Linux Kernel Programming + ] + doc.logos.tp_main = dragon-curve( + 10, + step-size: 10, + stroke-style: stroke( + paint: gradient.radial(..color.map.rocket), + thickness: 3pt, join: "round"), + height: 10cm, + ) + doc.version = "v0.1.0" +} + +#show: report.with( + option: option, + doc: doc, + date: date, + tableof: tableof, +) +#v(5em) +#infobox()[ + The repository for this labs can be found at the following address: + + #align(center)[https://github.com/Klagarge/MSE-MA-CSEL] +] +#pagebreak() + +//------------------------------------- +// Content +// + += Embedded Linux Environment + +#lorem(150) + +#lorem(50) + + +//-------------------------------------- +#pagebreak() += Linux Kernel Programming + +#lorem(150) + +#lorem(50) + + +//------------------------------------- +// Glossary +// +#heading(numbering:none, outlined: false)[] +#make_glossary(gloss:gloss, title:i18n("gloss-title")) + diff --git a/doc/lab-03_04.typ b/doc/lab-03_04.typ new file mode 100644 index 0000000..3b8d65d --- /dev/null +++ b/doc/lab-03_04.typ @@ -0,0 +1,71 @@ +// #import "@preview/hei-synd-report:0.1.1": * +#import "@preview/hei-synd-thesis:0.2.3": * +#import "/doc/metadata.typ": * +#import "/doc/resources/glossary.typ": * +#show:make-glossary +#register-glossary(entry-list) + +#import "@preview/fractusist:0.1.1":* + +//------------------------------------- +// Template config +// + +#{ + doc.title = "System Programming & Optimisation" + doc.subtitle = [ + Lab 03: Linux System Programming \ + & \ + Lab 04: Linux System Optimisation + ] + doc.logos.tp_main = dragon-curve( + 11, + step-size: 10, + stroke-style: stroke( + paint: gradient.radial(..color.map.rocket), + thickness: 3pt, join: "round"), + height: 10cm, +) + doc.version = "v0.1.0" +} + +#show: report.with( + option: option, + doc: doc, + date: date, + tableof: tableof, +) +#v(5em) +#infobox()[ + The repository for this labs can be found at the following address: + + #align(center)[https://github.com/Klagarge/MSE-MA-CSEL] +] +#pagebreak() + +//------------------------------------- +// Content +// + += Linux System Programming + +#lorem(150) + +#lorem(50) + + +//-------------------------------------- +#pagebreak() += Linux System Optimisation + +#lorem(150) + +#lorem(50) + + +//------------------------------------- +// Glossary +// +#heading(numbering:none, outlined: false)[] +#make_glossary(gloss:gloss, title:i18n("gloss-title")) + diff --git a/doc/metadata.typ b/doc/metadata.typ new file mode 100644 index 0000000..0eb63ce --- /dev/null +++ b/doc/metadata.typ @@ -0,0 +1,58 @@ +//------------------------------------- +// Document options +// +#let option = ( + type : "final", + lang : "en", +) + +//------------------------------------- +// Metadata of the document +// +#let doc= ( + abbr : "CSEL", + logos: ( + tp_topleft : image("/doc/resources/img/logo-mse.png", width: 9cm), + tp_topright : image("/doc/resources/img/hesso-logo.svg", width: 4.5cm), + header : image("/doc/resources/img/csel.png", width: 2.5cm), + ), + authors: ( + ( + name : "Yann Sierro", + abbr : "SIY", + email : "yann.sierro@master.hes-so.ch", + ), + ( + name : "Rémi Heredero", + abbr : "HER", + email : "remi.heredero@hevs.ch", + ), + ), + school: ( + name : "HES-SO Master", + major : "Computer Science", + orientation : "Embedded", + ), + course: ( + name : "CSEL", + prof : "Jacques Supcik", + semester : "Spring Semester 2026", + ), + keywords : ("HES-SO", "Computer Science", "Embedded Systems", "CSEL"), +) + +#let date = datetime.today() + +//------------------------------------- +// Settings +// +#let tableof = ( + toc: true, + tof: false, + tot: false, + tol: false, + toe: false, + maxdepth: 3, +) + +#let gloss = true \ No newline at end of file diff --git a/doc/mini-project.typ b/doc/mini-project.typ new file mode 100644 index 0000000..6433d3d --- /dev/null +++ b/doc/mini-project.typ @@ -0,0 +1,61 @@ +// #import "@preview/hei-synd-report:0.1.1": * +#import "@preview/hei-synd-thesis:0.2.3": * +#import "/doc/metadata.typ": * +#import "/doc/resources/glossary.typ": * +#show:make-glossary +#register-glossary(entry-list) + +#import "@preview/fractusist:0.1.1":* + +//------------------------------------- +// Template config +// + +#{ + doc.title = "Mini-Project" + doc.subtitle = [ + Mini-Project + ] + doc.logos.tp_main = dragon-curve( + 12, + step-size: 10, + stroke-style: stroke( + //paint: gradient.linear(..color.map.rocket, angle: 135deg), + paint: gradient.radial(..color.map.rocket), + thickness: 3pt, join: "round"), + height: 10cm, + ) + doc.version = "v0.1.0" +} + +#show: report.with( + option: option, + doc: doc, + date: date, + tableof: tableof, +) +#v(5em) +#infobox()[ + The repository for this labs can be found at the following address: + + #align(center)[https://github.com/Klagarge/MSE-MA-CSEL] +] +#pagebreak() + +//------------------------------------- +// Content +// + += Mini-Project + +#lorem(150) + +#lorem(50) + + +//------------------------------------- +// Glossary +// +#heading(numbering:none, outlined: false)[] +#make_glossary(gloss:gloss, title:i18n("gloss-title")) + diff --git a/doc/resources/glossary.typ b/doc/resources/glossary.typ new file mode 100644 index 0000000..f2f57bb --- /dev/null +++ b/doc/resources/glossary.typ @@ -0,0 +1,59 @@ +#import "@preview/hei-synd-report:0.1.1": * + +#let entry-list = ( + ( + key: "hei", + short: "HEI", + long: "Haute École d'Ingénierie", + group: "University" + ), + ( + key: "synd", + short: "SYND", + long: "Systems Engineering", + group: "University" + ), + ( + key: "it", + short: "IT", + long: "Infotronics", + group: "University" + ), + ( + key: "rust", + short: "Rust", + plural: "Rust programs", + long: "Rust Programming Language", + description: "Rust is a modern systems programming language focused on safety, speed, and concurrency. It prevents common programming errors such as null pointer dereferencing and data races at compile time, making it a preferred choice for performance-critical applications.", + group: "Programming Language" + ), +) + + +#let make_glossary( + gloss:true, + title: i18n("gloss-title"), +) = {[ + #if gloss == true {[ + #pagebreak() + #set heading(numbering: none) + = #title + #print-glossary( + entry-list, + // show all term even if they are not referenced, default to true + show-all: false, + // disable the back ref at the end of the descriptions + disable-back-references: false, + ) + ]} else{[ + #set text(size: 0pt) + #title + #print-glossary( + entry-list, + // show all term even if they are not referenced, default to true + show-all: false, + // disable the back ref at the end of the descriptions + disable-back-references: false, + ) + ]} +]} diff --git a/doc/resources/img/csel.png b/doc/resources/img/csel.png new file mode 100644 index 0000000000000000000000000000000000000000..32a27ea67eb86507a4649e1b3423d42e4b80f295 GIT binary patch literal 30620 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 +image/svg+xml \ No newline at end of file diff --git a/doc/resources/img/logo-mse.png b/doc/resources/img/logo-mse.png new file mode 100644 index 0000000000000000000000000000000000000000..281f17a460d744a5429737ddcdd71ee628f7c773 GIT binary patch literal 8284 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∓`pR@&Ns8jdC8+$ypn?W5R%a0~%_e{A6ABSKhxGjE- zGg8cbjMIIXz~r2u9_l)uvWb_1XQ4c-+0{$ZW?<R z(G)?k8wvTn5o?5+o*9$#KQei?^p}q97SEqX`?gc%&a7yAd`U+an3~Vi{7gheRtP{@ z0XwCEoSmbxo%tqojP6sL;in7M*@SkOM~!kd>g>hk_jX|eMP8QFkdB%v$L~E9>F3e1 z$?>#-IR4HMA>8lOnfc;m|7i?n0^RdM2@e9G_uz$nn%G26RP)&Xu0=RB)~FUGwrG_w z%;Y@Gk*2htc@|IH+i_w%L~drQCas`;!9}R=v|`(V?6f<2RU9DO@OJO@!oC)I-bwB5^2V-?-A} zJ*s#L7`vEnL9wQ9ohE*j_H@V>B_qSE@7B!S;|yBq^#=U$?6dp%W68>b?IEC>>Y=9J zjwOd$4*5biOPiN4;ND#!^=XCtC6a2^mcLA@<1FUi(=82=xP`(oQaS6`U5UryEpKF~ zYt|!(J5r}kT;*MvdH73=QdcrreTJw1d~!0(UB8WJnxG5?E4Qf!wlUGZbR!+4cxPez z;8sj&*jif6-fY=uPSs@7dYh!})zW4|M~ev7_-0p|2=*I1(@;N^iOF7@r@lOxsOcR+ zuAYBn>3Vl(p~@zDu4=lWp!MlN)4SdCJ*@|tigVsLY;~E2N`H<#wh6~lp-Bs--+V4C zk71RgSL2A8e=%&R?6|=LLb!FBg#AQ!g5Pu1Q(mI5l=4S-_RB>l?d4izmP4xPVyT{03Ocwz+}2deHaN1vp_(8bPSz>v z)=rN?r}HlVB?#SZZ~h&DN^GYyvbzaX4OX@M)EP2H$2p4+WBnmV1PMA)SGh_jEiINj zYPqsAG2Qv|rJ(y;_wA17v$*a3_t2$$u8LX*w?CYN3t61cONe? z+@|B6nWN1?dv3QjDtZn-Oq=l^F-^lC@{`Au>yB7NEcJi*VupQ7Iw9ft&fU307J%dD z1JbXuTD*<}p*!Tm!-%`Ap_!~1OhT-)9FbFz)j@>*fv1NET~N_-61L?piu9Tv5`XM$ zEe+GLxU(QYy7MyI(2{W)%FzB&y$5|9N|b^}9?;n9MTwP+jeYNgBf|@w#sZcuKxUq_ z+d=H2*6EZRS|#ko+slg#2O_;2>T*hZ{1%#B6Zs9+8TPOzhNgWZPtv5xN^z!V{y{k1 z_OC}~mHHN+A`|X|XPp5|DM!*<_~IIW!Xev++lbzJk)WApZz^_%fGh)D2ERQu9gvot z%uQ}v1L;>2P{DyW(#3o&t;dM@Y8qYbcjyWSb0?C7I`4Jkmb(v#%#0^C$i?w)KK8#& zT54M?H-iF@5JBVxQ7GE1HG!nm)~&}TMR`-vydt-6DjZBARrcfGncg`A!RpT$caAWa*!e}o!G6bC_tp1c zmvP#%j2(pjU5iraDFIzv2hOsaebnp0C=tdSrlLMJOMMhgF}p_czoP}ICAKT(C6c0e zMc#In=oRzT+QCa7YS9QWqH&Rr2zq1H{w)K)uyCRx20>HDlTzyz#~GO%H7(66c3#E? z-!Yl;2)mpWlKJnVNc0m36hCdLH`%0UjgTt5I8pRWxH2`i8>N-V30do1zbF6Sa?0WZ zC}k?mEMQYirv{=~=AFa0fHhuqsH($hG{)^upvt>}PbOW@sQ)`5jkN+h2!*P&Y!(9c zPFq*T&*`isdTI|EB5Gad4Z8o%#}Y3^ovddo1WmbR;$QVNR@+Jty=( zh+!yKs17EvB#*ab)|ewxNNA41JR+<+CM-4`$W5&!*o3@?|9_|?cZ*YTDU@3`py`Sb zG>FL}Vut7@7?KYtDL_4m7;pdi?+E5MWfOxN^CxJ;Mr0O^QZ?nyN-)fL5JH z)j?7v3FegqdkosUBSk*Tj9@sw`fvSM;>A1^9*D}I)=p{M#hy-VJfXV=89@yDT?qJ7 z=Oow!$Wg0a;J1Xze|Yr}Iq55qKtkMsFqXkqgj5rv@@tjklVCA`lf+1zYtn-I1j_6D z{}BqX{zluLyvG8)QR*8&XhA-;ZecyxK)sY??9~Ee8=>liZ>o;EvTlznYRnfw{)fY+ zfnfjZ{L2h-$TnYcJ*KhH3jU7-i8e^TDYAnAD|d9ohUa9Na}Joarj=U+>BJ0`@f&X) zWuG_vXAC8Yu`%C z8UpLh?of&uFy+#LTAV=tLVOa3U&-26`fs|C+Kr>gyjK3V#)b1ZuS)p5O{ zD>A@@Z_g}daF1PYxx$LoV{nP8?R%+`W^c2^NlV|w0q>%QL+RKgRv9e3yILk(_;rm? zF0T85k{~~mnZ@&Z78>FOgN$}fu)qP2NzoOP5qhAiv-V#mA(BGTQ?p7Mquq*9vh`r9 zBiuIJXzw=DY)aKEZ6cL4)7MKPjgpn#U{=u8{uSH3cFVN>mdd7xJGQtBJQ@a;^$LQ1 zAJSdH7uqOgb7F4>sj)XDg4<(tCPUJJ0PqZS!$ZvLA5CTw%!$?ehC9N?X@K^Mo~jOX zK^-6Ws|#o}0B1nbiNN175qr(MTii3UqS)d;U5`Jys80}AB2c%trcd*)B2z%8nXFCD zNUAf2V;9jCzUjLrnI63R_@!lufQc;MON*%Yr}YDZ zl4{hi&r*OU4S((eLj4qpzDhQH;(n(ApR(|rQ&``V zT!h3q*|Qr=wGGq%sV*x^x@`WX^L$kbYUtfRsd6j=v8Mr9Nuh=M)&Md8ap! z9u+9$mA9SggP=WGij2DJoU&3J*toBgMxQZz5{+Kdx{@|oeDT-dWVqvXjXDVRwLU7KpCLY zq`1liFdVMoKDsaGnW9}yUdwuEINX_fpvier^MJ8{b>M-kli8DByk@&;wag5Tud>q0 zwn&t99z9cKuM{={tYJuF`xLjeNVnO=>aINh=dBceIG$JO4nWUlv0!7oM0b?6pQ6q5BQD@X; z=}soo7uq;D3OYGvSvRg}ea3NgaP*G_dN@)0jDsFPmwG)KzoODY>~8)CP%Mw9?$Nb1 z^n+7$dI~rvi2biUU5FXgrf}s1();Mwrb64r;$K{?=LG$;d~`F-=atfdEP^D(s%3mH zT7J3i3yHuto4qL z)K|dq$1uudNIB8NOYJB}!ge+Q&csM;29zJa50__4aIXP-AhV6;ehs^mI_5cOy0>SG zK#Pw_h-;pFuS&5GCp%S*wNs>IrolqbJy zCoBnfDDN$@KAf)3%$d@UhXk99n%sAA`GtO#*yQM)$(nA5C03l&7togiLT8g4^#>bx zzdLJ6LN&pwza=u2tG){TLehor=~+)eG8F|PwV^f!ToFs z1#@m-m;mO~c}}4%>C(Hc5p=cGm@_C(hOVZD-)93fZFh71{OSDhDvP&MMnuIP;23X$ zd~p{NYTrgLVyy8b1wAV^j8ni}Kg61hum5Bx8x*zvsPiO$uoV?Qxk5NdkqdT>y8o+7 zFH(Mx+u*RAtPjZ>*Ou*AqIvh;5C@Vda#Y#9?FS(6FQBW(_;>9g(JVBjjg}P=-Mp!Q zR#pm!jmo-FgxN#|!3xKFTwS*2khbyt^W3Tllx?ijg7Ra-qif)}kD_bcH;+{l>XC1# z)zlPlT6ON!y<4^E758nRbP2CnTp=Vaw_=B2?yNMbmuNDR|EAeen0}Y$6@AlOGO^~G z(K|s{qN-?i^5>owSto3(BE5>=SHc?h5E@K*tuE18|MC(Q%Oc3a#LGgEV6yWtC=#q^ zYN{c45Uw`f%F{TFY2QdV_WCSCE=Sh2P`Iw&=7iG7zQhTY;TKRcjknT*aY0x61vVFT z2BpnHV=KzbshD_4MfTL|REZ$!T+Z%fp&McDFNTM@+znzN_s0;gRpN7UOrMxN{g7!O zKTDBfQNR)!1%9&P(;V$S*-7#W&2)?9ANXqzI$mLK#`KDz)_?MeOoGMiN2)_ z38NTB(VU2AL1PCC2T8_k3Jo^w+}`wV4wwL7i!l6Xr(6#2Vj&|ct|0KtjU%V-J&5jt zZW3(VB9M!n7!qCH(Nbg~tR?$~hNnzm`1MOYgdmQ;jatHSJbjZlEraSHo$nt>WerMP zfS~MmIg;n|1QWnke)f-jms2-RLk5=A|_IF#x541dTow@beRYp~OqWRmL>72#$!mk^VRLwc`c%#@`AWsd7Ahvgh5IAEcr^Lt}YEZPzFO z@;Sa@JH5(2^3~gsRq_M61K-$umEH4p587A8W;ske;s%)@-q3O>7I}U2TIGBCTqm9f zL9sF@kkpZ9v&kUEO{weaBv>m$(=K&ex9CGF+e4^hfVe-;YAZj;hhTpS7#V?>raq8& z7yAmun0~q3>sK12u$${f50>qE%EdLZefQcH)CaY2&wK{VKt!lk8Pb;8+pk=q{~$iU zw+|b5I{86X?jRj-d!X=!LDF!;NuJnOYJaE;DRaGddNk#Il!+K(t!Yb@#f(zPme9tZ zdDWMA)&FuXakTmiCInITzrg6LQ_Z>8Q6XwFzDVFLQVThUTHxq>99MpUuD)ygdgI8{ zZpEk`F38WtCNl6$p)Y$+s3)skfKteJoD-(7cjpQyP@^PRgdkrg()N(kH#6tV{0z6# zyVC3s06bI8&ymfwpx&P8IZ*&VJob2u1x~eo{;_0UhRL-WfBI7)%88Rj zRGle~GRTyA>*oREz6y7ni|x&5;tcV-Rr@TL*KQl<4%{bo45vKTPX;Oe zB>qgWpmqG|KJ9pUKGUGOb((k3^sG4Koh&8rNx;2--vY!}Ak&+l9Ta