rename resume to resumé
This commit is contained in:
28
resumé/_data.ts
Normal file
28
resumé/_data.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
function is_translation_dict(d: object): boolean {
|
||||
return Object.keys(d)[0].length == 2;
|
||||
}
|
||||
|
||||
function localize_dict(s: object, lang: string) {
|
||||
if (is_translation_dict(s)) {
|
||||
return localize(lang, s[lang]);
|
||||
} else {
|
||||
let t = Object();
|
||||
for (const [k, v] of Object.entries(s)) {
|
||||
t[k] = localize(lang, v);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
let localize_array = (s: any[], lang: string) =>
|
||||
s.map((e) => localize(lang, e));
|
||||
|
||||
function localize(lang: string, s: object): object {
|
||||
if (Array.isArray(s)) return localize_array(s, lang);
|
||||
else if (typeof s === "object") return localize_dict(s, lang);
|
||||
else return s;
|
||||
}
|
||||
|
||||
export function translated(data: object, lang: string): object {
|
||||
return localize(lang, data);
|
||||
}
|
||||
4
resumé/_data/introduction.yml
Normal file
4
resumé/_data/introduction.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
fr: |
|
||||
Je suis étudiant en troisième année d’école d’ingénieur en informatique et mathématiques appliquées (M2). J’ai un fort intérêt pour les systèmes et leur architecture, la cybersécurité, le réseau, l’infrastructure 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.
|
||||
en: |
|
||||
I’m a third year student (M2) in computer science and engineering school. I’m 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.
|
||||
40
resumé/_data/sections/education.yml
Normal file
40
resumé/_data/sections/education.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
title:
|
||||
fr: Formation
|
||||
en: Education
|
||||
priority: 2
|
||||
items:
|
||||
- school: Grenoble INP - Ensimag
|
||||
date:
|
||||
begin: 10/2023
|
||||
end: 2026
|
||||
description:
|
||||
fr: |
|
||||
L’Ensimag est une école d’ingénieur en informatique et mathématiques appliquées. J’y ait réalisé des projets de groupe qui m’ont particulièrement intéressé :
|
||||
|
||||
- *Encodeur JPEG (C)*: Projet réalisé uniquement à partir de la spécification, incluant un support pour des niveaux de qualité progressifs – 2 semaines – groupe de 3
|
||||
- *Compilateur Deca (Java)*: Implémentation d’un compilateur et de son infrastructure de test pour un langage objet – 4 semaines – groupe de 5
|
||||
- *Conception d'un système d’exploitation x86 (C)*: réalisation d'un OS (gestion processus, mémoire virtuelle, entrées-sorties, etc) pour x86 (32 bits)
|
||||
- *Conception d’un processeur RISC-V (VHDL)*, avec déploiement sur FPGA
|
||||
en: |
|
||||
Ensimag is an engineering school in applied mathematics and computer science (Master's degree). I've carried out group projects I found particularly interesting:
|
||||
|
||||
- *JPEG Encoder (C)*: Written from scratch using only the specification, including support for progressive levels of detail -- 2 weeks -- team of 3
|
||||
- *Deca Compiler (Java)*: Implementation of a compiler for a Java-like language and its testing infrastructure -- 4 weeks -- team of 5
|
||||
- *OS Conception (C)*: Writting an operating system for x86 (32 bits) with its components (process management, virtual memory, IO, etc)
|
||||
- *RISC-V Processor (VHDL)*: Implementation and testing of instructions, with deployment on FPGA
|
||||
|
||||
- school: PeiP Polytech Grenoble
|
||||
date:
|
||||
begin: 09/2021
|
||||
end: 06/2023
|
||||
description:
|
||||
fr: |
|
||||
*Prépa intégrée sur 2 ans* alliant des enseignements de Licence de l’Université Grenoble Alpes (mathématiques et informatique) à des modules pour l’ingénieur
|
||||
# - Modélisation et résolution d’un jeu de logique à grilles (Skyscrapers) (*Python 3*, *SAT*)
|
||||
# - Modélisation des dames chinoises (*OCaml*)
|
||||
# - Participation à une réflexion autour de la gestion des déchets en ville : “Objectif zéro déchets à Saint-Bruno” (3 jours)
|
||||
en: |
|
||||
*Two years integrated prep school* including teachings of license at Université Grenoble Alpes (computer science and mathematics) with additional engineering modules
|
||||
# - BlackJack implementation in CLI with automated players (*Python 3*, *SAT*)
|
||||
# - Chinese checkers modelization (*OCaml*)
|
||||
# - Participation in a 3 days reflexion around trash and unauthorized dumplings with city representatives
|
||||
92
resumé/_data/sections/experiences.yml
Normal file
92
resumé/_data/sections/experiences.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
title:
|
||||
fr: Expérience
|
||||
en: Experience
|
||||
priority: 1
|
||||
items:
|
||||
- organisation:
|
||||
name: CIME Nanotech
|
||||
website: https://cime.grenoble-inp.fr
|
||||
city: "Grenoble"
|
||||
position:
|
||||
fr: Assistant ingénieur
|
||||
en: Assistant engineer
|
||||
date:
|
||||
begin: 06/2025
|
||||
end: 09/2025
|
||||
description:
|
||||
context:
|
||||
fr: Plateforme multisensorielle exploitant les jumeaux numériques et les systèmes haptiques à retour d'effort pour la pédagogie en nanosciences (structure de Grenoble INP / UGA).
|
||||
en: Multi-sensory platform using digital twins and haptics for teaching nanoscience (cross-university structure).
|
||||
tasks:
|
||||
fr:
|
||||
- Améliorer le processus de compilation et de distribution logicielle (passage à CMake)
|
||||
- Définir et implémenter une architecture client/serveur avec communication TCP locale
|
||||
- Porter une interface graphique et un modèle de simulation depuis un OS Linux temps réel vers Windows en l'intégrant au reste de la plateforme (migration de la simulation vers le serveur)
|
||||
en:
|
||||
- Improving the compilation and software distribution process (migration to CMake)
|
||||
- Designing and implementing a client/server architecture with local TCP communication
|
||||
- Porting a graphical interface and a simulation model from a real-time Linux OS to Windows and integrating it with the platform (moving the simulation to the server).
|
||||
comment:
|
||||
fr: J'ai découvert à quel point les systèmes cyber-physiques requièrent un contrôle des aspects "temps réel", pour la stabilité des modèles physiques et la cohérence des interactions.
|
||||
en: I learned how much cyber-physical systems require control of "real-time" aspects, to ensure both stability of the physics models and coherence of user interactions.
|
||||
themes:
|
||||
fr:
|
||||
- jumeaux numériques
|
||||
- simulation
|
||||
- IHM
|
||||
- temps réel
|
||||
en:
|
||||
- digital twins
|
||||
- simulation
|
||||
- HUI
|
||||
- real-time
|
||||
stack:
|
||||
- C++
|
||||
- Qt 6
|
||||
- CMake
|
||||
- Unity
|
||||
- C#
|
||||
- CHAI3D
|
||||
- Python 3
|
||||
|
||||
- organisation:
|
||||
name: VERIMAG
|
||||
website: https://www-verimag.imag.fr
|
||||
city: "Saint-Martin-d'Hères"
|
||||
position:
|
||||
fr: Stagiaire en recherche
|
||||
en: Research intern
|
||||
date:
|
||||
begin: 07/2022
|
||||
end: 09/2022
|
||||
description:
|
||||
context:
|
||||
fr: Laboratoire de recherche, dans le cadre du dispositif des stages d’excellence de l’Université Grenoble Alpes.
|
||||
en: Research laboratory internship for the “stage d’excellence” program at Université Grenoble Alpes
|
||||
tasks:
|
||||
fr:
|
||||
- Connecter les outils du VERIMAG avec des environnements d’apprentissage par renforcement (OpenAI Gym)
|
||||
- Évaluer la robustesse de différents modèles (signal temporal logic)
|
||||
- Tenter d’améliorer l’apprentissage en utilisant cette robustesse (reward shaping)
|
||||
en:
|
||||
- Connecting VERIMAG tools with reinforcement learning environments (OpenAI Gym)
|
||||
- Evaluating robustness of trained models (signal temporal logic)
|
||||
- Experimenting training improvement using this robustness (reward shaping)
|
||||
comment:
|
||||
fr: J’ai beaucoup appris sur le secteur de la recherche, notamment à travers les présentations des chercheurs et les discussions qui s'ensuivent.
|
||||
en: I learned a lot about how research works, in part thanks to the presentations given by the researchers, and the discussions held afterwards.
|
||||
themes:
|
||||
fr:
|
||||
- machine learning
|
||||
- méthodes formelles
|
||||
en:
|
||||
- machine learning
|
||||
- formal methods
|
||||
stack:
|
||||
- Python 3
|
||||
- C++
|
||||
- OpenAI Gym
|
||||
- PyTorch
|
||||
- Hugging Face
|
||||
- Jupyter Notebook
|
||||
- CMake
|
||||
41
resumé/_data/sections/hobbies.yml
Normal file
41
resumé/_data/sections/hobbies.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
title:
|
||||
fr: Loisirs et centres d'intérêt
|
||||
en: Hobbies
|
||||
priority: 5
|
||||
items:
|
||||
- name:
|
||||
fr: Programmation
|
||||
en: Programming
|
||||
items:
|
||||
fr:
|
||||
- Définition et implémentation d’un langage de programmation simple en *Rust* (Cranelift)
|
||||
- Reproduction d’un jeu en réseau pair-à-pair avec 2 amis (Bomberman) en *C*
|
||||
- Outil de prise de notes personnel (CLI + LSP) en *Rust*
|
||||
# - Création de contenu additionnel pour des jeux (Garry's Mod) en *Lua*
|
||||
en:
|
||||
- Definition and implementation of a simple programing language in *Rust* using Cranelift
|
||||
- Remake of a multiplayer game (Bomberman) with 2 friends in *C*, with peer-to-peer networking
|
||||
- Personal note-taking tool (CLI + LSP) in *Rust*
|
||||
# - Development of additional content for games (Garry’s mod) in *Lua*
|
||||
|
||||
- name:
|
||||
fr: Lecture
|
||||
en: Reading
|
||||
content:
|
||||
fr: Blogs, articles et papiers orientés informatique
|
||||
en: Blogs, articles and papers around computer science
|
||||
|
||||
- name: Self hosting
|
||||
content:
|
||||
fr: Hébergement d’outils personnels (git, cloud, médias, backups, CI)
|
||||
en: Hosting and managing tools for my personnal use (git, cloud, storage, backups, CI)
|
||||
|
||||
- name: Hardware
|
||||
content:
|
||||
fr: Programmation sur Arduino -- Soudure et flash de microcontrôleurs RP 2040
|
||||
en: Arduino programming -- Soldering and flash of RP 2040 microcontrollers
|
||||
|
||||
- name: Piano
|
||||
content:
|
||||
fr: Solfège et jeu en auto-apprentissage depuis la fin du lycée
|
||||
en: Learned to play and read solfege mostly by myself
|
||||
28
resumé/_data/sections/languages.yml
Normal file
28
resumé/_data/sections/languages.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
title:
|
||||
fr: Langues
|
||||
en: Languages
|
||||
priority: 4
|
||||
items:
|
||||
- flag: 🇫🇷
|
||||
name:
|
||||
fr: Français
|
||||
en: French
|
||||
- flag: 🇬🇧
|
||||
|
||||
name:
|
||||
fr: Anglais
|
||||
en: English
|
||||
level: C1
|
||||
|
||||
- flag: 🇩🇪
|
||||
name:
|
||||
fr: Allemand
|
||||
en: German
|
||||
level: B1
|
||||
|
||||
- flag: 🇵🇱
|
||||
name:
|
||||
fr: Polonais
|
||||
en: Polish
|
||||
level: A1
|
||||
_needed: false
|
||||
8
resumé/_data/sections/skills.yml
Normal file
8
resumé/_data/sections/skills.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
title:
|
||||
fr: Compétences
|
||||
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
|
||||
15
resumé/_data/words.yml
Normal file
15
resumé/_data/words.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
themes:
|
||||
fr: Thèmes
|
||||
en: Themes
|
||||
stack:
|
||||
fr: Stack
|
||||
en: Stack
|
||||
context:
|
||||
fr: Contexte
|
||||
en: Context
|
||||
tasks:
|
||||
fr: Tâches
|
||||
en: Tasks
|
||||
comment:
|
||||
fr: Appréciation
|
||||
en: Comment
|
||||
11
resumé/_templates/education.vto
Normal file
11
resumé/_templates/education.vto
Normal file
@@ -0,0 +1,11 @@
|
||||
{{ for ed of section.items }}
|
||||
<div class="card">
|
||||
<h3>{{ ed.school }}</h3>
|
||||
|
||||
<p>{{ ed.date.begin }} - {{ ed.date.end }}</p>
|
||||
|
||||
<hr>
|
||||
|
||||
{{ ed.description |> djot }}
|
||||
</div>
|
||||
{{ /for }}
|
||||
43
resumé/_templates/experiences.vto
Normal file
43
resumé/_templates/experiences.vto
Normal file
@@ -0,0 +1,43 @@
|
||||
{{ for exp of section.items }}
|
||||
<div class="card">
|
||||
<h3><a href="{{ exp.organisation.website }}">{{ exp.organisation.name }}</a> - {{ exp.position }}</h3>
|
||||
|
||||
<p>{{ exp.date.begin }} - {{ exp.date.end }}, {{ exp.city }}</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
<strong>{{ words_.context }}:</strong>
|
||||
{{ exp.description.context }}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>{{ words_.tasks }}:</strong>
|
||||
<ul>
|
||||
{{ for task of exp.description.tasks }}
|
||||
<li>{{ task }}</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>{{ words_.comment }}:</strong>
|
||||
{{ exp.description.comment }}
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>{{ words_.themes }}:</strong>
|
||||
<ul>
|
||||
{{ for theme of exp.themes }}
|
||||
<li>{{ theme }}</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<center>
|
||||
{{ for el of exp.stack }}
|
||||
<span class="pl-badge">{{ el }}</span>
|
||||
{{ /for }}
|
||||
</center>
|
||||
</div>
|
||||
{{ /for }}
|
||||
18
resumé/_templates/hobbies.vto
Normal file
18
resumé/_templates/hobbies.vto
Normal file
@@ -0,0 +1,18 @@
|
||||
<div>
|
||||
{{ for item of section.items }}
|
||||
<div>
|
||||
{{ if "items" in item }}
|
||||
<strong>{{ item.name }}:</strong>
|
||||
<ul>
|
||||
{{ for i of item.items }}
|
||||
<li>{{ i |> djot }}</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
{{ else }}
|
||||
<p>
|
||||
<strong>{{ item.name }}:</strong> {{ item.content }}
|
||||
</p>
|
||||
{{ /if }}
|
||||
</div>
|
||||
{{ /for }}
|
||||
</div>
|
||||
5
resumé/_templates/languages.vto
Normal file
5
resumé/_templates/languages.vto
Normal file
@@ -0,0 +1,5 @@
|
||||
<ul>
|
||||
{{ for item of section.items }}
|
||||
<li>{{ item.flag }} {{ item.name }} {{ item?.level }}</li>
|
||||
{{ /for }}
|
||||
</ul>
|
||||
1
resumé/_templates/skills.vto
Normal file
1
resumé/_templates/skills.vto
Normal file
@@ -0,0 +1 @@
|
||||
{{ section.content |> djot }}
|
||||
2
resumé/data.yml
Normal file
2
resumé/data.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
emails:
|
||||
- rpqt@rpqt.fr
|
||||
19
resumé/index.vto
Normal file
19
resumé/index.vto
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Romain Paquet - Resumé
|
||||
lang: en
|
||||
---
|
||||
|
||||
{{# <center> #}}
|
||||
{{# {{ #}}
|
||||
{{# "Download shorter PDF version in [french](/resume-fr.pdf) or [english](/resume-en.pdf) (one page)" |> md #}}
|
||||
{{# }} #}}
|
||||
{{# </center> #}}
|
||||
|
||||
{{ for name of ["experiences", "education", "skills", "languages", "hobbies"] }}
|
||||
{{ set section = translated(sections[name], lang) }}
|
||||
<section>
|
||||
<h2 id="#{{name}}">{{ section.title }}</h2>
|
||||
{{ set words_ = translated(words, lang) }}
|
||||
{{ include `./_templates/${name}.vto` { section } }}
|
||||
</section>
|
||||
{{ /for }}
|
||||
Reference in New Issue
Block a user