Compare commits

..

3 Commits

Author SHA1 Message Date
474d75f42d resumé: add makefile
All checks were successful
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2025-11-04 19:59:11 +01:00
6fb0bbebbd resumé: use one document per language 2025-11-04 19:58:24 +01:00
4249085236 small CV tweaks 2025-11-04 19:57:21 +01:00
9 changed files with 37 additions and 28 deletions

6
resumé/Makefile Normal file
View File

@@ -0,0 +1,6 @@
data := $(wildcard _data/**/*.yml)
all: all.pdf fr.pdf en.pdf
%.pdf: %.typ main.typ $(data)
typst compile $*.typ

View File

@@ -1,4 +1,4 @@
fr: |
Je suis étudiant en troisième année décole dingénieur en informatique et mathématiques appliquées (M2). Jai un fort intérêt pour les systèmes et leur architecture, la cybersécurité, le réseau, linfrastructure et le développement. Je suis en recherche d'un stage de fin d'études de 5-6 mois qui me permettrait d'appliquer mes connaissances.
Je suis étudiant en 3#super[ème] année décole dingénieur en informatique et mathématiques appliquées (M2). Jai un fort intérêt pour les systèmes et leur architecture, la cybersécurité, le réseau, linfrastructure et le développement. Je suis en recherche d'un stage de fin d'études de 5-6 mois qui me permettrait d'appliquer mes connaissances à de vrais problèmes.
en: |
Im a third year student (M2) in computer science and engineering school. Im interested in multiple fields: systems, architecture, cybersecurity, networking, infrastructure and development. I fuel this long-standing passion in my personal time. I am looking for a 5-6 months end-of-studies internship that will allow me apply my knowledge to real problems.
Im a 3#super[rd] year student (M2) in computer science and engineering school. Im interested in multiple fields: systems, architecture, cybersecurity, networking, infrastructure and development. I fuel this long-standing passion in my personal time. I am looking for a 5-6 months end-of-studies internship that will allow me apply my knowledge to real problems.

View File

@@ -59,8 +59,8 @@ items:
end: 09/2022
description:
context:
fr: Laboratoire de recherche, dans le cadre du dispositif des stages dexcellence de lUniversité Grenoble Alpes.
en: Research laboratory internship for the “stage dexcellence” program at Université Grenoble Alpes
fr: Laboratoire de recherche, dans le cadre des stages dexcellence de lUniversité Grenoble Alpes.
en: Research laboratory internship for the “stage dexcellence” program at Université Grenoble Alpes
tasks:
fr:
- Connecter les outils du VERIMAG avec des environnements dapprentissage par renforcement (OpenAI Gym)

View File

@@ -3,6 +3,7 @@ title:
en: Skills
priority: 3
content: |
- *C*, *Rust*, *C++*, *Java*, *Python*, *C\#*, Zig, TS, OCaml, Lua
- Unix, Shell, Git, GDB, Docker, Nix, React, SQL, QEMU, Terraform, CMake, Gitlab CI, Buildbot, QNX, FreeRTOS, CUDA
- RISC-V, ARMv7, AArch64, x86_64
- *C*, *Rust*, *C++*, *Java*, *Python*, *C\#*, Zig, TS, OCaml, Lua, Shell, SQL
- Linux, FreeBSD, QNX, FreeRTOS, QEMU, Docker, React
- *Git*, *CMake*, *Nix*, *GDB*, Gitlab CI, Buildbot, Terraform, CUDA, OpenCL
- RISC-V, ARMv7, AArch64, x86

3
resumé/all.typ Normal file
View File

@@ -0,0 +1,3 @@
#import "main.typ": mkCV
#let languages = ("fr", "en")
#languages.map(mkCV).join()

2
resumé/en.typ Normal file
View File

@@ -0,0 +1,2 @@
#import "main.typ": mkCV
#mkCV("en")

2
resumé/fr.typ Normal file
View File

@@ -0,0 +1,2 @@
#import "main.typ": mkCV
#mkCV("fr")

View File

@@ -1,6 +1,6 @@
#import "localize.typ": localize
#let languages = ("fr", "en")
#let mkCV(language) = [
#set page(
paper: "a4",
@@ -8,24 +8,19 @@
margin: 10mm,
)
#languages.map(language => [
#set text(lang: language)
#let accent-color = rgb(0x06, 0x92, 0xaa, 255)
#let load-section(path) = localize(language, yaml(path))
#let load(path) = localize(language, yaml(path))
#let education = load-section("_data/sections/education.yml")
#let experiences = load-section("_data/sections/experiences.yml")
#let hobbies = load-section("_data/sections/hobbies.yml")
#let languages = load-section("_data/sections/languages.yml")
#let skills = load-section("_data/sections/skills.yml")
#let introduction = load-section("_data/introduction.yml")
#let data = yaml("data.yml")
#let words = localize(language, yaml("_data/words.yml"))
#let tr(key) = key.split(".").fold(words, (d, k) => d.at(k)).at(language)
#let education = load("_data/sections/education.yml")
#let experiences = load("_data/sections/experiences.yml")
#let hobbies = load("_data/sections/hobbies.yml")
#let languages = load("_data/sections/languages.yml")
#let skills = load("_data/sections/skills.yml")
#let introduction = load("_data/introduction.yml")
#let contact = yaml("_data/contact.yml")
#let words = load("_data/words.yml")
#let date-range(date) = [ #date.begin --- #date.end ]
@@ -50,7 +45,7 @@
1 Rue Auguste Renoir \
38400 Saint-Martin-d'Hères \
(+33) 06 58 92 15 86 \
#for email in data.emails [
#for email in contact.emails [
#link("mailto:" + email) \
]
#link("https://rpqt.fr")
@@ -79,7 +74,7 @@
scope: "parent",
[
#line(length: 100%)
#introduction
#eval(introduction, mode: "markup")
#line(length: 100%)
]
)
@@ -130,11 +125,11 @@
#for hobby in hobbies.items [
#if hobby.keys().contains("items") [
*#hobby.name*
#hobby.items.map(i => [ - #i]).join()
#hobby.items.map(i => [ - #eval(i, mode: "markup")]).join()
] else [
*#hobby.name* -- #hobby.at("content")
*#hobby.name* -- #eval(hobby.at("content"), mode: "markup")
]
]
]).join()
]