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
|
||||
- position: "Stage en R&D logiciel"
|
||||
company:
|
||||
name: LISTIC, Université Savoie Mt-blanc
|
||||
name: LISTIC, USMB
|
||||
link: https://www.univ-smb.fr/listic/en/
|
||||
description:
|
||||
- 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 personnal = yaml("personnal.yaml")
|
||||
|
||||
#show link: set text(blue)
|
||||
#let color = purple
|
||||
#show link: set text(color)
|
||||
|
||||
#show heading: h => [
|
||||
#set text(
|
||||
|
@ -14,29 +15,21 @@
|
|||
|
||||
#let sidebarSection = {[
|
||||
#par(justify: true)[
|
||||
|
||||
#par[
|
||||
#set text(
|
||||
size: eval(settings.font.size.contacts),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
|
||||
Email: #link("mailto:" + config.contacts.email)\
|
||||
|
||||
#if (not settings.public) {
|
||||
[Phone: #link("tel:" + personnal.contacts.phone)\ ]
|
||||
}
|
||||
|
||||
Git: #link(config.contacts.git) \
|
||||
|
||||
Website: #link(config.contacts.website) \
|
||||
|
||||
#if (not settings.public) {
|
||||
personnal.contacts.address
|
||||
}
|
||||
]
|
||||
#line(length: 100%, stroke: blue + 0.5pt)
|
||||
]
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
|
||||
= Summary
|
||||
|
||||
|
@ -45,8 +38,9 @@
|
|||
eval(settings.font.size.education_description),
|
||||
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*.
|
||||
]
|
||||
|
||||
|
@ -72,8 +66,6 @@
|
|||
|
||||
#{
|
||||
for lang in config.languages [
|
||||
#par(leading: 0pt)[
|
||||
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.minor_highlight,
|
||||
|
@ -86,10 +78,10 @@
|
|||
let count = 0
|
||||
while count < 5 {
|
||||
if (count < lang.proficiency) {
|
||||
text(blue, size: 15pt)[#sym.circle.filled]
|
||||
text(color, size: 15pt)[#sym.circle.filled]
|
||||
}
|
||||
else {
|
||||
text(blue, size: 15pt)[#sym.circle]
|
||||
text(color, size: 15pt)[#sym.circle]
|
||||
}
|
||||
count = count + 1
|
||||
}
|
||||
|
@ -99,11 +91,10 @@
|
|||
}
|
||||
)
|
||||
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: blue + 0.5pt)
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
|
||||
= Hobbies
|
||||
#{
|
||||
|
@ -113,9 +104,8 @@
|
|||
)[
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
|
||||
#config.hobbies.tech.join(" • ")
|
||||
]
|
||||
|
||||
|
@ -125,9 +115,8 @@
|
|||
)[
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
|
||||
#config.hobbies.other.join(" • ")
|
||||
]
|
||||
|
||||
|
@ -157,16 +146,15 @@
|
|||
|
||||
#{
|
||||
for place in config.education [
|
||||
#par[
|
||||
#par(spacing: 0em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
font: settings.font.general
|
||||
)
|
||||
#place.from – #place.to \
|
||||
#link(place.university.link)[#place.university.name]
|
||||
#place.from – #place.to #text(color.darken(30%))[::] #link(place.university.link)[#place.university.name]
|
||||
]
|
||||
#par[
|
||||
#par(spacing: 0.7em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
eval(settings.font.size.education_description),
|
||||
|
@ -182,29 +170,29 @@
|
|||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
= Revelant Experience
|
||||
|
||||
#{
|
||||
for job in config.jobs [
|
||||
#par(justify: false)[
|
||||
#par(justify: false, spacing: 0em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
font: settings.font.general
|
||||
)
|
||||
#job.from – #job.to \
|
||||
|
||||
*#job.position*
|
||||
#job.from – #job.to #text(color)[::] *#job.position*
|
||||
#link(job.company.link)[\@ #job.company.name]
|
||||
]
|
||||
#par(
|
||||
justify: false,
|
||||
leading: eval(settings.paragraph.leading)
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em
|
||||
)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
#{
|
||||
for point in job.description [
|
||||
|
@ -215,6 +203,7 @@
|
|||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em
|
||||
)[
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
|
@ -229,15 +218,12 @@
|
|||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
= School related Projects
|
||||
|
||||
#{
|
||||
for project in config.projects.school [
|
||||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading)
|
||||
)[
|
||||
#par[
|
||||
#block(spacing: 0.7em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
|
@ -249,11 +235,11 @@
|
|||
}
|
||||
#link(project.main.link)[#project.main.name]
|
||||
]
|
||||
#par[
|
||||
#par(spacing: 0.7em,)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
#{
|
||||
for point in project.description [
|
||||
|
@ -264,6 +250,7 @@
|
|||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em,
|
||||
)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
|
@ -275,7 +262,6 @@
|
|||
tag_line
|
||||
}
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
]}
|
||||
|
|
157
main_fr.typ
157
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 personnal = yaml("personnal.yaml")
|
||||
|
||||
#show link: set text(blue)
|
||||
#let color = purple
|
||||
#show link: set text(color)
|
||||
|
||||
#show heading: h => [
|
||||
#set text(
|
||||
|
@ -14,42 +15,31 @@
|
|||
|
||||
#let sidebarSection = {[
|
||||
#par(justify: true)[
|
||||
|
||||
#par[
|
||||
#set text(
|
||||
size: eval(settings.font.size.contacts),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
|
||||
Couriel : #link("mailto:" + config.contacts.email)\
|
||||
|
||||
Email: #link("mailto:" + config.contacts.email)\
|
||||
#if (not settings.public) {
|
||||
[Cellulaire : #link("tel:" + personnal.contacts.phone)\ ]
|
||||
[Phone: #link("tel:" + personnal.contacts.phone)\ ]
|
||||
}
|
||||
|
||||
Git : #link(config.contacts.git) \
|
||||
|
||||
Website : #link(config.contacts.website) \
|
||||
|
||||
Git: #link(config.contacts.git) \
|
||||
Website: #link(config.contacts.website) \
|
||||
#if (not settings.public) {
|
||||
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(
|
||||
eval(settings.font.size.education_description),
|
||||
font: settings.font.minor_highlight,
|
||||
hyphenate: false
|
||||
eval(settings.font.size.education_description),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
|
||||
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
|
||||
|
@ -61,6 +51,7 @@
|
|||
size: eval(settings.font.size.description),
|
||||
)
|
||||
#set text(
|
||||
// size: eval(settings.font.size.tags),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
*#skill.name*
|
||||
|
@ -69,13 +60,10 @@
|
|||
]
|
||||
]
|
||||
}
|
||||
|
||||
= Langues
|
||||
= Langues
|
||||
|
||||
#{
|
||||
for lang in config.languages [
|
||||
#par(leading: 0pt)[
|
||||
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.minor_highlight,
|
||||
|
@ -88,10 +76,10 @@
|
|||
let count = 0
|
||||
while count < 5 {
|
||||
if (count < lang.proficiency) {
|
||||
text(blue, size: 15pt)[#sym.circle.filled]
|
||||
text(color, size: 15pt)[#sym.circle.filled]
|
||||
}
|
||||
else {
|
||||
text(blue, size: 15pt)[#sym.circle]
|
||||
text(color, size: 15pt)[#sym.circle]
|
||||
}
|
||||
count = count + 1
|
||||
}
|
||||
|
@ -101,23 +89,21 @@
|
|||
}
|
||||
)
|
||||
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: blue + 0.5pt)
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
|
||||
= Loisirs
|
||||
#{
|
||||
#{
|
||||
par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading)
|
||||
)[
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
|
||||
#config.hobbies.tech.join(" • ")
|
||||
]
|
||||
|
||||
|
@ -127,17 +113,25 @@
|
|||
)[
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
|
||||
#config.hobbies.other.join(" • ")
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
]}
|
||||
|
||||
#let mainSection = {[
|
||||
|
||||
// #par[
|
||||
// #set align(center)
|
||||
// #figure(
|
||||
// image("images/Kodak 20 Zanvoort Lumi.jpg", width: 6em),
|
||||
// placement: top,
|
||||
// )
|
||||
// ]
|
||||
|
||||
#par[
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading_huge),
|
||||
|
@ -150,52 +144,53 @@
|
|||
|
||||
#{
|
||||
for place in config.education [
|
||||
#par[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
font: settings.font.general
|
||||
)
|
||||
#place.from – #place.to \
|
||||
#link(place.university.link)[#place.university.name]
|
||||
]
|
||||
#par[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
eval(settings.font.size.education_description),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
*#place.degree #place.major* \
|
||||
#if (place.at("track") != "None"){
|
||||
[#place.track]
|
||||
}
|
||||
]
|
||||
#par(spacing: 0em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
font: settings.font.general
|
||||
)
|
||||
#place.from – #place.to #text(color.darken(30%))[::] #link(place.university.link)[#place.university.name]
|
||||
]
|
||||
#par(spacing: 0.7em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
eval(settings.font.size.education_description),
|
||||
font: settings.font.minor_highlight,
|
||||
)
|
||||
#h(0.5cm)
|
||||
#place.degree - #place.major \
|
||||
#if (place.at("track") != "None"){
|
||||
h(0.5cm)
|
||||
[#place.track]
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
= Expérience utile
|
||||
|
||||
#{
|
||||
for job in config.jobs [
|
||||
#par(justify: false)[
|
||||
#par(justify: false, spacing: 0em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
font: settings.font.general
|
||||
)
|
||||
#job.from – #job.to \
|
||||
|
||||
*#job.position*
|
||||
#link(job.company.link)[#job.company.name]
|
||||
#job.from – #job.to #text(color)[::] *#job.position*
|
||||
#link(job.company.link)[\@ #job.company.name]
|
||||
]
|
||||
#par(
|
||||
justify: false,
|
||||
leading: eval(settings.paragraph.leading)
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em
|
||||
)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
#{
|
||||
for point in job.description [
|
||||
|
@ -206,12 +201,13 @@
|
|||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em
|
||||
)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.tags),
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#{
|
||||
let tag_line = job.tags.join(" • ")
|
||||
tag_line
|
||||
|
@ -220,15 +216,12 @@
|
|||
]
|
||||
}
|
||||
|
||||
#line(length: 100%, stroke: color + 0.5pt)
|
||||
= Projets Scolaires
|
||||
|
||||
#{
|
||||
for project in config.projects.school [
|
||||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading)
|
||||
)[
|
||||
#par[
|
||||
#block(spacing: 0.7em)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.heading),
|
||||
|
@ -240,11 +233,11 @@
|
|||
}
|
||||
#link(project.main.link)[#project.main.name]
|
||||
]
|
||||
#par[
|
||||
#par(spacing: 0.7em,)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
size: eval(settings.font.size.description),
|
||||
font: settings.font.general
|
||||
font: settings.font.minor_highlight
|
||||
)
|
||||
#{
|
||||
for point in project.description [
|
||||
|
@ -255,6 +248,7 @@
|
|||
#par(
|
||||
justify: true,
|
||||
leading: eval(settings.paragraph.leading),
|
||||
spacing: 0.7em,
|
||||
)[
|
||||
#set block(spacing: eval(settings.paragraph.spacing))
|
||||
#set text(
|
||||
|
@ -266,19 +260,16 @@
|
|||
tag_line
|
||||
}
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
]}
|
||||
|
||||
|
||||
]}
|
||||
|
||||
#{
|
||||
grid(
|
||||
columns: (2fr, 5fr),
|
||||
column-gutter: 3em,
|
||||
sidebarSection,
|
||||
mainSection,
|
||||
)
|
||||
}
|
||||
|
||||
#{
|
||||
grid(
|
||||
columns: (2fr, 5fr),
|
||||
column-gutter: 3em,
|
||||
sidebarSection,
|
||||
mainSection,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -7,13 +7,13 @@ font:
|
|||
tags: 8pt
|
||||
education_description: 8pt
|
||||
contacts: 8pt
|
||||
general: "Helvetica Neue"
|
||||
minor_highlight: "Helvetica Neue"
|
||||
general: "LiveOverfont"
|
||||
minor_highlight: "libertinus serif"
|
||||
|
||||
paragraph:
|
||||
# Distance between lines
|
||||
leading: 4pt
|
||||
spacing: 0.9em
|
||||
spacing: 0.0em
|
||||
|
||||
# dont show address & phone number
|
||||
public: false
|
||||
|
|
Loading…
Add table
Reference in a new issue