feat: switched from json file to yaml
This commit is contained in:
parent
8127b5265e
commit
bcb88522c1
23
.eleventy.js
23
.eleventy.js
|
@ -1,7 +1,8 @@
|
|||
const pluginNavigation = require('@11ty/eleventy-navigation')
|
||||
const htmlmin = require('html-minifier')
|
||||
const markdownIt = require('markdown-it')
|
||||
const markdownItAttrs = require('markdown-it-attrs')
|
||||
const markdownIt = require('markdown-it')
|
||||
const htmlmin = require('html-minifier')
|
||||
const yaml = require("js-yaml");
|
||||
const options = {
|
||||
html: true,
|
||||
breaks: true,
|
||||
|
@ -9,11 +10,13 @@ const options = {
|
|||
}
|
||||
const markdownLib = markdownIt(options).use(markdownItAttrs)
|
||||
|
||||
|
||||
module.exports = function (eleventyConfig) {
|
||||
eleventyConfig.addDataExtension("yml", contents => yaml.load(contents));
|
||||
eleventyConfig.addGlobalData('username', 'Laureηt')
|
||||
eleventyConfig.addPlugin(pluginNavigation)
|
||||
eleventyConfig.setLibrary('md', markdownLib)
|
||||
eleventyConfig.addWatchTarget('./src/scss/')
|
||||
eleventyConfig.setLibrary('md', markdownLib)
|
||||
eleventyConfig.addPlugin(pluginNavigation)
|
||||
eleventyConfig.addPassthroughCopy({
|
||||
'assets/': './'
|
||||
})
|
||||
|
@ -23,11 +26,11 @@ module.exports = function (eleventyConfig) {
|
|||
// Eleventy 1.0+: use this.inputPath and this.outputPath instead
|
||||
if (outputPath && outputPath.endsWith('.html')) {
|
||||
const minified = htmlmin.minify(content, {
|
||||
collapseWhitespace: true,
|
||||
useShortDoctype: true,
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
minifyJS: true,
|
||||
minifyCSS: true
|
||||
minifyCSS: true,
|
||||
minifyJS: true
|
||||
})
|
||||
return minified
|
||||
} else {
|
||||
|
@ -44,10 +47,10 @@ module.exports = function (eleventyConfig) {
|
|||
return {
|
||||
passthroughFileCopy: true,
|
||||
dir: {
|
||||
input: 'src',
|
||||
data: '_data',
|
||||
includes: '_includes',
|
||||
output: '_site',
|
||||
includes: '_includes'
|
||||
data: '_data',
|
||||
input: 'src'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
9
.vscode/launch.json
vendored
9
.vscode/launch.json
vendored
|
@ -4,13 +4,10 @@
|
|||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Serve the website",
|
||||
"name": "Launch 11ty",
|
||||
"console": "integratedTerminal",
|
||||
"runtimeExecutable": "yarn",
|
||||
"runtimeArgs": [
|
||||
"run",
|
||||
"start"
|
||||
]
|
||||
"program": "${workspaceFolder}/node_modules/@11ty/eleventy/cmd.js",
|
||||
"args": [],
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
|
@ -5,5 +5,6 @@
|
|||
},
|
||||
"emmet.includeLanguages": {
|
||||
"nunjucks": "html"
|
||||
}
|
||||
},
|
||||
"debug.allowBreakpointsEverywhere": true
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
"@11ty/eleventy-navigation": "^0.3.2",
|
||||
"chaffle": "^2.1.0",
|
||||
"html-minifier": "^4.0.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"markdown-it": "^12.2.0",
|
||||
"markdown-it-attrs": "^4.1.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
|
|
|
@ -1,281 +0,0 @@
|
|||
{
|
||||
"locale": "en",
|
||||
"name": "Laurent Fainsin",
|
||||
"go_back": "Go back",
|
||||
"flag_icon": "flag-icon flag-icon-gb",
|
||||
"info": {
|
||||
"label": "CS Engineering Student"
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contacts",
|
||||
"list": [
|
||||
{
|
||||
"contact": "laurentfainsin@protonmail.com",
|
||||
"url": "mailto:laurentfainsin@protonmail.com",
|
||||
"icon": "fa fa-envelope-o"
|
||||
},
|
||||
{
|
||||
"contact": "+33781492838",
|
||||
"url": "https://signal.org/",
|
||||
"icon": "fa fa-phone"
|
||||
},
|
||||
{
|
||||
"contact": "Brest, France",
|
||||
"url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601",
|
||||
"icon": "fa fa-location-arrow"
|
||||
}
|
||||
]
|
||||
},
|
||||
"socials": {
|
||||
"title": "Socials",
|
||||
"list": [
|
||||
{
|
||||
"network": "laurent-fainsin",
|
||||
"url": "https://www.linkedin.com/in/laurent-fainsin/",
|
||||
"icon": "fa fa-linkedin"
|
||||
},
|
||||
{
|
||||
"network": "fainsil",
|
||||
"url": "https://git.inpt.fr/fainsil",
|
||||
"icon": "fa fa-gitlab"
|
||||
},
|
||||
{
|
||||
"network": "@fainsil:inpt.fr",
|
||||
"url": "https://matrix.to/#/@fainsil:inpt.fr",
|
||||
"icon": "fa fa-matrix-org"
|
||||
}
|
||||
]
|
||||
},
|
||||
"experience": {
|
||||
"title": "Professional experience",
|
||||
"list": [
|
||||
{
|
||||
"title": "Bio-cleaning agent",
|
||||
"description": "Blue-collar internship at the Centrer Hospitalier Régional Universitaire de Brest (CHRU) for a two-month period. I learned to organize and work efficiently in a team.",
|
||||
"date": "Summer 2021"
|
||||
}
|
||||
]
|
||||
},
|
||||
"school_projects": {
|
||||
"title": "School projects",
|
||||
"list": [
|
||||
{
|
||||
"title": "Sagittarius",
|
||||
"repo": "https://git.inpt.fr/tobgang/sagittarius",
|
||||
"pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf",
|
||||
"role": "Author",
|
||||
"description": "As a result of an object oriented programming project in java, here is a little 2D turn-based game inspired by a game under the same name by George Prosser."
|
||||
},
|
||||
{
|
||||
"title": "Minishell",
|
||||
"repo": "https://git.inpt.fr/fainsil/minishell",
|
||||
"role": "Author",
|
||||
"description": "Implementation of a basic shell program in C, capable of launching programs, piping their streams and sending them signals."
|
||||
},
|
||||
{
|
||||
"title": "Pagerank",
|
||||
"repo": "https://git.inpt.fr/fainsil/pagerank",
|
||||
"pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf",
|
||||
"role": "Author",
|
||||
"description": "Implementation of an iterative algorithm in Ada to compute the pagerank of a given network as quickly and efficiently as possible."
|
||||
}
|
||||
]
|
||||
},
|
||||
"personnal_projects": {
|
||||
"title": "Personnal projects",
|
||||
"list": [
|
||||
{
|
||||
"title": "B00 plays GBA",
|
||||
"repo": "https://git.inpt.fr/fainsil/booplaysgba/",
|
||||
"role": "Author",
|
||||
"description": "Using technologies such as websocket, redis, docker, rtmp, mgba and gluing it all together with Python, we get a collaborative emulator inspired from TwitchPlaysPokemon."
|
||||
},
|
||||
{
|
||||
"title": "This website",
|
||||
"repo": "https://git.inpt.fr/fainsil/personnal-website/",
|
||||
"role": "Author",
|
||||
"description": "I made this website almost entirely from scratch, I used the static site generetor 11ty.js to simplify the process thanks to its templating system. I learned a lot about HTML, CSS, Javascript and it also allowed me to strengthen my git skills."
|
||||
}
|
||||
]
|
||||
},
|
||||
"education": {
|
||||
"title": "Education",
|
||||
"level": "Master degree",
|
||||
"list": [
|
||||
{
|
||||
"institution": "ENSEEIHT",
|
||||
"title": "CS Engineer",
|
||||
"url": "https://www.enseeiht.fr/",
|
||||
"start": "2020",
|
||||
"end": "Now",
|
||||
"eqv": "Master (L3, M1, M2)"
|
||||
},
|
||||
{
|
||||
"institution": "Lycée Kérichen/Vauban",
|
||||
"title": "CPGE PSI",
|
||||
"url": "https://lycee-la-perouse-kerichen-brest.ac-rennes.fr/",
|
||||
"start": "2018",
|
||||
"end": "2020",
|
||||
"eqv": "License (L1, L2)"
|
||||
},
|
||||
{
|
||||
"institution": "Lycée de l'Harteloire",
|
||||
"title": "Baccalauréat S",
|
||||
"url": "https://www.harteloire.com/",
|
||||
"start": "2015",
|
||||
"end": "2018",
|
||||
"eqv": "Highschool"
|
||||
}
|
||||
]
|
||||
},
|
||||
"skills": {
|
||||
"title": "Skills",
|
||||
"list": [
|
||||
{
|
||||
"name": "General Softwares",
|
||||
"level": "advanced",
|
||||
"tags": [
|
||||
"Linux",
|
||||
"LaTeX",
|
||||
"Git",
|
||||
"Word",
|
||||
"Excel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Web Development",
|
||||
"level": "intermediate",
|
||||
"tags": [
|
||||
"HTML5",
|
||||
"CSS3",
|
||||
"JavaScript",
|
||||
"Django",
|
||||
"11ty.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Scientific Computing",
|
||||
"level": "intermediate",
|
||||
"tags": [
|
||||
"Numpy",
|
||||
"Matlab",
|
||||
"Julia"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Licenses",
|
||||
"level": "french",
|
||||
"tags": [
|
||||
"AM",
|
||||
"B",
|
||||
"B1"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"reading": {
|
||||
"title": "Readings",
|
||||
"list": [
|
||||
{
|
||||
"title": "Data-Driven Science and Engineering",
|
||||
"url": "http://www.databookuw.com/"
|
||||
},
|
||||
{
|
||||
"title": "Linux Bible, 10th Edition",
|
||||
"url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/"
|
||||
},
|
||||
{
|
||||
"title": "The Book of Shaders",
|
||||
"url": "https://thebookofshaders.com/"
|
||||
},
|
||||
{
|
||||
"title": "r/programming",
|
||||
"url": "https://www.reddit.com/r/programming"
|
||||
},
|
||||
{
|
||||
"title": "r/privacy",
|
||||
"url": "https://www.reddit.com/r/privacy"
|
||||
}
|
||||
]
|
||||
},
|
||||
"languages": {
|
||||
"title": "Languages",
|
||||
"list": [
|
||||
{
|
||||
"language": "French",
|
||||
"level": "native",
|
||||
"icon": "flag-icon flag-icon-fr"
|
||||
},
|
||||
{
|
||||
"language": "English",
|
||||
"level": "proficient",
|
||||
"icon": "flag-icon flag-icon-gb"
|
||||
},
|
||||
{
|
||||
"language": "Japanese",
|
||||
"level": "beginner",
|
||||
"icon": "flag-icon flag-icon-jp"
|
||||
},
|
||||
{
|
||||
"language": "Spanish",
|
||||
"level": "elementary",
|
||||
"icon": "flag-icon flag-icon-es"
|
||||
}
|
||||
]
|
||||
},
|
||||
"langages": {
|
||||
"title": "Programming languages",
|
||||
"list": [
|
||||
{
|
||||
"language": "Python",
|
||||
"level": "intermediate",
|
||||
"icon": "devicon-python-plain"
|
||||
},
|
||||
{
|
||||
"language": "Java",
|
||||
"level": "intermediate",
|
||||
"icon": "devicon-java-plain"
|
||||
},
|
||||
{
|
||||
"language": "Rust",
|
||||
"level": "beginner",
|
||||
"icon": "devicon-rust-plain"
|
||||
},
|
||||
{
|
||||
"language": "C",
|
||||
"level": "beginner",
|
||||
"icon": "devicon-c-plain"
|
||||
}
|
||||
]
|
||||
},
|
||||
"interests": {
|
||||
"title": "Interests",
|
||||
"list": [
|
||||
{
|
||||
"name": "GitHub/Gitlab",
|
||||
"summary": "Regular open source software user and tinkerer.",
|
||||
"tags": [
|
||||
"Git",
|
||||
"Open Source"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Archery",
|
||||
"summary": "Practiced for a couple years the art of precision & accuracy.",
|
||||
"tags": [
|
||||
"Precision",
|
||||
"Accuracy",
|
||||
"Patience"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Fishkeeping",
|
||||
"summary": "Tamagochis, but with real responsibilities.",
|
||||
"tags": [
|
||||
"Patience",
|
||||
"Perfectionism"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
208
src/_data/resumes/en.yml
Normal file
208
src/_data/resumes/en.yml
Normal file
|
@ -0,0 +1,208 @@
|
|||
locale: en
|
||||
name: Laurent Fainsin
|
||||
go_back: Go back
|
||||
flag_icon: flag-icon flag-icon-gb
|
||||
|
||||
info:
|
||||
label: CS Engineering Student
|
||||
|
||||
contacts:
|
||||
title: Contacts
|
||||
list:
|
||||
laurentfainsin@protonmail.com:
|
||||
url: mailto:laurentfainsin@protonmail.com
|
||||
icon: fa fa-envelope-o
|
||||
"+33781492838":
|
||||
url: https://signal.org/
|
||||
icon: fa fa-phone
|
||||
Brest, France:
|
||||
url: https://www.openstreetmap.org/#map=12/48.3930/-4.4601
|
||||
icon: fa fa-location-arrow
|
||||
|
||||
socials:
|
||||
title: Socials
|
||||
list:
|
||||
laurent-fainsin:
|
||||
url: https://www.linkedin.com/in/laurent-fainsin/
|
||||
icon: fa fa-linkedin
|
||||
fainsil:
|
||||
url: https://git.inpt.fr/fainsil
|
||||
icon: fa fa-gitlab
|
||||
"@fainsil:inpt.fr":
|
||||
url: https://matrix.to/#/@fainsil:inpt.fr
|
||||
icon: fa fa-matrix-org
|
||||
|
||||
experience:
|
||||
title: Professional experience
|
||||
list:
|
||||
Bio-cleaning agent:
|
||||
description:
|
||||
Blue-collar internship at the Centrer Hospitalier Régional Universitaire
|
||||
de Brest (CHRU) for a two-month period. I learned to organize and work efficiently
|
||||
in a team.
|
||||
date: Summer 2021
|
||||
|
||||
school_projects:
|
||||
title: School projects
|
||||
list:
|
||||
Sagittarius:
|
||||
repo: https://git.inpt.fr/tobgang/sagittarius
|
||||
pdf: https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf
|
||||
role: Author
|
||||
description:
|
||||
As a result of an object oriented programming project in java,
|
||||
here is a little 2D turn-based game inspired by a game under the same name
|
||||
by George Prosser.
|
||||
Minishell:
|
||||
repo: https://git.inpt.fr/fainsil/minishell
|
||||
role: Author
|
||||
description:
|
||||
Implementation of a basic shell program in C, capable of launching
|
||||
programs, piping their streams and sending them signals.
|
||||
Pagerank:
|
||||
repo: https://git.inpt.fr/fainsil/pagerank
|
||||
pdf: https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf
|
||||
role: Author
|
||||
description:
|
||||
Implementation of an iterative algorithm in Ada to compute the
|
||||
pagerank of a given network as quickly and efficiently as possible.
|
||||
|
||||
personnal_projects:
|
||||
title: Personnal projects
|
||||
list:
|
||||
B00 plays GBA:
|
||||
repo: https://git.inpt.fr/fainsil/booplaysgba/
|
||||
role: Author
|
||||
description:
|
||||
Using technologies such as websocket, redis, docker, rtmp, mgba
|
||||
and gluing it all together with Python, we get a collaborative emulator inspired
|
||||
from TwitchPlaysPokemon.
|
||||
This website:
|
||||
repo: https://git.inpt.fr/fainsil/personnal-website/
|
||||
role: Author
|
||||
description:
|
||||
I made this website almost entirely from scratch, I used the static
|
||||
site generetor 11ty.js to simplify the process thanks to its templating system.
|
||||
I learned a lot about HTML, CSS, Javascript and it also allowed me to strengthen
|
||||
my git skills.
|
||||
|
||||
education:
|
||||
title: Education
|
||||
level: Master degree
|
||||
list:
|
||||
ENSEEIHT:
|
||||
title: CS Engineer
|
||||
url: https://www.enseeiht.fr/
|
||||
start: "2020"
|
||||
end: Now
|
||||
eqv: Master (L3, M1, M2)
|
||||
Lycée Kérichen/Vauban:
|
||||
title: CPGE PSI
|
||||
url: https://lycee-la-perouse-kerichen-brest.ac-rennes.fr/
|
||||
start: "2018"
|
||||
end: "2020"
|
||||
eqv: License (L1, L2)
|
||||
Lycée de l'Harteloire:
|
||||
title: Baccalauréat S
|
||||
url: https://www.harteloire.com/
|
||||
start: "2015"
|
||||
end: "2018"
|
||||
eqv: Highschool
|
||||
|
||||
skills:
|
||||
title: Skills
|
||||
list:
|
||||
General Softwares:
|
||||
level: advanced
|
||||
tags:
|
||||
- Linux
|
||||
- LaTeX
|
||||
- Git
|
||||
- Word
|
||||
- Excel
|
||||
Web Development:
|
||||
level: intermediate
|
||||
tags:
|
||||
- HTML5
|
||||
- CSS3
|
||||
- JavaScript
|
||||
- Django
|
||||
- 11ty.js
|
||||
Scientific Computing:
|
||||
level: intermediate
|
||||
tags:
|
||||
- Numpy
|
||||
- Matlab
|
||||
- Julia
|
||||
Licenses:
|
||||
level: french
|
||||
tags:
|
||||
- AM
|
||||
- B
|
||||
- B1
|
||||
|
||||
reading:
|
||||
title: Readings
|
||||
list:
|
||||
Data-Driven Science and Engineering:
|
||||
url: http://www.databookuw.com/
|
||||
Linux Bible, 10th Edition:
|
||||
url: https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/
|
||||
The Book of Shaders:
|
||||
url: https://thebookofshaders.com/
|
||||
r/programming:
|
||||
url: https://www.reddit.com/r/programming
|
||||
r/privacy:
|
||||
url: https://www.reddit.com/r/privacy
|
||||
|
||||
languages:
|
||||
title: Languages
|
||||
list:
|
||||
French:
|
||||
level: native
|
||||
icon: flag-icon flag-icon-fr
|
||||
English:
|
||||
level: proficient
|
||||
icon: flag-icon flag-icon-gb
|
||||
Japanese:
|
||||
level: beginner
|
||||
icon: flag-icon flag-icon-jp
|
||||
Spanish:
|
||||
level: elementary
|
||||
icon: flag-icon flag-icon-es
|
||||
|
||||
langages:
|
||||
title: Programming languages
|
||||
list:
|
||||
Python:
|
||||
level: intermediate
|
||||
icon: devicon-python-plain
|
||||
Java:
|
||||
level: intermediate
|
||||
icon: devicon-java-plain
|
||||
Rust:
|
||||
level: beginner
|
||||
icon: devicon-rust-plain
|
||||
C:
|
||||
level: beginner
|
||||
icon: devicon-c-plain
|
||||
|
||||
interests:
|
||||
title: Interests
|
||||
list:
|
||||
GitHub/Gitlab:
|
||||
summary: Regular open source software user and tinkerer.
|
||||
tags:
|
||||
- Git
|
||||
- Open Source
|
||||
Archery:
|
||||
summary: Practiced for a couple years the art of precision & accuracy.
|
||||
tags:
|
||||
- Precision
|
||||
- Accuracy
|
||||
- Patience
|
||||
Fishkeeping:
|
||||
summary: Tamagochis, but with real responsibilities.
|
||||
tags:
|
||||
- Patience
|
||||
- Perfectionism
|
|
@ -1,277 +0,0 @@
|
|||
{
|
||||
"locale": "fr",
|
||||
"name": "Laurent Fainsin",
|
||||
"go_back": "revenir en arrière",
|
||||
"flag_icon": "flag-icon flag-icon-fr",
|
||||
"info": {
|
||||
"label": "Étudiant Ingénieur SN"
|
||||
},
|
||||
"contacts": {
|
||||
"title": "Contacts",
|
||||
"list": [
|
||||
{
|
||||
"contact": "laurentfainsin@protonmail.com",
|
||||
"url": "mailto:laurentfainsin@protonmail.com",
|
||||
"icon": "fa fa-envelope-o"
|
||||
},
|
||||
{
|
||||
"contact": "+33781492838",
|
||||
"url": "https://signal.org/",
|
||||
"icon": "fa fa-phone"
|
||||
},
|
||||
{
|
||||
"contact": "Brest, France",
|
||||
"url": "https://www.openstreetmap.org/#map=12/48.3930/-4.4601",
|
||||
"icon": "fa fa-location-arrow"
|
||||
}
|
||||
]
|
||||
},
|
||||
"socials": {
|
||||
"title": "Réseaux",
|
||||
"list": [
|
||||
{
|
||||
"network": "laurent-fainsin",
|
||||
"url": "https://www.linkedin.com/in/laurent-fainsin/",
|
||||
"icon": "fa fa-linkedin"
|
||||
},
|
||||
{
|
||||
"network": "fainsil",
|
||||
"url": "https://git.inpt.fr/fainsil",
|
||||
"icon": "fa fa-gitlab"
|
||||
},
|
||||
{
|
||||
"network": "@fainsil:inpt.fr",
|
||||
"url": "https://matrix.to/#/@fainsil:inpt.fr",
|
||||
"icon": "fa fa-matrix-org"
|
||||
}
|
||||
]
|
||||
},
|
||||
"school_projects": {
|
||||
"title": "Projets scolaires",
|
||||
"list": [
|
||||
{
|
||||
"title": "Sagittarius",
|
||||
"repo": "https://git.inpt.fr/tobgang/sagittarius",
|
||||
"pdf": "https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf",
|
||||
"role": "Author",
|
||||
"description": "Suite à un projet de programmation orientée objet en java, voici un petit jeu 2D au tour par tour inspiré d'un jeu du même nom de George Prosser."
|
||||
},
|
||||
{
|
||||
"title": "Minishell",
|
||||
"repo": "https://git.inpt.fr/fainsil/minishell",
|
||||
"role": "Author",
|
||||
"description": "Implémentation d'un shell en C, capable d'exécuter des programmes, de rediriger leurs flux et de leur envoyer des signaux."
|
||||
},
|
||||
{
|
||||
"title": "Pagerank",
|
||||
"repo": "https://git.inpt.fr/fainsil/pagerank",
|
||||
"pdf": "https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf",
|
||||
"role": "Author",
|
||||
"description": "Mise en œuvre d'un algorithme itératif en Ada pour calculer le pagerank d'un réseau donné, aussi rapidement et efficacement que possible."
|
||||
}
|
||||
]
|
||||
},
|
||||
"personnal_projects": {
|
||||
"title": "Projets personnels",
|
||||
"list": [
|
||||
{
|
||||
"title": "B00 plays GBA",
|
||||
"repo": "https://git.inpt.fr/fainsil/booplaysgba/",
|
||||
"role": "Author",
|
||||
"description": "En utilisant des technologies telles que websocket, redis, docker, rtmp, mgba et en collant le tout avec Python, on obtient un émulateur collaboratif inspiré de TwitchPlaysPokemon."
|
||||
},
|
||||
{
|
||||
"title": "Ce site web",
|
||||
"repo": "https://git.inpt.fr/fainsil/personnal-website/",
|
||||
"role": "Author",
|
||||
"description": "J'ai fait ce site presque entièrement de zéro, pour simplifier le processus de création j'ai utilisé le générateur de site statique 11ty.js et son système de templates."
|
||||
}
|
||||
]
|
||||
},
|
||||
"experience": {
|
||||
"title": "Expérience professionnelle",
|
||||
"list": [
|
||||
{
|
||||
"title": "Agent de bio-nettoyage",
|
||||
"description": "Stage ouvrier au Centre Hospitalier Régional Universitaire de Brest (CHRU) pour une période de deux mois. J'ai appris à m'organiser et à travailler efficacement en équipe.",
|
||||
"date": "Été 2021"
|
||||
}
|
||||
]
|
||||
},
|
||||
"education": {
|
||||
"title": "Éducation",
|
||||
"level": "Master degree",
|
||||
"list": [
|
||||
{
|
||||
"institution": "ENSEEIHT",
|
||||
"title": "Ingénieur SN",
|
||||
"url": "https://www.enseeiht.fr/",
|
||||
"start": "2020",
|
||||
"end": "Maintenant",
|
||||
"eqv": "Master (L3, M1, M2)"
|
||||
},
|
||||
{
|
||||
"institution": "Lycée Kérichen/Vauban",
|
||||
"title": "CPGE PSI",
|
||||
"url": "https://lycee-la-perouse-kerichen-brest.ac-rennes.fr/",
|
||||
"start": "2018",
|
||||
"end": "2020",
|
||||
"eqv": "Licence (L1, L2)"
|
||||
},
|
||||
{
|
||||
"institution": "Lycée de l'Harteloire",
|
||||
"title": "Baccalauréat S",
|
||||
"url": "https://www.harteloire.com/",
|
||||
"start": "2015",
|
||||
"end": "2018"
|
||||
}
|
||||
]
|
||||
},
|
||||
"skills": {
|
||||
"title": "Compétences",
|
||||
"list": [
|
||||
{
|
||||
"name": "Bureautique",
|
||||
"level": "avancé",
|
||||
"tags": [
|
||||
"Linux",
|
||||
"LaTeX",
|
||||
"Git",
|
||||
"Word",
|
||||
"Excel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Développement web",
|
||||
"level": "intermédiaire",
|
||||
"tags": [
|
||||
"HTML5",
|
||||
"CSS3",
|
||||
"JavaScript",
|
||||
"11ty.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Calcul scientifique",
|
||||
"level": "intermédiaire",
|
||||
"tags": [
|
||||
"Numpy",
|
||||
"Matlab"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Permis",
|
||||
"tags": [
|
||||
"AM",
|
||||
"B",
|
||||
"B1"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"reading": {
|
||||
"title": "Lectures",
|
||||
"list": [
|
||||
{
|
||||
"title": "Data-Driven Science and Engineering",
|
||||
"url": "http://www.databookuw.com/"
|
||||
},
|
||||
{
|
||||
"title": "Linux Bible, 10th Edition",
|
||||
"url": "https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/"
|
||||
},
|
||||
{
|
||||
"title": "The Book of Shaders",
|
||||
"url": "https://thebookofshaders.com/"
|
||||
},
|
||||
{
|
||||
"title": "r/programming",
|
||||
"url": "https://www.reddit.com/r/programming"
|
||||
},
|
||||
{
|
||||
"title": "r/privacy",
|
||||
"url": "https://www.reddit.com/r/privacy"
|
||||
}
|
||||
]
|
||||
},
|
||||
"languages": {
|
||||
"title": "Langues",
|
||||
"list": [
|
||||
{
|
||||
"language": "Français",
|
||||
"level": "natif",
|
||||
"icon": "flag-icon flag-icon-fr"
|
||||
},
|
||||
{
|
||||
"language": "Anglais",
|
||||
"level": "bilingue",
|
||||
"icon": "flag-icon flag-icon-gb"
|
||||
},
|
||||
{
|
||||
"language": "Japonais",
|
||||
"level": "débutant",
|
||||
"icon": "flag-icon flag-icon-jp"
|
||||
},
|
||||
{
|
||||
"language": "Espagnol",
|
||||
"level": "élémentaire",
|
||||
"icon": "flag-icon flag-icon-es"
|
||||
}
|
||||
]
|
||||
},
|
||||
"langages": {
|
||||
"title": "Langages",
|
||||
"list": [
|
||||
{
|
||||
"language": "Python",
|
||||
"level": "intermédiaire",
|
||||
"icon": "devicon-python-plain"
|
||||
},
|
||||
{
|
||||
"language": "Java",
|
||||
"level": "intermédiaire",
|
||||
"icon": "devicon-java-plain"
|
||||
},
|
||||
{
|
||||
"language": "Rust",
|
||||
"level": "débutant",
|
||||
"icon": "devicon-rust-plain"
|
||||
},
|
||||
{
|
||||
"language": "C",
|
||||
"level": "débutant",
|
||||
"icon": "devicon-c-plain"
|
||||
}
|
||||
]
|
||||
},
|
||||
"interests": {
|
||||
"title": "Centres d'intérêt",
|
||||
"list": [
|
||||
{
|
||||
"name": "GitHub/Gitlab",
|
||||
"summary": "Utilisateur régulier de logiciels open source.",
|
||||
"tags": [
|
||||
"Git",
|
||||
"Open Source"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Tir à l'arc",
|
||||
"summary": "Pratique de l'art de la précision et de l'exactitude.",
|
||||
"tags": [
|
||||
"Précision",
|
||||
"Exactitude",
|
||||
"Patience"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Aquariums",
|
||||
"summary": "Des Tamagochis, mais avec de réelles responsabilités.",
|
||||
"tags": [
|
||||
"Patience",
|
||||
"Perfectionnisme"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
211
src/_data/resumes/fr.yml
Normal file
211
src/_data/resumes/fr.yml
Normal file
|
@ -0,0 +1,211 @@
|
|||
locale: fr
|
||||
name: Laurent Fainsin
|
||||
go_back: revenir en arrière
|
||||
flag_icon: flag-icon flag-icon-fr
|
||||
|
||||
info:
|
||||
label: Étudiant Ingénieur SN
|
||||
|
||||
contacts:
|
||||
title: Contacts
|
||||
list:
|
||||
laurentfainsin@protonmail.com:
|
||||
url: mailto:laurentfainsin@protonmail.com
|
||||
icon: fa fa-envelope-o
|
||||
|
||||
"+33781492838":
|
||||
url: https://signal.org/
|
||||
icon: fa fa-phone
|
||||
|
||||
Brest, France:
|
||||
url: https://www.openstreetmap.org/#map=12/48.3930/-4.4601
|
||||
icon: fa fa-location-arrow
|
||||
|
||||
socials:
|
||||
title: Réseaux
|
||||
list:
|
||||
laurent-fainsin:
|
||||
url: https://www.linkedin.com/in/laurent-fainsin/
|
||||
icon: fa fa-linkedin
|
||||
|
||||
fainsil:
|
||||
url: https://git.inpt.fr/fainsil
|
||||
icon: fa fa-gitlab
|
||||
|
||||
"@fainsil:inpt.fr":
|
||||
url: https://matrix.to/#/@fainsil:inpt.fr
|
||||
icon: fa fa-matrix-org
|
||||
|
||||
school_projects:
|
||||
title: Projets scolaires
|
||||
list:
|
||||
Sagittarius:
|
||||
repo: https://git.inpt.fr/tobgang/sagittarius
|
||||
pdf: https://git.inpt.fr/tobgang/sagittarius-pdf/-/blob/master/iteration3/rapport3.pdf
|
||||
role: Author
|
||||
description: Suite à un projet de programmation orientée objet en java, voici un petit jeu 2D au tour par tour inspiré d'un jeu du même nom de George Prosser.
|
||||
|
||||
Minishell:
|
||||
repo: https://git.inpt.fr/fainsil/minishell
|
||||
role: Author
|
||||
description: Implémentation d'un shell en C, capable d'exécuter des programmes, de rediriger leurs flux et de leur envoyer des signaux.
|
||||
|
||||
Pagerank:
|
||||
repo: https://git.inpt.fr/fainsil/pagerank
|
||||
pdf: https://git.inpt.fr/fainsil/pagerank/-/blob/master/doc/rapport.pdf
|
||||
role: Author
|
||||
description: Mise en œuvre d'un algorithme itératif en Ada pour calculer le pagerank d'un réseau donné, aussi rapidement et efficacement que possible.
|
||||
|
||||
personnal_projects:
|
||||
title: Projets personnels
|
||||
list:
|
||||
B00 plays GBA:
|
||||
repo: https://git.inpt.fr/fainsil/booplaysgba/
|
||||
role: Author
|
||||
description: En utilisant des technologies telles que websocket, redis, docker, rtmp, mgba et en collant le tout avec Python, on obtient un émulateur collaboratif inspiré de TwitchPlaysPokemon.
|
||||
|
||||
Ce site web:
|
||||
repo: https://git.inpt.fr/fainsil/personnal-website/
|
||||
role: Author
|
||||
description: J'ai fait ce site presque entièrement de zéro, pour simplifier le processus de création j'ai utilisé le générateur de site statique 11ty.js et son système de templates.
|
||||
|
||||
experience:
|
||||
title: Expérience professionnelle
|
||||
list:
|
||||
Agent de bio-nettoyage:
|
||||
description: Stage ouvrier au Centre Hospitalier Régional Universitaire de Brest (CHRU) pour une période de deux mois. J'ai appris à m'organiser et à travailler efficacement en équipe.
|
||||
date: Été 2021
|
||||
|
||||
education:
|
||||
title: Éducation
|
||||
level: Master degree
|
||||
list:
|
||||
ENSEEIHT:
|
||||
title: Ingénieur SN
|
||||
url: https://www.enseeiht.fr/
|
||||
start: "2020"
|
||||
end: Maintenant
|
||||
eqv: Master (L3, M1, M2)
|
||||
|
||||
Lycée Kérichen/Vauban:
|
||||
title: CPGE PSI
|
||||
url: https://lycee-la-perouse-kerichen-brest.ac-rennes.fr/
|
||||
start: "2018"
|
||||
end: "2020"
|
||||
eqv: Licence (L1, L2)
|
||||
|
||||
Lycée de l'Harteloire:
|
||||
title: Baccalauréat S
|
||||
url: https://www.harteloire.com/
|
||||
start: "2015"
|
||||
end: "2018"
|
||||
|
||||
skills:
|
||||
title: Compétences
|
||||
list:
|
||||
Bureautique:
|
||||
level: avancé
|
||||
tags:
|
||||
- Linux
|
||||
- LaTeX
|
||||
- Git
|
||||
- Word
|
||||
- Excel
|
||||
|
||||
Développement web:
|
||||
level: intermédiaire
|
||||
tags:
|
||||
- HTML5
|
||||
- CSS3
|
||||
- JavaScript
|
||||
- 11ty.js
|
||||
|
||||
Calcul scientifique:
|
||||
level: intermédiaire
|
||||
tags:
|
||||
- Numpy
|
||||
- Matlab
|
||||
|
||||
Permis:
|
||||
tags:
|
||||
- AM
|
||||
- B
|
||||
- B1
|
||||
|
||||
reading:
|
||||
title: Lectures
|
||||
list:
|
||||
Data-Driven Science and Engineering:
|
||||
url: http://www.databookuw.com/
|
||||
|
||||
Linux Bible, 10th Edition:
|
||||
url: https://www.oreilly.com/library/view/linux-bible-10th/9781119578888/
|
||||
|
||||
The Book of Shaders:
|
||||
url: https://thebookofshaders.com/
|
||||
|
||||
r/programming:
|
||||
url: https://www.reddit.com/r/programming
|
||||
|
||||
r/privacy:
|
||||
url: https://www.reddit.com/r/privacy
|
||||
|
||||
languages:
|
||||
title: Langues
|
||||
list:
|
||||
Français:
|
||||
level: natif
|
||||
icon: flag-icon flag-icon-fr
|
||||
|
||||
Anglais:
|
||||
level: bilingue
|
||||
icon: flag-icon flag-icon-gb
|
||||
|
||||
Japonais:
|
||||
level: débutant
|
||||
icon: flag-icon flag-icon-jp
|
||||
|
||||
Espagnol:
|
||||
level: élémentaire
|
||||
icon: flag-icon flag-icon-es
|
||||
|
||||
langages:
|
||||
title: Langages
|
||||
list:
|
||||
Python:
|
||||
level: intermédiaire
|
||||
icon: devicon-python-plain
|
||||
|
||||
Java:
|
||||
level: intermédiaire
|
||||
icon: devicon-java-plain
|
||||
|
||||
Rust:
|
||||
level: débutant
|
||||
icon: devicon-rust-plain
|
||||
|
||||
C:
|
||||
level: débutant
|
||||
icon: devicon-c-plain
|
||||
|
||||
interests:
|
||||
title: Centres d'intérêt
|
||||
list:
|
||||
GitHub/Gitlab:
|
||||
summary: Utilisateur régulier de logiciels open source.
|
||||
tags:
|
||||
- Git
|
||||
- Open Source
|
||||
|
||||
Tir à l'arc:
|
||||
summary: Pratique de l'art de la précision et de l'exactitude.
|
||||
tags:
|
||||
- Précision
|
||||
- Exactitude
|
||||
- Patience
|
||||
|
||||
Aquariums:
|
||||
summary: Des Tamagochis, mais avec de réelles responsabilités.
|
||||
tags:
|
||||
- Patience
|
||||
- Perfectionnisme
|
|
@ -23,7 +23,7 @@ Hi, my name's Laurent Fainsin, and I'm currently an M1 [engineering](https://www
|
|||
<p>{{ project.description }}</p>
|
||||
<div class="project-links">
|
||||
{%- if project.pdf -%}
|
||||
<a class="fa fa-file-pdf-o" href="{{ 'project.pdf' | url }}">test</a>
|
||||
<a class="fa fa-file-pdf-o" href="{{ 'project.pdf' | url }}"></a>
|
||||
{%- endif -%}
|
||||
{%- if project.repo -%}
|
||||
<a class="fa fa-git" href="{{ project.repo }}"></a>
|
||||
|
|
|
@ -21,10 +21,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
{% endblock style %}
|
||||
|
||||
{% block header %}
|
||||
{% for pageKey in pagination.pages %}
|
||||
{% if pageKey.locale != resume.locale %}
|
||||
<a href="{{ pagination.hrefs[loop.index-1] | url }}" target="_self">
|
||||
<span class="{{ pageKey.flag_icon }}"></span><span style="text-transform:uppercase;">{{ pageKey.locale }}</span>
|
||||
{% for page in pagination.pages %}
|
||||
{% if page.locale != resume.locale %}
|
||||
<a href="{{ pagination.hrefs[loop.index-1] }}" target="_self">
|
||||
<span class="{{ page.flag_icon }}"></span><span style="text-transform:uppercase;">{{ page.locale }}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
@ -41,10 +41,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
<hr>
|
||||
|
||||
<h2>{{ resume.experience.title }}</h2>
|
||||
{% for exp in resume.experience.list %}
|
||||
{% for key, exp in resume.experience.list %}
|
||||
<section>
|
||||
<h3>
|
||||
{{ exp.title }}
|
||||
{{ key }}
|
||||
<small>({{ exp.date }})</small>
|
||||
</h3>
|
||||
<p>{{ exp.description }}</p>
|
||||
|
@ -54,9 +54,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
<hr>
|
||||
|
||||
<h2>{{ resume.school_projects.title }}</h2>
|
||||
{% for project in resume.school_projects.list %}
|
||||
{% for key, project in resume.school_projects.list %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</h3>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description }}</p>
|
||||
|
||||
<div class="project-links">
|
||||
|
@ -73,9 +73,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
<hr>
|
||||
|
||||
<h2>{{ resume.personnal_projects.title }}</h2>
|
||||
{% for project in resume.personnal_projects.list %}
|
||||
{% for key, project in resume.personnal_projects.list %}
|
||||
<section>
|
||||
<h3>{{ project.title }}</h3>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ project.description }}</p>
|
||||
<div class="project-links">
|
||||
{% if project.pdf %}
|
||||
|
@ -92,9 +92,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.reading.title }}</h2>
|
||||
<ul>
|
||||
{% for read in resume.reading.list %}
|
||||
{% for key, read in resume.reading.list %}
|
||||
<li>
|
||||
<a href="{{ read.url }}">{{ read.title | safe }}</a>
|
||||
<a href="{{ read.url }}">{{ key }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -102,9 +102,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
<hr>
|
||||
|
||||
<h2>{{ resume.interests.title }}</h2>
|
||||
{% for interest in resume.interests.list %}
|
||||
{% for key, interest in resume.interests.list %}
|
||||
<section>
|
||||
<h3>{{ interest.name }}</h3>
|
||||
<h3>{{ key }}</h3>
|
||||
<p>{{ interest.summary }}</p>
|
||||
<ul>
|
||||
{% for tag in interest.tags %}
|
||||
|
@ -120,10 +120,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.contacts.title }}</h2>
|
||||
<ul>
|
||||
{% for contact in resume.contacts.list %}
|
||||
{% for key, contact in resume.contacts.list %}
|
||||
<li>
|
||||
<span class="{{ contact.icon }}"></span>
|
||||
<a href="{{ contact.url }}">{{ contact.contact }}</a>
|
||||
<a href="{{ contact.url }}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -132,10 +132,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.socials.title }}</h2>
|
||||
<ul>
|
||||
{% for social in resume.socials.list %}
|
||||
{% for key, social in resume.socials.list %}
|
||||
<li>
|
||||
<span class="{{social.icon}}"></span>
|
||||
<a href="{{social.url}}">{{social.network}}</a>
|
||||
<a href="{{social.url}}">{{key}}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -146,9 +146,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
<ul class="timeline">
|
||||
<span class="arrow-up"></span>
|
||||
<li class="event"></li>
|
||||
{% for key, edu in resume.education.list %}
|
||||
|
||||
{% for edu in resume.education.list %}
|
||||
{% if edu.end != resume.education.list[loop.index - 2].start %}
|
||||
{% if edu.end != (resume.education.list | list)[loop.index - 2].value.start %}
|
||||
{% if loop.index != 1 %}
|
||||
<li class="event"></li>
|
||||
{% endif %}
|
||||
|
@ -157,7 +157,7 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<li class="event">
|
||||
{{ edu.title }}<br>
|
||||
<a href="{{ edu.url }}">{{ edu.institution }}</a>
|
||||
<a href="{{ edu.url }}">{{ key }}</a>
|
||||
<br>{{ edu.eqv }}
|
||||
</li>
|
||||
|
||||
|
@ -171,9 +171,9 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.skills.title }}</h2>
|
||||
<ul>
|
||||
{% for skill in resume.skills.list %}
|
||||
{% for key, skill in resume.skills.list %}
|
||||
<li>
|
||||
{{ skill.name }}
|
||||
{{ key }}
|
||||
{% if skill.level %}
|
||||
<small> ({{ skill.level }}) </small>
|
||||
{% endif %}
|
||||
|
@ -190,10 +190,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.languages.title }}</h2>
|
||||
<ul>
|
||||
{% for lang in resume.languages.list %}
|
||||
{% for key, lang in resume.languages.list %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ lang.language }}
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
@ -201,10 +201,10 @@ permalink: "resume/{{ resume.locale }}/index.html"
|
|||
|
||||
<h2>{{ resume.langages.title }}</h2>
|
||||
<ul>
|
||||
{% for lang in resume.langages.list %}
|
||||
{% for key, lang in resume.langages.list %}
|
||||
<li>
|
||||
<span class="{{ lang.icon }}"></span>
|
||||
{{ lang.language }}
|
||||
{{ key }}
|
||||
<small>({{ lang.level }})</small>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
|
|
@ -1426,6 +1426,13 @@ js-yaml@^3.13.1:
|
|||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
|
||||
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
||||
dependencies:
|
||||
argparse "^2.0.1"
|
||||
|
||||
json-parse-better-errors@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||
|
|
Reference in a new issue