Browse Source

add phd page

master
zapashcanon 2 weeks ago
parent
commit
379a4190bb
Signed by: zapashcanon GPG Key ID: 8981C3C62D1D28F1
  1. 2
      src/dune
  2. 109
      src/phd.ml
  3. 1
      src/template.ml
  4. 1
      src/www.ml

2
src/dune

@ -1,6 +1,6 @@
(executable
(public_name www)
(modules bundle home lang places template www)
(modules bundle home lang places phd template www)
(libraries drame omd lambdasoup))
(rule

109
src/phd.ml

@ -0,0 +1,109 @@
open Drame
open Html
open Lang
let controller request =
let title = txt request ~en:"Ph.D. Thesis" ~fr:"Thèse de doctorat" in
let body =
[ h1 [ title ]
; p
[ txt request
~en:
"I started my Ph.D. thesis in october 2021 and completed the \
dissertation in september 2024. I have been supervised by "
~fr:
"J'ai débuté ma thèse de doctorat en octobre 2021 et achevé la \
rédaction en septembre 2024. J'ai été encadré par "
; a
~a:[ a_href "https://usr.lmf.cnrs.fr/~jcf" ]
[ txt_anylang "Jean-Christophe Filliâtre" ]
; txt request ~en:" in the " ~fr:" au "
; a
~a:[ a_href "https://lmf.cnrs.fr" ]
[ txt request ~en:"Formal Methods Laboratory (LMF)"
~fr:"Laboratoire Méthodes Formelles (LMF)"
]
; txt request ~en:" and by " ~fr:" et par "
; a
~a:[ a_href "https://dblp.org/pid/24/1145.html" ]
[ txt_anylang "Pierre Chambart" ]
; txt request ~en:" at " ~fr:" à "
; a ~a:[ a_href "https://ocamlpro.com" ] [ txt_anylang "OCamlPro" ]
; txt_anylang "."
]
; p
[ txt request
~en:
"My work was about the compilation of garbage-collected \
languages to WebAssembly, and especially OCaml. I also worked \
on efficient cross-language symbolic execution (C, Rust and \
Wasm). This led me to write two software: "
~fr:
"Mon travail portait sur la compilation des langages avec \
glaneur de cellules vers WebAssembly, et en particulier OCaml. \
J'ai aussi travaillé sur l'exécution symbolique cross-langage \
efficace (C, Rust et Wasm). Cela m'a mené à écrire deux \
logiciels : "
; a
~a:[ a_href "https://github.com/ocamlpro/wasocaml" ]
[ txt_anylang "Wasocaml" ]
; txt request ~en:" (an OCaml to WasmGC compiler) and "
~fr:" (un compilateur OCaml vers WasmGC) et "
; a
~a:[ a_href "https://github.com/ocamlpro/owi" ]
[ txt_anylang "Owi" ]
; txt request
~en:
" (a parallel symbolic execution engine for Wasm/C/Rust and a \
Wasm toolkit). "
~fr:
" (un moteur d'exécution symbolique parallèle pour Wasm/C/Rust \
et une boîte à outils pour Wasm). "
; txt request ~en:"I also published some articles related to my work: "
~fr:"J'ai aussi publié plusieurs articles liés à mon travail: "
]
; ul
[ li
[ a
~a:[ a_href "https://inria.hal.science/hal-04311345" ]
[ txt_anylang "Wasocaml: compiling OCaml to WebAssembly" ]
; txt request ~en:";" ~fr:" ;"
]
; li
[ a
~a:[ a_href "https://hal.science/hal-04627413" ]
[ txt_anylang
"Owi: Performant Parallel Symbolic Execution Made Easy, an \
Application to WebAssembly"
]
; txt_anylang "."
]
]
; h2 [ txt request ~en:"Dissertation" ~fr:"Manuscrit" ]
; p
[ txt request ~en:"The first version of my dissertation is available "
~fr:"La première version de mon manuscrit est disponible "
; a
~a:
[ a_href
"https://fs.zapashcanon.fr/pdf/manuscrit_these_leo_andres.pdf"
]
[ txt request ~en:"here" ~fr:"ici" ]
; txt request
~en:". A second version will be published after the defense."
~fr:". Une seconde version sera publiée après la soutenance."
]
; h2 [ txt request ~en:"Defense" ~fr:"Soutenance" ]
; p
[ txt request
~en:
"I will publicly defend my Ph.D. in december. I'll publish more \
informations later."
~fr:
"Je soutiendrai ma thèse publiquement en décembre. Je publierai \
plus d'informations ultérieurement."
]
]
in
let doc = Template.html request ~title ~body in
Ok (Content.Html doc)

1
src/template.ml

@ -67,6 +67,7 @@ let html ?(styles = []) ?(scripts = []) (request : Request.t) ~title ~body =
; Link ("/software", "🐱‍💻 Software", "🐱‍💻 Logiciels")
; Link ("/cs-stuff", "🧡 Cool Stuff", "🧡 Trucs cools")
; Link ("/ocaml", "🐫 OCaml", "🐫 OCaml")
; Link ("/phd", "🎓 Ph.D.", "🎓 Thèse")
] )
; Menu
( "#"

1
src/www.ml

@ -105,6 +105,7 @@ let handler route =
| [| "assets"; "img"; file |] -> img file
| [| "assets"; "js"; file |] -> js file
| [| "lang"; lang |] -> set_lang lang
| [| "phd" |] -> Phd.controller
| [| "places" |] -> Places.controller
| [| "robots.txt" |] -> robots
| [| p |] -> md_page p

Loading…
Cancel
Save