update!
This commit is contained in:
parent
6d4a818b49
commit
d0e6a2bbce
6 changed files with 605 additions and 128 deletions
254
config.json
Normal file
254
config.json
Normal file
|
@ -0,0 +1,254 @@
|
||||||
|
{
|
||||||
|
"contacts": {
|
||||||
|
"name": "Violette Paulin",
|
||||||
|
"email": "paum1202@usherbrooke.ca",
|
||||||
|
"website": "violette.town",
|
||||||
|
"nationality": "French",
|
||||||
|
"git": "https://git.violette.town/violette"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Programming Languages",
|
||||||
|
"items": [
|
||||||
|
"C / C++ / Rust",
|
||||||
|
"Java",
|
||||||
|
"Python / Shell Scripting",
|
||||||
|
"JavaScript / TypeScript"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Data Analysis",
|
||||||
|
"items": [
|
||||||
|
"Data Visualization",
|
||||||
|
"Statistics"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "System Development",
|
||||||
|
"items": [
|
||||||
|
"Embedded",
|
||||||
|
"Distributed Systems",
|
||||||
|
"BSD / Linux / Unix like"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Database Management",
|
||||||
|
"items": [
|
||||||
|
"noSQL",
|
||||||
|
"SQL",
|
||||||
|
"Blockchain"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Web Development",
|
||||||
|
"items": [
|
||||||
|
"Spring",
|
||||||
|
"Angular.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"name": "French",
|
||||||
|
"proficiency": 5,
|
||||||
|
"comment": "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "English",
|
||||||
|
"proficiency": 4,
|
||||||
|
"comment": "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "German",
|
||||||
|
"proficiency": 2,
|
||||||
|
"comment": "None"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jobs": [
|
||||||
|
{
|
||||||
|
"position": "R & D, Software Developer Intern",
|
||||||
|
"company": {
|
||||||
|
"name": "TransTech innovations",
|
||||||
|
"link": "https://transtechinnovations.com"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Creating a parser for a proprietary logger (java spring boot, angular JS)",
|
||||||
|
"Creating a proof of concept for a module in embedded devices (C++23)"
|
||||||
|
],
|
||||||
|
"from": "2024 Sept.",
|
||||||
|
"to": "2025 Feb.",
|
||||||
|
"tags": [
|
||||||
|
"Embedded systems",
|
||||||
|
"Fullstack",
|
||||||
|
"Java Spring Boot",
|
||||||
|
"Angular",
|
||||||
|
"C / C++"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "SysAdmin",
|
||||||
|
"company": {
|
||||||
|
"name": "TransEstrie",
|
||||||
|
"link": "https://transestrie.org"
|
||||||
|
},
|
||||||
|
"from": "2024 Jul",
|
||||||
|
"to": "2024 Aug.",
|
||||||
|
"description": [
|
||||||
|
"Maintaining and upgrading the internal network",
|
||||||
|
"Setting up diverse services (NextCloud, VPN, securing data, creating backups...)"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"SysAdmin",
|
||||||
|
"Autonomy",
|
||||||
|
"Self Teaching"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "R & D, Software Developer Intern",
|
||||||
|
"company": {
|
||||||
|
"name": "LISTIC Annecy",
|
||||||
|
"link": "https://www.univ-smb.fr/listic/en/"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Building a distributed caching system, and storing logs within a Blockchain",
|
||||||
|
"Internship in a informatic research laboratory",
|
||||||
|
"Suppervised by Sébastien Monnet & Kavé Salamatian"
|
||||||
|
],
|
||||||
|
"from": "2023 May.",
|
||||||
|
"to": "2023 Aug.",
|
||||||
|
"tags": [
|
||||||
|
"Distributed System design",
|
||||||
|
"Rust",
|
||||||
|
"Blockchain Programming",
|
||||||
|
"Web Programming - Backend & Frontend",
|
||||||
|
"Self Teaching"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "SEO Agent",
|
||||||
|
"company": {
|
||||||
|
"name": "BIWA Annecy",
|
||||||
|
"link": "https://box-evidence.com"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Optimise web ranking of different websites"
|
||||||
|
],
|
||||||
|
"from": "2022 May.",
|
||||||
|
"to": "2022 Jul.",
|
||||||
|
"tags": [
|
||||||
|
"Autonomy",
|
||||||
|
"SEO"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"education": [
|
||||||
|
{
|
||||||
|
"university": {
|
||||||
|
"name": "Polytech Annecy Chambéry",
|
||||||
|
"link": "https://www.polytech.univ-smb.fr/"
|
||||||
|
},
|
||||||
|
"degree": "Engineering Degree (France)",
|
||||||
|
"major": "Computer Science",
|
||||||
|
"track": "Informatic Data Usage",
|
||||||
|
"from": "2021",
|
||||||
|
"to": "2025"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"university": {
|
||||||
|
"name": "Sherbrooke University",
|
||||||
|
"link": "https://usherbrooke.ca"
|
||||||
|
},
|
||||||
|
"degree": "M.Sc.",
|
||||||
|
"major": "Computer Science",
|
||||||
|
"track": "None",
|
||||||
|
"from": "2023",
|
||||||
|
"to": "2025"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"projects": {
|
||||||
|
"personnal": [
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "Discsord Bot",
|
||||||
|
"link": "https://github.com/storca/vhbot"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Automate actions during class",
|
||||||
|
"Useful for our teachers",
|
||||||
|
"List people attending class",
|
||||||
|
"Wishes birthday to our teachers"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Python",
|
||||||
|
"Teamwork",
|
||||||
|
"Git"
|
||||||
|
],
|
||||||
|
"year": 2020
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"school": [
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "DHTea",
|
||||||
|
"link": "https://github.com/phoqueEberlue/DHTea"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Distributed hash table",
|
||||||
|
"Written in rust from scratch",
|
||||||
|
"Stores files / data"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Rust",
|
||||||
|
"Distributed system",
|
||||||
|
"Self Teaching",
|
||||||
|
"Git",
|
||||||
|
"Shell scripting"
|
||||||
|
],
|
||||||
|
"year": 2023
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "Proxy",
|
||||||
|
"link": "https://github.com/TheBigBlase/proxy"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Proxy",
|
||||||
|
"Written in Python and Rust"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Teamwork / Team management",
|
||||||
|
"Git"
|
||||||
|
],
|
||||||
|
"year": 2022
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "kr00k",
|
||||||
|
"link": "https://github.com/thebigblase/kr00k"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Proof of concept for a security vulnerability (CVE-2019-15126)",
|
||||||
|
"Used as my final projects for MPSI / MP classes."
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Cybersecurity",
|
||||||
|
"Python",
|
||||||
|
"Self Teaching"
|
||||||
|
],
|
||||||
|
"year": 2021
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hobbies": {
|
||||||
|
"tech": [
|
||||||
|
"seeing how things are done under the hood",
|
||||||
|
"low level-ish dev",
|
||||||
|
"resurecting old tech"
|
||||||
|
],
|
||||||
|
"other": [
|
||||||
|
"music",
|
||||||
|
"playing the guitar",
|
||||||
|
"cooking"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
246
config_fr.json
Normal file
246
config_fr.json
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
{
|
||||||
|
"contacts": {
|
||||||
|
"name": "Violette Paulin",
|
||||||
|
"email": "paum1202@usherbrooke.ca",
|
||||||
|
"website": "violette.town",
|
||||||
|
"nationality": "Française",
|
||||||
|
"git": "https://git.violette.town/violette"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Langages de programmation",
|
||||||
|
"items": [
|
||||||
|
"C / C++ / Rust",
|
||||||
|
"Python / Node.js / Shell Scripting",
|
||||||
|
"JavaScript / TypeScript"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Analyse de données",
|
||||||
|
"items": [
|
||||||
|
"Visualisations de données",
|
||||||
|
"Statistiques"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Systèmes",
|
||||||
|
"items": [
|
||||||
|
"Systèmes embarqués",
|
||||||
|
"Systèmes distribués",
|
||||||
|
"BSD / Linux / Unix like"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bases de données",
|
||||||
|
"items": [
|
||||||
|
"noSQL",
|
||||||
|
"SQL",
|
||||||
|
"Blockchain"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Développement Web",
|
||||||
|
"items": [
|
||||||
|
"Spring",
|
||||||
|
"Angular.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"name": "Francais",
|
||||||
|
"proficiency": 5,
|
||||||
|
"comment": "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Anglais",
|
||||||
|
"proficiency": 4,
|
||||||
|
"comment": "None"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Allemand",
|
||||||
|
"proficiency": 2,
|
||||||
|
"comment": "None"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"jobs": [
|
||||||
|
{
|
||||||
|
"position": "R&D, développement logiciel",
|
||||||
|
"company": {
|
||||||
|
"name": "TransTech innovations",
|
||||||
|
"link": "https://transtechinnovations.com"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Créer un parseur de log, et son front end (java spring boot, angular JS)",
|
||||||
|
"Design et implémentation de modules embarqués pour un système temps réel (C++23)"
|
||||||
|
],
|
||||||
|
"from": "Septembre 2024",
|
||||||
|
"to": "Février 2025",
|
||||||
|
"tags": [
|
||||||
|
"Systèmes embarqués",
|
||||||
|
"Fullstack",
|
||||||
|
"Java Spring Boot",
|
||||||
|
"Angular",
|
||||||
|
"C / C++"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "SysAdmin",
|
||||||
|
"company": {
|
||||||
|
"name": "TransEstrie",
|
||||||
|
"link": "https://transestrie.org"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Maintenance et mise à jour des infrastructures réseaux",
|
||||||
|
"Mise en place de divers services (NextCloud, VPN, chiffrement des données, création de backup...)"
|
||||||
|
],
|
||||||
|
"from": "Juillet 2024",
|
||||||
|
"to": " Aout 2024",
|
||||||
|
"tags": [
|
||||||
|
"SysAdmin",
|
||||||
|
"Autonomie"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "Stage en R&D logiciel",
|
||||||
|
"company": {
|
||||||
|
"name": "LISTIC, USMB",
|
||||||
|
"link": "https://www.univ-smb.fr/listic/en/"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Stage effectué dans un laboratoire d'informatique public",
|
||||||
|
"Design et implémentation d'un système de cache avec blockchain"
|
||||||
|
],
|
||||||
|
"from": "Mai 2023",
|
||||||
|
"to": "Aout 2023",
|
||||||
|
"tags": [
|
||||||
|
"Design de système distribué",
|
||||||
|
"Programmation de blockchain",
|
||||||
|
"Interface web - Backend & Frontend",
|
||||||
|
"Autonomie"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"position": "Rédactrice SEO",
|
||||||
|
"company": {
|
||||||
|
"name": "Box évidence",
|
||||||
|
"link": "https://box-evidence.com/"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Rédaction d'articles et optimisation de contenu pour moteur de recherche"
|
||||||
|
],
|
||||||
|
"from": "Mai 2022",
|
||||||
|
"to": "Juillet 2022",
|
||||||
|
"tags": [
|
||||||
|
"Autonomie",
|
||||||
|
"SEO"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"education": [
|
||||||
|
{
|
||||||
|
"university": {
|
||||||
|
"name": "Université de Sherbrooke",
|
||||||
|
"link": "https://usherbrooke.ca"
|
||||||
|
},
|
||||||
|
"degree": "Maitrise",
|
||||||
|
"major": "d'informatique",
|
||||||
|
"track": "None",
|
||||||
|
"from": "2023",
|
||||||
|
"to": "2025"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"university": {
|
||||||
|
"name": "Polytech Annecy Chambéry",
|
||||||
|
"link": "https://www.polytech.univ-smb.fr/"
|
||||||
|
},
|
||||||
|
"degree": "Maitrise",
|
||||||
|
"major": "d'informatique",
|
||||||
|
"track": "Informatique Données Usage",
|
||||||
|
"from": "2021",
|
||||||
|
"to": "2025"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"projects": {
|
||||||
|
"personnal": [
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "Bot Discsord",
|
||||||
|
"link": "https://github.com/storca/vhbot"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Fait des actions comme faire l'appel de la classe pendant le confinement"
|
||||||
|
],
|
||||||
|
"year": 2020,
|
||||||
|
"tags": [
|
||||||
|
"Python",
|
||||||
|
"En équipe",
|
||||||
|
"Git"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"school": [
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "DHTea",
|
||||||
|
"link": "https://github.com/phoqueEberlue/DHTea"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Table de Hash distribuée",
|
||||||
|
"Stockage d'information / fichiers distribué",
|
||||||
|
"Ecrit from scratch"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Rust",
|
||||||
|
"Systèmes distribués",
|
||||||
|
"Autonomie",
|
||||||
|
"Git",
|
||||||
|
"Shell scripting"
|
||||||
|
],
|
||||||
|
"year": 2023
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "Proxy",
|
||||||
|
"link": "https://github.com/tartesauxpommes/proxy"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Proxy",
|
||||||
|
"Ecrit en Python et Rust"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Travail et gestion d'équipe",
|
||||||
|
"Git"
|
||||||
|
],
|
||||||
|
"year": 2022
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"name": "kr00k",
|
||||||
|
"link": "https://github.com/tartesauxpommes/kr00k"
|
||||||
|
},
|
||||||
|
"description": [
|
||||||
|
"Preuve de concept pour une faille de sécurité (CVE-2019-15126)",
|
||||||
|
"Remis comme projet final TIPE de MPSI / MP"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"Sécurité informatique",
|
||||||
|
"Python",
|
||||||
|
"Autonomie"
|
||||||
|
],
|
||||||
|
"year": 2021
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hobbies": {
|
||||||
|
"tech": [
|
||||||
|
"Aller fouiller sous le capot de mes outils",
|
||||||
|
"réssuciter des vieux objets électroniques"
|
||||||
|
],
|
||||||
|
"other": [
|
||||||
|
"cuisine",
|
||||||
|
"guitare",
|
||||||
|
"musique (jazz / blues)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -81,7 +81,7 @@ jobs:
|
||||||
- Autonomie
|
- Autonomie
|
||||||
- position: "Stage en R&D logiciel"
|
- position: "Stage en R&D logiciel"
|
||||||
company:
|
company:
|
||||||
name: LISTIC, Université Savoie Mt-blanc
|
name: LISTIC, USMB
|
||||||
link: https://www.univ-smb.fr/listic/en/
|
link: https://www.univ-smb.fr/listic/en/
|
||||||
description:
|
description:
|
||||||
- Stage effectué dans un laboratoire d'informatique public
|
- Stage effectué dans un laboratoire d'informatique public
|
||||||
|
|
68
main.typ
68
main.typ
|
@ -1,8 +1,9 @@
|
||||||
#let config = yaml("config.yaml")
|
#let config = json("config.json")
|
||||||
#let settings = yaml("settings.yaml")
|
#let settings = yaml("settings.yaml")
|
||||||
#let personnal = yaml("personnal.yaml")
|
#let personnal = yaml("personnal.yaml")
|
||||||
|
|
||||||
#show link: set text(blue)
|
#let color = purple
|
||||||
|
#show link: set text(color)
|
||||||
|
|
||||||
#show heading: h => [
|
#show heading: h => [
|
||||||
#set text(
|
#set text(
|
||||||
|
@ -14,29 +15,21 @@
|
||||||
|
|
||||||
#let sidebarSection = {[
|
#let sidebarSection = {[
|
||||||
#par(justify: true)[
|
#par(justify: true)[
|
||||||
|
|
||||||
#par[
|
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.contacts),
|
size: eval(settings.font.size.contacts),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
)
|
)
|
||||||
|
|
||||||
Email: #link("mailto:" + config.contacts.email)\
|
Email: #link("mailto:" + config.contacts.email)\
|
||||||
|
|
||||||
#if (not settings.public) {
|
#if (not settings.public) {
|
||||||
[Phone: #link("tel:" + personnal.contacts.phone)\ ]
|
[Phone: #link("tel:" + personnal.contacts.phone)\ ]
|
||||||
}
|
}
|
||||||
|
|
||||||
Git: #link(config.contacts.git) \
|
Git: #link(config.contacts.git) \
|
||||||
|
|
||||||
Website: #link(config.contacts.website) \
|
Website: #link(config.contacts.website) \
|
||||||
|
|
||||||
#if (not settings.public) {
|
#if (not settings.public) {
|
||||||
personnal.contacts.address
|
personnal.contacts.address
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
#line(length: 100%, stroke: blue + 0.5pt)
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
]
|
|
||||||
|
|
||||||
= Summary
|
= Summary
|
||||||
|
|
||||||
|
@ -45,8 +38,9 @@
|
||||||
eval(settings.font.size.education_description),
|
eval(settings.font.size.education_description),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
)
|
)
|
||||||
A *software developer* with a confident grasp of *infrastructure*, *system design*, and *DevOps*, now seeking opportunities to excel in the realms of solution architecture.
|
A *software developer* with a confident grasp of *infrastructure*, *system
|
||||||
|
design*, *System administration*, as well as *DevOps*, now seeking opportunities to excel in the realms of
|
||||||
|
solution architecture.\
|
||||||
Open to roles ranging from *software developer* to *DevOps*.
|
Open to roles ranging from *software developer* to *DevOps*.
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -72,8 +66,6 @@
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for lang in config.languages [
|
for lang in config.languages [
|
||||||
#par(leading: 0pt)[
|
|
||||||
|
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
|
@ -86,10 +78,10 @@
|
||||||
let count = 0
|
let count = 0
|
||||||
while count < 5 {
|
while count < 5 {
|
||||||
if (count < lang.proficiency) {
|
if (count < lang.proficiency) {
|
||||||
text(blue, size: 15pt)[#sym.circle.filled]
|
text(color, size: 15pt)[#sym.circle.filled]
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
text(blue, size: 15pt)[#sym.circle]
|
text(color, size: 15pt)[#sym.circle]
|
||||||
}
|
}
|
||||||
count = count + 1
|
count = count + 1
|
||||||
}
|
}
|
||||||
|
@ -100,10 +92,9 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
]
|
]
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#line(length: 100%, stroke: blue + 0.5pt)
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
|
|
||||||
= Hobbies
|
= Hobbies
|
||||||
#{
|
#{
|
||||||
|
@ -113,9 +104,8 @@
|
||||||
)[
|
)[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
|
|
||||||
#config.hobbies.tech.join(" • ")
|
#config.hobbies.tech.join(" • ")
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -125,9 +115,8 @@
|
||||||
)[
|
)[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
|
|
||||||
#config.hobbies.other.join(" • ")
|
#config.hobbies.other.join(" • ")
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -157,16 +146,15 @@
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for place in config.education [
|
for place in config.education [
|
||||||
#par[
|
#par(spacing: 0em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
font: settings.font.general
|
font: settings.font.general
|
||||||
)
|
)
|
||||||
#place.from – #place.to \
|
#place.from – #place.to #text(color.darken(30%))[::] #link(place.university.link)[#place.university.name]
|
||||||
#link(place.university.link)[#place.university.name]
|
|
||||||
]
|
]
|
||||||
#par[
|
#par(spacing: 0.7em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
eval(settings.font.size.education_description),
|
eval(settings.font.size.education_description),
|
||||||
|
@ -182,29 +170,29 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
= Revelant Experience
|
= Revelant Experience
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for job in config.jobs [
|
for job in config.jobs [
|
||||||
#par(justify: false)[
|
#par(justify: false, spacing: 0em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
font: settings.font.general
|
font: settings.font.general
|
||||||
)
|
)
|
||||||
#job.from – #job.to \
|
#job.from – #job.to #text(color)[::] *#job.position*
|
||||||
|
|
||||||
*#job.position*
|
|
||||||
#link(job.company.link)[\@ #job.company.name]
|
#link(job.company.link)[\@ #job.company.name]
|
||||||
]
|
]
|
||||||
#par(
|
#par(
|
||||||
justify: false,
|
justify: false,
|
||||||
leading: eval(settings.paragraph.leading)
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em
|
||||||
)[
|
)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
#{
|
#{
|
||||||
for point in job.description [
|
for point in job.description [
|
||||||
|
@ -215,6 +203,7 @@
|
||||||
#par(
|
#par(
|
||||||
justify: true,
|
justify: true,
|
||||||
leading: eval(settings.paragraph.leading),
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em
|
||||||
)[
|
)[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
|
@ -229,15 +218,12 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
= School related Projects
|
= School related Projects
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for project in config.projects.school [
|
for project in config.projects.school [
|
||||||
#par(
|
#block(spacing: 0.7em)[
|
||||||
justify: true,
|
|
||||||
leading: eval(settings.paragraph.leading)
|
|
||||||
)[
|
|
||||||
#par[
|
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
|
@ -249,11 +235,11 @@
|
||||||
}
|
}
|
||||||
#link(project.main.link)[#project.main.name]
|
#link(project.main.link)[#project.main.name]
|
||||||
]
|
]
|
||||||
#par[
|
#par(spacing: 0.7em,)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
#{
|
#{
|
||||||
for point in project.description [
|
for point in project.description [
|
||||||
|
@ -264,6 +250,7 @@
|
||||||
#par(
|
#par(
|
||||||
justify: true,
|
justify: true,
|
||||||
leading: eval(settings.paragraph.leading),
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em,
|
||||||
)[
|
)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
|
@ -276,7 +263,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
|
99
main_fr.typ
99
main_fr.typ
|
@ -1,8 +1,9 @@
|
||||||
#let config = yaml("config_fr.yaml")
|
#let config = json("config_fr.json")
|
||||||
#let settings = yaml("settings.yaml")
|
#let settings = yaml("settings.yaml")
|
||||||
#let personnal = yaml("personnal.yaml")
|
#let personnal = yaml("personnal.yaml")
|
||||||
|
|
||||||
#show link: set text(blue)
|
#let color = purple
|
||||||
|
#show link: set text(color)
|
||||||
|
|
||||||
#show heading: h => [
|
#show heading: h => [
|
||||||
#set text(
|
#set text(
|
||||||
|
@ -14,42 +15,31 @@
|
||||||
|
|
||||||
#let sidebarSection = {[
|
#let sidebarSection = {[
|
||||||
#par(justify: true)[
|
#par(justify: true)[
|
||||||
|
|
||||||
#par[
|
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.contacts),
|
size: eval(settings.font.size.contacts),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
)
|
)
|
||||||
|
Email: #link("mailto:" + config.contacts.email)\
|
||||||
Couriel : #link("mailto:" + config.contacts.email)\
|
|
||||||
|
|
||||||
#if (not settings.public) {
|
#if (not settings.public) {
|
||||||
[Cellulaire : #link("tel:" + personnal.contacts.phone)\ ]
|
[Phone: #link("tel:" + personnal.contacts.phone)\ ]
|
||||||
}
|
}
|
||||||
|
|
||||||
Git: #link(config.contacts.git) \
|
Git: #link(config.contacts.git) \
|
||||||
|
|
||||||
Website: #link(config.contacts.website) \
|
Website: #link(config.contacts.website) \
|
||||||
|
|
||||||
#if (not settings.public) {
|
#if (not settings.public) {
|
||||||
personnal.contacts.address
|
personnal.contacts.address
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
#line(length: 100%, stroke: blue + 0.5pt)
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
]
|
|
||||||
|
|
||||||
= Simplement :
|
= Rapidement
|
||||||
|
|
||||||
#par(justify: true)[
|
#par[
|
||||||
#set text(
|
#set text(
|
||||||
eval(settings.font.size.education_description),
|
eval(settings.font.size.education_description),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
hyphenate: false
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Je suis une développeuse ayant des capacités pertinantes en tant que
|
Je suis une développeuse ayant des capacités pertinantes en tant que
|
||||||
*DevOps*, et en conception de systèmes répartis.
|
*DevOps*, *Embarqué*, *SysAdmin* et en *conception de systèmes répartis*.
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
= Compétences
|
= Compétences
|
||||||
|
@ -61,6 +51,7 @@
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
)
|
)
|
||||||
#set text(
|
#set text(
|
||||||
|
// size: eval(settings.font.size.tags),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
)
|
)
|
||||||
*#skill.name*
|
*#skill.name*
|
||||||
|
@ -69,13 +60,10 @@
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
= Langues
|
= Langues
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for lang in config.languages [
|
for lang in config.languages [
|
||||||
#par(leading: 0pt)[
|
|
||||||
|
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
|
@ -88,10 +76,10 @@
|
||||||
let count = 0
|
let count = 0
|
||||||
while count < 5 {
|
while count < 5 {
|
||||||
if (count < lang.proficiency) {
|
if (count < lang.proficiency) {
|
||||||
text(blue, size: 15pt)[#sym.circle.filled]
|
text(color, size: 15pt)[#sym.circle.filled]
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
text(blue, size: 15pt)[#sym.circle]
|
text(color, size: 15pt)[#sym.circle]
|
||||||
}
|
}
|
||||||
count = count + 1
|
count = count + 1
|
||||||
}
|
}
|
||||||
|
@ -102,10 +90,9 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
]
|
]
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#line(length: 100%, stroke: blue + 0.5pt)
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
|
|
||||||
= Loisirs
|
= Loisirs
|
||||||
#{
|
#{
|
||||||
|
@ -115,9 +102,8 @@
|
||||||
)[
|
)[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
|
|
||||||
#config.hobbies.tech.join(" • ")
|
#config.hobbies.tech.join(" • ")
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -127,17 +113,25 @@
|
||||||
)[
|
)[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
|
|
||||||
#config.hobbies.other.join(" • ")
|
#config.hobbies.other.join(" • ")
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
]}
|
]}
|
||||||
|
|
||||||
#let mainSection = {[
|
#let mainSection = {[
|
||||||
|
|
||||||
|
// #par[
|
||||||
|
// #set align(center)
|
||||||
|
// #figure(
|
||||||
|
// image("images/Kodak 20 Zanvoort Lumi.jpg", width: 6em),
|
||||||
|
// placement: top,
|
||||||
|
// )
|
||||||
|
// ]
|
||||||
|
|
||||||
#par[
|
#par[
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading_huge),
|
size: eval(settings.font.size.heading_huge),
|
||||||
|
@ -150,52 +144,53 @@
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for place in config.education [
|
for place in config.education [
|
||||||
#par[
|
#par(spacing: 0em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
font: settings.font.general
|
font: settings.font.general
|
||||||
)
|
)
|
||||||
#place.from – #place.to \
|
#place.from – #place.to #text(color.darken(30%))[::] #link(place.university.link)[#place.university.name]
|
||||||
#link(place.university.link)[#place.university.name]
|
|
||||||
]
|
]
|
||||||
#par[
|
#par(spacing: 0.7em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
eval(settings.font.size.education_description),
|
eval(settings.font.size.education_description),
|
||||||
font: settings.font.minor_highlight,
|
font: settings.font.minor_highlight,
|
||||||
)
|
)
|
||||||
*#place.degree #place.major* \
|
#h(0.5cm)
|
||||||
|
#place.degree - #place.major \
|
||||||
#if (place.at("track") != "None"){
|
#if (place.at("track") != "None"){
|
||||||
|
h(0.5cm)
|
||||||
[#place.track]
|
[#place.track]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
= Expérience utile
|
= Expérience utile
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for job in config.jobs [
|
for job in config.jobs [
|
||||||
#par(justify: false)[
|
#par(justify: false, spacing: 0em)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
font: settings.font.general
|
font: settings.font.general
|
||||||
)
|
)
|
||||||
#job.from – #job.to \
|
#job.from – #job.to #text(color)[::] *#job.position*
|
||||||
|
#link(job.company.link)[\@ #job.company.name]
|
||||||
*#job.position*
|
|
||||||
#link(job.company.link)[#job.company.name]
|
|
||||||
]
|
]
|
||||||
#par(
|
#par(
|
||||||
justify: false,
|
justify: false,
|
||||||
leading: eval(settings.paragraph.leading)
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em
|
||||||
)[
|
)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
#{
|
#{
|
||||||
for point in job.description [
|
for point in job.description [
|
||||||
|
@ -206,12 +201,13 @@
|
||||||
#par(
|
#par(
|
||||||
justify: true,
|
justify: true,
|
||||||
leading: eval(settings.paragraph.leading),
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em
|
||||||
)[
|
)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.tags),
|
size: eval(settings.font.size.tags),
|
||||||
font: settings.font.minor_highlight
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#{
|
#{
|
||||||
let tag_line = job.tags.join(" • ")
|
let tag_line = job.tags.join(" • ")
|
||||||
tag_line
|
tag_line
|
||||||
|
@ -220,15 +216,12 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#line(length: 100%, stroke: color + 0.5pt)
|
||||||
= Projets Scolaires
|
= Projets Scolaires
|
||||||
|
|
||||||
#{
|
#{
|
||||||
for project in config.projects.school [
|
for project in config.projects.school [
|
||||||
#par(
|
#block(spacing: 0.7em)[
|
||||||
justify: true,
|
|
||||||
leading: eval(settings.paragraph.leading)
|
|
||||||
)[
|
|
||||||
#par[
|
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.heading),
|
size: eval(settings.font.size.heading),
|
||||||
|
@ -240,11 +233,11 @@
|
||||||
}
|
}
|
||||||
#link(project.main.link)[#project.main.name]
|
#link(project.main.link)[#project.main.name]
|
||||||
]
|
]
|
||||||
#par[
|
#par(spacing: 0.7em,)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
size: eval(settings.font.size.description),
|
size: eval(settings.font.size.description),
|
||||||
font: settings.font.general
|
font: settings.font.minor_highlight
|
||||||
)
|
)
|
||||||
#{
|
#{
|
||||||
for point in project.description [
|
for point in project.description [
|
||||||
|
@ -255,6 +248,7 @@
|
||||||
#par(
|
#par(
|
||||||
justify: true,
|
justify: true,
|
||||||
leading: eval(settings.paragraph.leading),
|
leading: eval(settings.paragraph.leading),
|
||||||
|
spacing: 0.7em,
|
||||||
)[
|
)[
|
||||||
#set block(spacing: eval(settings.paragraph.spacing))
|
#set block(spacing: eval(settings.paragraph.spacing))
|
||||||
#set text(
|
#set text(
|
||||||
|
@ -267,12 +261,10 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
]}
|
]}
|
||||||
|
|
||||||
|
|
||||||
#{
|
#{
|
||||||
grid(
|
grid(
|
||||||
columns: (2fr, 5fr),
|
columns: (2fr, 5fr),
|
||||||
|
@ -281,4 +273,3 @@
|
||||||
mainSection,
|
mainSection,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@ font:
|
||||||
tags: 8pt
|
tags: 8pt
|
||||||
education_description: 8pt
|
education_description: 8pt
|
||||||
contacts: 8pt
|
contacts: 8pt
|
||||||
general: "Helvetica Neue"
|
general: "LiveOverfont"
|
||||||
minor_highlight: "Helvetica Neue"
|
minor_highlight: "libertinus serif"
|
||||||
|
|
||||||
paragraph:
|
paragraph:
|
||||||
# Distance between lines
|
# Distance between lines
|
||||||
leading: 4pt
|
leading: 4pt
|
||||||
spacing: 0.9em
|
spacing: 0.0em
|
||||||
|
|
||||||
# dont show address & phone number
|
# dont show address & phone number
|
||||||
public: false
|
public: false
|
||||||
|
|
Loading…
Add table
Reference in a new issue