Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd97001cc0 | ||
|
|
dfc4f55709 | ||
|
|
2c8ae62e4b | ||
|
|
eacd26e532 | ||
|
|
8ac697b6e3 | ||
|
|
f43afab585 | ||
|
|
0764207780 | ||
|
|
d040932217 | ||
|
|
c633026376 | ||
|
|
de4be9e248 | ||
|
|
b52842c254 | ||
|
|
5b1ea933f6 | ||
|
|
ecabfcc392 | ||
|
|
d9a6269f13 | ||
|
|
c08dff5171 | ||
|
|
0b55e2cdb3 | ||
|
|
9edec3714e | ||
|
|
e27344b350 | ||
|
|
d72c5ea2de | ||
|
|
92b75b3239 | ||
|
|
2e03ec0ae9 | ||
|
|
32ea6d6cf4 | ||
|
|
69b111b1e2 | ||
|
|
3f6eb8e78b | ||
|
|
4642f33e0a | ||
|
|
af9543e1f1 | ||
|
|
801576af7a | ||
|
|
f414587ec3 | ||
|
|
1056f8ea5c | ||
|
|
ad737c57dc | ||
|
|
fdd16bbd3e | ||
|
|
0c7860fee9 | ||
|
|
d545c2ef28 | ||
|
|
e21e5b8938 | ||
|
|
680c5808a3 |
10
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
// Use Prettier as the default formatter for HTML and CSS
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"[html]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[css]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,8 @@
|
||||
|
||||
html validator : https://validator.w3.org/nu
|
||||
|
||||
---
|
||||
|
||||
start it with a server, like : `alive-server`
|
||||
- https://www.npmjs.com/package/alive-server
|
||||
- install : `npm install -g alive-server`
|
||||
|
||||
@@ -16,14 +16,16 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.0 KiB |
@@ -16,15 +16,17 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -16,16 +16,18 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -16,19 +16,21 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.3 KiB |
@@ -16,22 +16,24 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.5 KiB |
@@ -16,25 +16,27 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.7 KiB |
@@ -16,28 +16,30 @@
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
white-space: pre;
|
||||
/*
|
||||
* dont work in chrome so use 'tspan' with 'dy' and 'xml:space'
|
||||
*
|
||||
line-height: 0.8;
|
||||
white-space: pre;
|
||||
*/
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<text x="0" y="0">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
<tspan x="0" dy="0.8em" xml:space="preserve"> </tspan>
|
||||
</text>
|
||||
|
||||
<!-- Other SVG elements and attributes -->
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.9 KiB |
BIN
docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer.pdf
Normal file
BIN
docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_Ats_EN.pdf
Normal file
BIN
docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_Ats_FR.pdf
Normal file
BIN
docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_EN.pdf
Normal file
BIN
docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_FR.pdf
Normal file
5
docs/flags/fr.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fr" viewBox="0 0 640 480">
|
||||
<path fill="#fff" d="M0 0h640v480H0z"/>
|
||||
<path fill="#000091" d="M0 0h213.3v480H0z"/>
|
||||
<path fill="#e1000f" d="M426.7 0H640v480H426.7z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 231 B |
5
docs/flags/fr_bnw.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-fr" viewBox="0 0 640 480">
|
||||
<path fill="#ffffff" d="M0 0h640v480H0z"/>
|
||||
<path fill="#232323" d="M0 0h213.3v480H0z"/>
|
||||
<path fill="#727272" d="M426.7 0H640v480H426.7z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 234 B |
7
docs/flags/gb.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb" viewBox="0 0 640 480">
|
||||
<path fill="#012169" d="M0 0h640v480H0z"/>
|
||||
<path fill="#FFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
|
||||
<path fill="#C8102E" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
|
||||
<path fill="#FFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
|
||||
<path fill="#C8102E" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 504 B |
7
docs/flags/gb_bnw.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-gb" viewBox="0 0 640 480">
|
||||
<path fill="#262626" d="M0 0h640v480H0z"/>
|
||||
<path fill="#FFFFFF" d="m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z"/>
|
||||
<path fill="#666666" d="m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z"/>
|
||||
<path fill="#FFFFFF" d="M241 0v480h160V0zM0 160v160h640V160z"/>
|
||||
<path fill="#666666" d="M0 193v96h640v-96zM273 0v480h96V0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 510 B |
888
index.html
@@ -1,27 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="fr" dir="ltr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<!-- create "fake" favicon : https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||||
<title>hugulumu.fr</title>
|
||||
<meta name="description" content="site web de hugo lamy, developpeur">
|
||||
<link href="./styles/reset.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/style.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/global.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/text.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/sections.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/mouses.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/banners.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/title.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/hero.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/projects.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/cv.css" type="text/css" rel="stylesheet">
|
||||
<link href="./styles/elements/infos.css" type="text/css" rel="stylesheet">
|
||||
</head>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1"
|
||||
/>
|
||||
<!-- create "fake" favicon : https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
||||
<link rel="icon" href="data:;base64,iVBORw0KGgo=" />
|
||||
<title>hugulumu.fr</title>
|
||||
<meta name="description" content="site web de hugo lamy, developpeur" />
|
||||
<link href="./styles/reset.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/style.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/global.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/text.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/sections.css" type="text/css" rel="stylesheet" />
|
||||
<link
|
||||
href="./styles/elements/mouses.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
href="./styles/elements/banners.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="./styles/elements/title.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/elements/hero.css" type="text/css" rel="stylesheet" />
|
||||
<link
|
||||
href="./styles/elements/projects.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="./styles/elements/cv.css" type="text/css" rel="stylesheet" />
|
||||
<link href="./styles/elements/infos.css" type="text/css" rel="stylesheet" />
|
||||
<link
|
||||
href="./styles/elements/language.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
original : • 8226 U+2022
|
||||
: 57442 U+E062
|
||||
: 57443 U+E063
|
||||
@@ -31,24 +51,34 @@
|
||||
: 57447 U+E067
|
||||
-->
|
||||
|
||||
<body id="body">
|
||||
<body id="body">
|
||||
<input type="checkbox" id="language" />
|
||||
<label id="language_label" for="language">
|
||||
<span id="fr"
|
||||
><img class="flag" src="./docs/flags/fr_bnw.svg" alt="french flag"
|
||||
/></span>
|
||||
<span id="en"
|
||||
><img class="flag" src="./docs/flags/gb_bnw.svg" alt="english flag"
|
||||
/></span>
|
||||
</label>
|
||||
|
||||
<!--
|
||||
maybe move this outside, so that i can change my mind to put it or not wihtout having to change the grid rows height ?
|
||||
or else, if all rows can be the same, like 1fr or auto, it will also works
|
||||
<!--
|
||||
I moved this outside the hero section,
|
||||
so that i can change my mind to put it or not without having to change the grid rows height
|
||||
-->
|
||||
<div id="top_banner" class="banner banner_size_0 banner_speed_50 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
||||
<div
|
||||
id="top_banner"
|
||||
class="banner banner_size_0 banner_speed_50 banner_reverse grid_full_width"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<!--
|
||||
HERO SECTION
|
||||
-->
|
||||
<section class="section hero" id="hero">
|
||||
|
||||
<header>
|
||||
<h1 aria-label="hugo lamy" id="name" class="title">
|
||||
<section class="section hero" id="hero">
|
||||
<header>
|
||||
<!-- prettier-ignore -->
|
||||
<h1 aria-label="hugo lamy" id="name" class="title">
|
||||
<span aria-hidden="true" class="pre pre_small">
|
||||
|
||||
|
||||
@@ -63,181 +93,687 @@
|
||||
|
||||
|
||||
</span>
|
||||
</h1>
|
||||
<h1 aria-label="programmeur informatique" id="title" class="title">
|
||||
</h1>
|
||||
<!-- prettier-ignore -->
|
||||
<h1 aria-label="programmeur informatique" id="title" class="title">
|
||||
<span aria-hidden="true" class="pre">
|
||||
<span class="fr">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</h1>
|
||||
<p class="subtitle">méthodique, inventif, curieux</p>
|
||||
</header>
|
||||
<span class="en">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</span>
|
||||
</h1>
|
||||
|
||||
<details class="cv margin_top_big">
|
||||
<summary>
|
||||
<h2 class="close">voir le CV</h2>
|
||||
<h2 class="open">cacher le CV</h2>
|
||||
</summary>
|
||||
<a id="cv_download" class="margin_bottom_big" href="docs/hugo_lamy_cv_2024.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">télécharger en pdf</a>
|
||||
<h2>COMPÉTENCES</h2>
|
||||
<ul>
|
||||
<li>Langages : C, C++, bash, JavaScript, PHP, CSS, HTML</li>
|
||||
<li>Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx, MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</li>
|
||||
<li>Plus : emails, sending emails, receiving emails, deleting emails (the it crowd S01E01)</li>
|
||||
<li>Autres : magie, vélo, noeuds, mathématiques, politique</li>
|
||||
</ul>
|
||||
<h2>EXPÉRIENCES</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.carteprof.org" target="_blank" rel="noopener noreferrer" title="link to carteprof website"></a>, 2021 : Backend, plugin wordpress, authentification, sessions, paiements, roles et bdd</li>
|
||||
<li><a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer" title="link to bloc-house website"></a>, 2021 : Full-stack, reprise d’un site en php et javascript</li>
|
||||
<li><a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to lejourdesprofs website"></a>, 2022 : Backend, plugin WordPress API GoogleMaps</li>
|
||||
<li><a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer" title="link to kosmopolit website"></a>, 2021 : Front-end, intégration en css atomique statique</li>
|
||||
</ul>
|
||||
<h2>FORMATION INFORMATIQUE</h2>
|
||||
<ul>
|
||||
<li>École 42, Paris, 2021-2022, tronc commun - niveau 10 (C, C++, système, algorithime, réseaux)</li>
|
||||
<li>SIMPLON, développeur full-stack JavaScript, 2018 (Javascript, Node.js, React.js, HTML, CSS)</li>
|
||||
</ul>
|
||||
<h2>FORMATION ARCHITECTURE</h2>
|
||||
<ul>
|
||||
<li>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</li>
|
||||
<li>3 stages : PERSPECTIVA (Houston, Texas, 2009, 3 mois), AS (Paris, 2012, 6 mois), JC QUINTON (Paris 2014, 6 mois)</li>
|
||||
</ul>
|
||||
<h2>ENGAGEMENT ASSOCIATIF</h2>
|
||||
<ul>
|
||||
<li>Vulgarisation et recherche contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2024</li>
|
||||
<li>Aide au logement, travail, administratif, et projets de vie de personnes précaires, 2018-2024</li>
|
||||
<li>Distribution de nourriture, MIGRANTS-WILSON & SECOURS POPULAIRE, 2020-2022</li>
|
||||
<li>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</li>
|
||||
</ul>
|
||||
</details>
|
||||
<p class="subtitle">
|
||||
<span class="fr">
|
||||
Bonjour, je suis un développeur inventif, méthodique, et passionné
|
||||
par l'informatique, et plus particulièrement le libre et l'open
|
||||
source. J'aime explorer de nouvelles solutions techniques et
|
||||
comprendre les systèmes en profondeur :-]
|
||||
</span>
|
||||
<span class="en">
|
||||
Hello, I am a creative, methodical developer with a passion for
|
||||
computer science, particularly free and open-source software. I
|
||||
enjoy exploring new technical solutions and gaining a deep
|
||||
understanding of systems :-]
|
||||
</span>
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div class="mouse"><div class="frames mouse_1 pre"></div></div>
|
||||
<div class="banner banner_size_3 banner_speed_30 grid_full_width margin_bottom_small" aria-label="banner delimitation in ASCII art"></div>
|
||||
<div class="mouse"><div class="frames mouse_1 pre"></div></div>
|
||||
<div
|
||||
class="banner banner_size_3 banner_speed_30 grid_full_width margin_bottom_small"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
<!--
|
||||
CV
|
||||
-->
|
||||
<section id="cv" class="section">
|
||||
<header>
|
||||
<!-- prettier-ignore -->
|
||||
<h1 aria-label="curriculum vitae">
|
||||
<span aria-hidden="true" class="pre">
|
||||
<span class="fr en">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</span>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<div class="cv">
|
||||
<div class="cv_download">
|
||||
<p>
|
||||
<span class="fr">télécharger </span>
|
||||
<span class="en">download </span>
|
||||
:
|
||||
</p>
|
||||
<a
|
||||
href="docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_FR.pdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to pdf CV version graphical FR"
|
||||
>
|
||||
<span class="fr">[Graphique FR]</span>
|
||||
<span class="en">[Graphical FR]</span>
|
||||
</a>
|
||||
<a
|
||||
href="docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_EN.pdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to pdf CV version graphical EN"
|
||||
>
|
||||
<span class="fr">[Graphique EN]</span>
|
||||
<span class="en">[Graphical EN]</span>
|
||||
</a>
|
||||
<a
|
||||
href="docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_Ats_FR.pdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to pdf CV version ats FR"
|
||||
>
|
||||
<span class="fr">[ATS FR]</span>
|
||||
<span class="en">[ATS FR]</span>
|
||||
</a>
|
||||
<a
|
||||
href="docs/cvs/CV_Hugo_Lamy_Backend_Embedded_Developer_Ats_EN.pdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to pdf CV version ats EN"
|
||||
>
|
||||
<span class="fr">[ATS EN]</span>
|
||||
<span class="en">[ATS EN]</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h2>
|
||||
<span class="fr">EXPÉRIENCES</span>
|
||||
<span class="en">WORK EXPERIENCES</span>
|
||||
</h2>
|
||||
<div
|
||||
class="banner banner_size_0 banner_pause"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
|
||||
<h4>
|
||||
<span class="fr">web full-stack</span>
|
||||
<span class="en">web full-stack</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>BLOC-HOUSE: reprise du site d'une association d'artistes
|
||||
(fullstack, php, javascript, html, css), 2023</span
|
||||
>
|
||||
<span class="en"
|
||||
>BLOC-HOUSE: takeover of an artists' association website
|
||||
(fullstack, php, javascript, html, css), 2023</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>TRANSCENDENCE: chat en ligne avec gestions des comptes et
|
||||
notifications (fullstack, node.js, nest.js, websocket, svelte,
|
||||
PostgreSQL)</span
|
||||
>
|
||||
<span class="en"
|
||||
>TRANSCENDENCE: online chat with account management and
|
||||
notifications (fullstack, node.js, nest.js, websocket, svelte,
|
||||
PostgreSQL)</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>FIPF: plugin qui gère les paiements, les roles, corrige les
|
||||
autres plugins et des actions front-end (fullstack, js, php, bdd),
|
||||
2024</span
|
||||
>
|
||||
<span class="en"
|
||||
>FIPF: plugin that manages payments, roles, corrects other plugins
|
||||
and front-end actions (fullstack, js, php, bdd), 2024</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>JIPF: utilise les API GoogleMaps pour afficher des données
|
||||
dynamiques sur une carte avec des filtres, 2022</span
|
||||
>
|
||||
<span class="en"
|
||||
>JIPF: uses GoogleMaps APIs to display dynamic data on a map, with
|
||||
interactive filters</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>KOSMOPOLIT: front-end, integration d'un site statique pour une
|
||||
association de litterature, (html, css atomique), 2022</span
|
||||
>
|
||||
<span class="en"
|
||||
>KOSMOPOLIT: front-end, integration of a static site for a
|
||||
literature association, (html, atomic css), 2022</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>
|
||||
<span class="fr">devops</span>
|
||||
<span class="en">devops</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>WEBSERV: création d'un serveur web non-bloquant en multiplexage,
|
||||
capable de gérer des requetes http et envoyer du contenu (c++,
|
||||
linux sockets)</span
|
||||
>
|
||||
<span class="en"
|
||||
>WEBSERV: creation of a non-blocking multiplexing web server
|
||||
capable of managing http requests and sending content (c++, linux
|
||||
sockets)</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>MINITALK: utiliser les signaux système de linux pour creer une
|
||||
communication en code ascii entre deux processus</span
|
||||
>
|
||||
<span class="en"
|
||||
>MINITALK: using linux system signals to create ascii code
|
||||
communication between two processes</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>INCEPTION: création de zéro d'ima-ges docker pour deployer
|
||||
wordpress avec encription SSL (docker compose, mariaDB, NGINX,
|
||||
Wordpress)</span
|
||||
>
|
||||
<span class="en"
|
||||
>INCEPTION: creating docker images from scratch to deploy
|
||||
wordpress with SSL encription (docker compose, mariaDB, NGINX,
|
||||
Wordpress)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>
|
||||
<span class="fr">game</span>
|
||||
<span class="en">game</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>CUBE 3D: jeu à la premiere personne utilisant le raycasting pour
|
||||
la 3d et les textures, et le clavier pour bouger (c,
|
||||
trigonométrie, inputs)</span
|
||||
>
|
||||
<span class="en"
|
||||
>CUBE 3D: first-person game using raycasting for 3d and textures,
|
||||
and the keyboard for movement (c, trigonometry, inputs)</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>FDF: modélisation spatiale de formes en courbes de niveau à
|
||||
partir de cartes (c, trigonometrie, inputs)</span
|
||||
>
|
||||
<span class="en"
|
||||
>FDF: spatial modelling of contour lines from maps with keyboard
|
||||
control (c, trigonometrie, inputs)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--
|
||||
<h4>
|
||||
<span class="fr">system</span>
|
||||
<span class="en">system</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>MINISHELL: créer un shell capable de parser des prompts, exécuter
|
||||
des programmes, et réagir aux signaux (c, bash, signals, fork,
|
||||
pipe, readline)</span
|
||||
>
|
||||
<span class="en"
|
||||
>MINISHELL: creating a shell capable of parsing prompts, executing
|
||||
programs, and listening to signals (c, bash, signals, fork, pipe,
|
||||
readline)</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>CONTAINERS: recoder 3 conteneurs c++ avec les iterateurs,
|
||||
surcharges, et templates : map, vector, stack</span
|
||||
>
|
||||
<span class="en"
|
||||
>CONTAINERS: recoding c++ containers with iterators, overloads and
|
||||
templates : map, vector, stack</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>PUSHSWAP: algorithmes de tris avec deux piles et des mouvements
|
||||
limités aux extrémités des piles (c)</span
|
||||
>
|
||||
<span class="en"
|
||||
>PUSHSWAP: sorting algorithms with two stacks and limited movement
|
||||
at the ends of the stacks (c)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<span class="fr">COMPÉTENCES</span>
|
||||
<span class="en">SKILLS</span>
|
||||
</h2>
|
||||
<div
|
||||
class="banner banner_size_0 banner_pause"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
|
||||
<h4>
|
||||
<span class="fr">hard skills</span>
|
||||
<span class="en">hard skills</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Langages : C, C++, bash, JavaScript, PHP, CSS, HTML</span
|
||||
>
|
||||
<span class="en"
|
||||
>Languages : C, C++, bash, JavaScript, PHP, CSS, HTML</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx,
|
||||
MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</span
|
||||
>
|
||||
<span class="en"
|
||||
>Technologies : Node.js, Git, Gitaction, Docker, Wordpress, Nginx,
|
||||
MariaDB, Nest.js, Svelte, WebSocket, Express, npm, react</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Plus : emails, sending emails, receiving emails, deleting emails
|
||||
(the it crowd S01E01)</span
|
||||
>
|
||||
<span class="en"
|
||||
>Plus : emails, sending emails, receiving emails, deleting emails
|
||||
(the it crowd S01E01)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<span class="fr">soft skills</span>
|
||||
<span class="en">soft skills</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr">capacité d'apprentissage et autonomie</span>
|
||||
<span class="en">learning ability, and autonomy</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">attention aux détails, patience</span>
|
||||
<span class="en">attention to details, patience</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">adaptabilité et resolution de problemes</span>
|
||||
<span class="en">adaptability and problem-solving</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">recevoir des feedbacks</span>
|
||||
<span class="en">receiving feedback</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<span class="fr">FORMATIONS</span>
|
||||
<span class="en">EDUCATIONS</span>
|
||||
</h2>
|
||||
<div
|
||||
class="banner banner_size_0 banner_pause"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
|
||||
<h4>
|
||||
<span class="fr">informatique</span>
|
||||
<span class="en">computer science</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>École 42, Paris, 2021-2022, tronc commun - niveau 10 (C, C++,
|
||||
système, algorithmie, réseaux)</span
|
||||
>
|
||||
<span class="en"
|
||||
>42 school, Paris, 2021-2022, common core - level 10 (C, C++,
|
||||
system, algorithms, networks)</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>SIMPLON, développeur full-stack JavaScript, 2018 (Javascript,
|
||||
Node.js, React.js, HTML, CSS)</span
|
||||
>
|
||||
<span class="en"
|
||||
>SIMPLON, developer full-stack JavaScript, 2018 (Javascript,
|
||||
Node.js, React.js, HTML, CSS)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<span class="fr">architecture</span>
|
||||
<span class="en">architecture</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France,
|
||||
2008-2014</span
|
||||
>
|
||||
<span class="en"
|
||||
>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France,
|
||||
2008-2014</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>3 stages : PERSPECTIVA (Houston, Texas, 2009, 3 mois), AS (Paris,
|
||||
2012, 6 mois), JC QUINTON (Paris 2014, 6 mois)</span
|
||||
>
|
||||
<span class="en"
|
||||
>3 internships : PERSPECTIVA (Houston, Texas, 2009, 3 months), AS
|
||||
(Paris, 2012, 6 months), JC QUINTON (Paris 2014, 6 months)</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<span class="fr">PERSONNEL</span>
|
||||
<span class="en">PERSONAL</span>
|
||||
</h2>
|
||||
<div
|
||||
class="banner banner_size_0 banner_pause"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
|
||||
<h4>
|
||||
<span class="fr">engagement associatif</span>
|
||||
<span class="en">volunteer work</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Vulgarisation et recherche contraception testiculaire,
|
||||
ZEROMILLIONS, Paris, France, 2021-2024</span
|
||||
>
|
||||
<span class="en"
|
||||
>Popularisation and research into testicular contraception,
|
||||
ZEROMILLIONS, Paris, France, 2021-2024</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Aide au logement, travail, administratif, et projets de vie de
|
||||
personnes précaires, 2018-2024</span
|
||||
>
|
||||
<span class="en"
|
||||
>Help with housing, work, administration and life projects for
|
||||
people on the margins of society, 2018-2024</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Distribution de nourriture, MIGRANTS-WILSON & SECOURS POPULAIRE,
|
||||
2020-2022</span
|
||||
>
|
||||
<span class="en"
|
||||
>Food distribution, MIGRANTS-WILSON & SECOURS POPULAIRE,
|
||||
2020-2022</span
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr"
|
||||
>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56,
|
||||
Grande-Synthe, France, 2016</span
|
||||
>
|
||||
<span class="en"
|
||||
>Co-management of volunteers in a refugee camp, UTOPIA 56,
|
||||
Grande-Synthe, France, 2016</span
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>
|
||||
<span class="fr">centre d'intérêts</span>
|
||||
<span class="en">interests</span>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="fr">vélo</span>
|
||||
<span class="en">bicycle</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">magie</span>
|
||||
<span class="en">magic tricks</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">noeuds</span>
|
||||
<span class="en">knots</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">mathématiques et physiques</span>
|
||||
<span class="en">mathematics and physics</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="fr">politique</span>
|
||||
<span class="en">politic</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="mouse"><div class="frames mouse_3 pre"></div></div>
|
||||
<div
|
||||
class="banner banner_size_2 banner_reverse banner_speed_40 grid_full_width margin_bottom_small"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
</section>
|
||||
|
||||
<!--
|
||||
PROJECTS
|
||||
-->
|
||||
<section id="projects" class="section">
|
||||
<div class="mouse"><div class="frames mouse_3 pre"></div></div>
|
||||
|
||||
<header>
|
||||
<h1 aria-label="projets">
|
||||
<section id="projects" class="section">
|
||||
<header>
|
||||
<!-- prettier-ignore -->
|
||||
<h1 aria-label="projets">
|
||||
<span aria-hidden="true" class="pre">
|
||||
<span class="fr">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</h1>
|
||||
</header>
|
||||
<span class="en">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</span>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<div class="margin_bottom_big">
|
||||
<p>code-sources de tous les projets : </p>
|
||||
<a href="https://bitbucket.org/hugogogo" target="_blank" rel="noopener noreferrer" title="link to git repositories on bitbucket"></a>
|
||||
</div>
|
||||
<div class="margin_bottom_big">
|
||||
<p>
|
||||
<span class="fr">code-sources de tous les projets : </span>
|
||||
<span class="en">source code for all projects : </span>
|
||||
</p>
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to git repositories"
|
||||
></a>
|
||||
</div>
|
||||
|
||||
<h2 class="margin_bottom_big">quelques exemples de projets réalisés :</h2>
|
||||
<h2 class="margin_bottom_big">
|
||||
<span class="fr">quelques exemples de projets réalisés :</span>
|
||||
<span class="en">some examples of completed projects :</span>
|
||||
</h2>
|
||||
|
||||
<div class="projects_grid">
|
||||
<figure class="project">
|
||||
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||
<img src="./docs/projects/fdf_pyramide_loop_square_2_light.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>programme qui creer une representation 3D filaire d'une carte avec des points a differentes altitudes</p>
|
||||
<a href="https://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<div class="projects_grid">
|
||||
<figure class="project">
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/42/42_INT_04_fdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
>
|
||||
<img src="./docs/projects/fdf_pyramide_loop_square_2_light.gif" />
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>
|
||||
<span class="fr"
|
||||
>programme qui creer une representation 3D filaire d'une carte
|
||||
avec des points a differentes altitudes</span
|
||||
>
|
||||
<span class="en"
|
||||
>program that creates a 3D wireframe representation of a map
|
||||
with points at different altitudes</span
|
||||
>
|
||||
</p>
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/42/42_INT_04_fdf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<figure class="project">
|
||||
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||
<img src="./docs/projects/cube3d_tour_with_map_square.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>mini jeu video utilisant le raycasting pour creer une impression de deplacement dans un environnement 3D</p>
|
||||
<a href="https://bitbucket.org/hugogogo/int_10_cube3d" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<figure class="project">
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/42/42_INT_10_cube3d"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
>
|
||||
<img src="./docs/projects/cube3d_tour_with_map_square.gif" />
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>
|
||||
<span class="fr"
|
||||
>mini jeu video utilisant le raycasting pour creer une
|
||||
impression de deplacement dans un environnement 3D</span
|
||||
>
|
||||
<span class="en"
|
||||
>mini video game using raycasting to create the impression of
|
||||
movement in a 3D environment</span
|
||||
>
|
||||
</p>
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/42/42_INT_10_cube3d"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<figure class="project">
|
||||
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||
<img src="./docs/projects/ljdp_map_clusters_square_light.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>plugin wordpress representant des evenements sur une carte avec des marqueurs et des filtres de tris</p>
|
||||
<a href="https://bitbucket.org/hugogogo/2023_website_jipf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
<figure class="project">
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/pro/2023_WEBSITE_jipf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
>
|
||||
<img src="./docs/projects/ljdp_map_clusters_square_light.gif" />
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>
|
||||
<span class="fr"
|
||||
>plugin wordpress representant des evenements sur une carte avec
|
||||
des marqueurs et des filtres de tris</span
|
||||
>
|
||||
<span class="en"
|
||||
>wordpress plugin showing events on a map with markers and
|
||||
sorting filters</span
|
||||
>
|
||||
</p>
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/pro/2023_WEBSITE_jipf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
<figure class="project">
|
||||
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket">
|
||||
<img src="./docs/projects/kosmopolit_square.gif"/>
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>site internet statique utilisant une structure uniquement en html et css</p>
|
||||
<a href="https://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
<figure class="project">
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/pro/2022_WEBSITE_kosmopolit"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
>
|
||||
<img src="./docs/projects/kosmopolit_square.gif" />
|
||||
</a>
|
||||
<figcaption>
|
||||
<p>
|
||||
<span class="fr"
|
||||
>site internet statique utilisant une structure uniquement en
|
||||
html et css</span
|
||||
>
|
||||
<span class="en"
|
||||
>static website using a structure based solely on html and
|
||||
css</span
|
||||
>
|
||||
</p>
|
||||
<a
|
||||
href="https://gitea.hugulumu.com/pro/2022_WEBSITE_kosmopolit"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
title="link to the source code"
|
||||
></a>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<article class="project">
|
||||
<p>description</p>
|
||||
<img src="./docs/projects/fdf_pyramide_2.gif"/>
|
||||
<img src="./docs/projects/fdf_demo.gif"/>
|
||||
</article>
|
||||
<div class="mouse"><div class="frames mouse_2 pre"></div></div>
|
||||
<div
|
||||
class="banner banner_size_3 banner_speed_20 banner_reverse grid_full_width"
|
||||
aria-label="banner delimitation in ASCII art"
|
||||
></div>
|
||||
</section>
|
||||
|
||||
<article class="project">
|
||||
<p>description</p>
|
||||
<img src="./docs/projects/cube3d_raycasting.gif"/>
|
||||
<img src="./docs/projects/cube3d_image.gif"/>
|
||||
</article>
|
||||
|
||||
<article class="project">
|
||||
<p>description</p>
|
||||
<img src="./docs/projects/ljdp_map_clusters.gif"/>
|
||||
<img src="./docs/projects/ljdp_map_filters.gif"/>
|
||||
</article>
|
||||
-->
|
||||
|
||||
<div class="mouse"><div class="frames mouse_2 pre"></div></div>
|
||||
<div class="banner banner_size_3 banner_speed_20 banner_reverse grid_full_width" aria-label="banner delimitation in ASCII art"></div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<!--
|
||||
INFOS
|
||||
-->
|
||||
<section id="infos" class="footer section">
|
||||
<section id="infos" class="footer section">
|
||||
<article>
|
||||
<a href="mailto:hugogogo@protonmail.com">hugogogo@protonmail.com</a>
|
||||
</article>
|
||||
|
||||
<article>
|
||||
<p>hugogogo@protonmail.com</p>
|
||||
</article>
|
||||
|
||||
<div class="mouse"><div class="frames mouse_4 pre"></div></div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
<div class="mouse"><div class="frames mouse_4 pre"></div></div>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,37 +1,38 @@
|
||||
.cv {
|
||||
width: auto;
|
||||
max-width: 900px;
|
||||
#cv {
|
||||
header {
|
||||
height: 300px;
|
||||
}
|
||||
}
|
||||
|
||||
.cv {
|
||||
display: flex;
|
||||
text-align: left;
|
||||
}
|
||||
.cv summary {
|
||||
position: relative;
|
||||
list-style-position: outside;
|
||||
list-style-type: "▸ ";
|
||||
font-size: 1.8rem;
|
||||
margin: auto;
|
||||
width: fit-content;
|
||||
}
|
||||
.cv summary .open {
|
||||
display: none;
|
||||
}
|
||||
.cv summary .close {
|
||||
display: inline;
|
||||
}
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-align: left;
|
||||
width: auto;
|
||||
max-width: 900px;
|
||||
|
||||
.cv[open] summary {
|
||||
list-style-type: "▾ ";
|
||||
}
|
||||
.cv[open] summary .open {
|
||||
display: inline;
|
||||
}
|
||||
.cv[open] summary .close {
|
||||
display: none;
|
||||
}
|
||||
> *:last-child {
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
.cv > *:last-child {
|
||||
margin-bottom: 100px;
|
||||
.cv_download {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.banner {
|
||||
margin: 0px 0px 50px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
ul {
|
||||
border: 1px dashed black;
|
||||
padding: 20px;
|
||||
padding-left: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
#hero {
|
||||
min-height: 100vh;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
/*
|
||||
min-height: 100vh;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
/*
|
||||
* WIP : trying to find a solution to have both qualities :
|
||||
* - elements are spread across the page vertically ('hugo lamy developpeur' is not compacted on top)
|
||||
* - the details element 'voir le cv' dont jump when we unroll it
|
||||
* - the details element 'voir le cv' don't jump when we unroll it
|
||||
*
|
||||
grid-template-rows: 1fr auto 1fr;
|
||||
*/
|
||||
grid-template-rows: auto auto 1fr;
|
||||
*/
|
||||
grid-template-rows: 50vh 1fr;
|
||||
}
|
||||
#hero .subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
#hero .cv {
|
||||
}
|
||||
#hero .cv #cv_download {
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
max-width: 700px;
|
||||
margin: 0px auto;
|
||||
}
|
||||
|
||||
59
styles/elements/language.css
Normal file
@@ -0,0 +1,59 @@
|
||||
input#language {
|
||||
display: none;
|
||||
}
|
||||
label#language_label {
|
||||
position: fixed;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
|
||||
.flag {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* SWITCH FLAG
|
||||
*/
|
||||
#language {
|
||||
&:not(:checked) + #language_label {
|
||||
#fr {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#en {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + #language_label {
|
||||
#fr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#en {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* SWITCH LANGUAGE
|
||||
*/
|
||||
|
||||
#language {
|
||||
~ * .fr,
|
||||
~ * .en {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:not(:checked) ~ * .en {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
&:checked ~ * .fr {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
@@ -55,3 +55,6 @@ h6 { margin: 10px 0px; font-size: 1.0rem; }
|
||||
font-size: min(1.5vw, 0.7rem);
|
||||
}
|
||||
|
||||
a {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||