diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..c6c8b36
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,9 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/.gitignore b/.gitignore
index e14ddf7..f20c11b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ __site/
.DS_Store
node_modules/
package-lock.json
+eportfolio/
diff --git a/src/.htaccess b/src/.htaccess
new file mode 100644
index 0000000..5a928f6
--- /dev/null
+++ b/src/.htaccess
@@ -0,0 +1 @@
+Options -Indexes
diff --git a/src/_assets/hamburger.svg b/src/_assets/hamburger.svg
index 233bf21..6d5f2f7 100644
--- a/src/_assets/hamburger.svg
+++ b/src/_assets/hamburger.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
diff --git a/src/_assets/public.pgp b/src/_assets/public.pgp
new file mode 100644
index 0000000..283387a
--- /dev/null
+++ b/src/_assets/public.pgp
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+hJVGcEo8gZdmub8=
+=DupR
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/_data/personnal_projects.yml b/src/_data/personnal_projects.yml
new file mode 100644
index 0000000..8b5fc06
--- /dev/null
+++ b/src/_data/personnal_projects.yml
@@ -0,0 +1,37 @@
+Hackathon net7:
+ role: Author
+ year: 2022-2023
+ description: Cool little game, soon™
+
+Personnal website:
+ role: Author
+ year: 2022-2023
+ description: TODO
+ repository: https://git.inpt.fr/fainsil/personnal-website/
+ website: https://laurent.fainsin.bzh/
+
+B00 plays GBA:
+ role: Author
+ description: Using technologies such as [websocket](https://websockets.readthedocs.io/en/stable/), [redis](https://redis.io/), [docker](https://www.docker.com/), [rtmp](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol), [mgba](https://github.com/mgba-emu/mgba) and gluing it all together with [Python](https://en.wikipedia.org/wiki/Python_(programming_language)), we get a collaborative emulator inspired from [TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon).
+ repository: https://git.inpt.fr/fainsil/booplaysgba/
+
+INP-net:
+ role: President
+ year: 2021-2022
+ description: Active member of my school's computer association which provides many services to over 10,000 students.
+ website: https://www.bde.enseeiht.fr/clubs/net7/
+ repository: https://git.inpt.fr/inp-net/
+
+net7:
+ role: Treasurer
+ year: 2021-2022
+ description: Active member of my school's computer association which provides many services to over 10,000 students.
+ website: https://www.bde.inp-toulouse.fr/clubs/inp-net/
+ repository: https://git.inpt.fr/net7/
+
+Personnal website (old):
+ role: Author
+ year: 2020-2022
+ description: Simple website built with the static site generetor [11ty.js](https://www.11ty.dev/). Made with [Nunjucks](https://mozilla.github.io/nunjucks/), [SCSS](https://sass-lang.com/), [Javascript](https://developer.mozilla.org/fr/docs/Web/JavaScript), [Yarn](https://yarnpkg.com/) and autodeployed with a [GitLab pipeline](https://git.inpt.fr/fainsil/personnal-website/-/pipelines).
+ repository: https://git.inpt.fr/fainsil/personnal-website-old/
+ website: https://fainsil.users.inpt.fr/
diff --git a/src/_data/school_projects.yml b/src/_data/school_projects.yml
new file mode 100644
index 0000000..e09b342
--- /dev/null
+++ b/src/_data/school_projects.yml
@@ -0,0 +1,16 @@
+Sagittarius:
+ repo: https://git.inpt.fr/fainsil/sagittarius
+ pdf: https://git.inpt.fr/fainsil/sagittarius/-/blob/master/docs/iteration3/rapport3.pdf
+ role: Author
+ description: From an object oriented programming project in [Java](https://en.wikipedia.org/wiki/Java_(programming_language)), a little 2D turn-based game inspired by [a game under the same name by George Prosser](https://gprosser.itch.io/sagittarius).
+
+Minishell:
+ repo: https://git.inpt.fr/fainsil/minishell
+ role: Author
+ description: Implementation of a basic [shell program](https://en.wikipedia.org/wiki/Shell_(computing)) in [C](https://en.wikipedia.org/wiki/C_(programming_language)), 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](https://en.wikipedia.org/wiki/Ada_(programming_language)) to compute the [pagerank](https://en.wikipedia.org/wiki/PageRank) of a given network as quickly and efficiently as possible.
diff --git a/src/_layout/header.html b/src/_layout/header.html
index cd43d35..c81a82e 100644
--- a/src/_layout/header.html
+++ b/src/_layout/header.html
@@ -1,12 +1,10 @@