44 Commits

Author SHA1 Message Date
asus
0b55e2cdb3 removed the default open details 2024-06-07 23:29:00 +02:00
asus
9edec3714e added all cv section in both french and english, plus the phrase 2024-06-07 23:28:08 +02:00
asus
e27344b350 started to fill new content into cv 2024-06-06 12:14:58 +02:00
asus
d72c5ea2de changed hero title height from auto to 50vh to take more consistant space 2024-06-02 19:20:34 +02:00
asus
92b75b3239 reverse last commit to have the cv as a details on top hero section again 2024-06-02 19:17:17 +02:00
asus
2e03ec0ae9 Revert "fixed text error in download pdf"
to have the cv in hero section again

This reverts commit 69b111b1e2.
2024-06-02 19:15:58 +02:00
asus
32ea6d6cf4 mv cv in its own section 2024-06-02 12:24:53 +02:00
asus
69b111b1e2 fixed text error in download pdf 2024-05-30 09:13:39 +02:00
asus
3f6eb8e78b fixed error duplicate class for download 2024-05-28 11:23:28 +02:00
asus
4642f33e0a fixed error in cv download id 2024-05-28 11:21:54 +02:00
asus
af9543e1f1 added space before downlad cv 2024-05-28 11:15:32 +02:00
asus
801576af7a changed flag from position fixed to absolute so it does not follow the page while scrolling 2024-05-28 11:13:34 +02:00
asus
f414587ec3 changed language text into flags 2024-05-28 11:11:39 +02:00
asus
1056f8ea5c translation done 2024-05-28 10:22:07 +02:00
asus
ad737c57dc translate cv 2024-05-28 10:18:30 +02:00
asus
fdd16bbd3e wip almost all texts have been duplicated, still need to translate 2024-05-27 17:25:13 +02:00
asus
0c7860fee9 version compatible with old browser not supporting has 2024-05-27 17:21:48 +02:00
asus
d545c2ef28 first version of switch button for language 2024-05-27 17:12:30 +02:00
asus
e21e5b8938 changed svg files to work with older browsers for the pre white-space, using old xml:space instead 2024-05-27 15:42:56 +02:00
asus
680c5808a3 added break word on all letters for links 2024-05-27 14:23:09 +02:00
asus
8ac471331f css is now in old form 2024-05-27 14:18:48 +02:00
asus
04883ef891 renamed projects_square into projects 2024-05-27 14:10:19 +02:00
asus
8a69f25113 deleted old projects folder 2024-05-27 14:08:29 +02:00
asus
d60b3580c0 deleted unused svg mouse 2024-05-27 14:04:20 +02:00
asus
744c2aedcb mouses are now using transform instead of top to work on chrome 2024-05-27 14:00:55 +02:00
asus
86869399fb projects are now a grid 2024-05-26 13:34:59 +02:00
asus
9ba7801d03 added new version of kosmopolit gif 2024-05-26 13:34:41 +02:00
asus
6e13db6a95 added more gif 2024-05-26 12:20:22 +02:00
asus
67bc569749 wip added figcaption 2024-05-25 15:43:37 +02:00
asus
785be3e6ac wip change projects for grid of figures 2024-05-25 15:42:20 +02:00
asus
5c6f636e4d added jipf project 2024-05-25 15:41:57 +02:00
asus
d93015f2fa added second project gif 2024-05-19 12:39:19 +02:00
asus
00485dbc70 wip design is mobile first with some bugs 2024-05-19 12:26:30 +02:00
asus
527424df53 wip images in projects 2024-05-18 15:54:08 +02:00
asus
1742985974 small modifs in project section 2024-05-17 22:52:36 +02:00
asus
40048d3871 starting to put the project new content 2024-05-17 15:06:19 +02:00
asus
877c5eb271 re start animation banner 2024-05-17 14:16:57 +02:00
asus
875a79816b fixed some typo and grid error for last section 2024-05-17 14:15:55 +02:00
asus
ac836798b9 unified dot size responsivness for banner and mouses 2024-05-17 14:09:42 +02:00
asus
a40ab0b203 fixed small error in hero section : unrolling cv was creating a jump 2024-05-17 13:38:25 +02:00
asus
9302e725db small fix in hero layout for space on top 2024-05-17 11:59:09 +02:00
asus
c9150faa52 layout ok on firefox 2024-05-17 11:38:17 +02:00
asus
f5c7b07aad cv pudated 2024-05-15 22:53:24 +02:00
asus
4f5cd77c81 - removed nav
- moved cv to the hero section
- also changed it to collapse all at once instead of by sub titles
- and changed grid to auto flow instead of using named areas
2024-05-15 19:28:57 +02:00
32 changed files with 732 additions and 395 deletions

View File

@@ -1,7 +1,7 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="690"
height="1000"
width="58"
height="58"
>
<defs>
<style type="text/css">
@@ -16,29 +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: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

5
docs/flags/fr.svg Normal file
View 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
View 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
View 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
View 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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

View File

@@ -11,15 +11,15 @@
<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/nav.css" type="text/css" rel="stylesheet">
<link href="./styles/elements/sections.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>
<!--
@@ -33,22 +33,26 @@
-->
<body id="body">
<main id="top">
<nav>
<a href="#top">accueil</a>
<a href="#projects">projets</a>
<a href="#cv">cv</a>
<a href="#infos">contact</a>
</nav>
<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>
<!--
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>
<!--
HERO SECTION
-->
<section class="section hero" id="hero">
<header>
<h1 aria-label="hugo lamy" id="name" class="title">
<span aria-hidden="true" class="pre pre_small">
@@ -68,17 +72,279 @@
</h1>
<h1 aria-label="programmeur informatique" id="title" class="title">
<span aria-hidden="true" class="pre">
<span class="fr">
            
                 
              
               
           
</span>
<span class="en">
         
             
           
            
         
</span>
</span>
</h1>
<p class="subtitle">
<span class="fr">méthodique, inventif, curieux</span>
<span class="en">methodical, inventive, curious</span>
</p>
</header>
<div class="mouse"><div class="mouse_1"></div></div>
<div class="banner banner_size_5 banner_speed_30" aria-label="banner delimitation in ASCII art"></div>
<details class="cv margin_top_big">
<summary>
<h2 class="close">
<span class="fr">voir le CV</span>
<span class="en">see the CV</span>
</h2>
<h2 class="open">
<span class="fr">cacher le CV</span>
<span class="en">hide the CV</span>
</h2>
</summary>
<span class="fr"><a class="cv_download margin_bottom_big" href="docs/hugo_lamy_cv_2024_fr.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">télécharger en pdf</a></span>
<span class="en"><a class="cv_download margin_bottom_big" href="docs/hugo_lamy_cv_2024_en.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">download as pdf</a></span>
<p class="subtitle">
<span class="fr">Bonjour, je suis un développeur inventif, méthodique, et passionné par l'informatique. J'ai envie d'explorer toutes les technologies, et j'ai hâte de travailler avec vous :)</span>
<span class="en">Hello, I'm an inventive, methodical developer with a passion for IT. I'm keen to explore all kinds of technologies, and look forward to working with you. :)</span>
</p>
<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">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, trigonometrie, inputs)</span>
<span class="en">CUBE 3D: first-person game using raycasting for 3d and textures, and the keyboard for movement (c, trigonometrie, 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 pro-grams, 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">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>
</details>
<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>
@@ -91,132 +357,98 @@
PROJECTS
-->
<section id="projects" class="section">
<div class="mouse"><div class="frames mouse_3 pre"></div></div>
<header>
<h1 aria-label="projets">
<span aria-hidden="true" class="pre">
<span class="fr">
      
         
       
        
       
</span>
</h1>
</header>
<article>
<h2>projets réalisés</h2>
<figure class="project" id="ljdp">
<figcaption class="project_description">
<h3>extension wordpress :</h3><p>extension wordpress affichant les articles du site sur une carte, et permettant d'affiner la selection avec des critères</p>
<ul>
<li>lien du site : <a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to the webpage the running plugin"></a></li>
<li>lien du code : <a href="incomming" target="_blank" rel="noopener noreferrer" title="link to the source code of the plugin"></a></li>
<li>technologies : wordpress backend, php, javascript, html, css, google maps javascript API, google maps geocoding API, google maps markerclusterer</li>
</ul>
</figcaption>
<iframe
src="https://2022.lejourdesprofs.org/hugogogo/"
data-flex="center"
title="embedded plugin from it's original website"
sandbox="allow-scripts allow-popups"
></iframe>
</figure>
</article>
<div class="mouse"><div class="mouse_2"></div></div>
<div class="banner banner_size_3 banner_speed_20 banner_reverse" aria-label="banner delimitation in ASCII art"></div>
</section>
<!--
CV
-->
<section id="cv" class="section">
<header>
<h1 aria-label="cv" id="cv_ascii">
<span aria-hidden="true" class="pre">
  
  
  
  
 
<span class="en">
       
          
        
         
        
</span>
</span>
</h1>
</header>
<article>
<h2 id="cv_download"><a href="docs/hugo_lamy_cv.pdf" target="_blank" rel="noopener noreferrer" title="link to a pdf version of this section CV">version pdf</a></h2>
<details>
<summary>
<h3>Outils informatiques</h3>
</summary>
<ul>
<li>Langages : C, HTML, CSS, C++, JavaScript, script bash, PHP, Svelte, TypeScript</li>
<li>Technologies : Git, Docker, Nginx, MariaDB, Node.js, Nest.js, WebSocket, Express, npm</li>
<li>Plus : emails, sending emails, receiving emails, deleting emails ("the it crowd", Jane Barber s01e01)</li>
</ul>
</details>
<details>
<summary>
<h3>Projets informatique</h3>
</summary>
<ul>
<li>Full-stack, reprise dun site dartistes en php, <a href="https://www.bloc-house.org" target="_blank" rel="noopener noreferrer" title="link to bloc-house website"></a>, 2021</li>
<li>Backend, plugin WordPress avec API Google Maps, <a href="https://2022.lejourdesprofs.org/#programme" target="_blank" rel="noopener noreferrer" title="link to lejourdesprofs website"></a>, 2022</li>
<li>Site vitrine, association Kosmopolit, <a href="https://kosmopolit.bitbucket.io" target="_blank" rel="noopener noreferrer" title="link to kosmopolit website"></a>, 2021</li>
</ul>
</details>
<details>
<summary>
<h3>Formations informatique</h3>
</summary>
<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>
</details>
<details>
<summary>
<h3>Bénévolat</h3>
</summary>
<ul>
<li>Formateur contraception testiculaire, ZEROMILLIONS, Paris, France, 2021-2023</li>
<li>Cogestion des bénévoles d'un camp de réfugiés, UTOPIA 56, Grande-Synthe, France, 2016</li>
<li>Distribution de nourriture (Migrants-Wilson & Secours Populaire)</li>
</ul>
</details>
<details>
<summary>
<h3>Études darchitecture</h3>
</summary>
<ul>
<li>Master 1, ENSAPM, ESA, ENSAV, île-de-france, France, 2008-2014</li>
<li>Stages : PERSPECTIVA (Houston, Texas, 2009), AS (Paris, 2012), JC QUINTON (Paris 2014)</li>
</ul>
</details>
<details>
<summary>
<h3>Centres d'intérêts</h3>
</summary>
<ul>
<li>Vélo : longs voyages à vélo, construction de vélos retro-directs</li>
<li>Magie : cartes, pièces, scène</li>
<li>Autonomie : recherche des moyens de vivre avec le minimum d'affaires</li>
</ul>
</details>
</article>
<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://bitbucket.org/hugogogo" target="_blank" rel="noopener noreferrer" title="link to git repositories on bitbucket"></a>
</div>
<div class="mouse"><div class="mouse_3"></div></div>
<div class="banner banner_size_3 banner_speed_50 banner_reverse" aria-label="banner delimitation in ASCII art"></div>
<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>
<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://bitbucket.org/hugogogo/int_04_fdf" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></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>
<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://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://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>
<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://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://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>
<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://bitbucket.org/hugogogo/2022_website_kosmopolit" target="_blank" rel="noopener noreferrer" title="link to the source code on bitbucket"></a>
</figcaption>
</figure>
</div>
<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>
@@ -236,12 +468,11 @@
<p>hugogogo@protonmail.com</p>
</article>
<div class="mouse"><div class="mouse_4"></div></div>
<div class="mouse"><div class="frames mouse_4 pre"></div></div>
</section>
</main>
</body>
</html>

View File

@@ -2,7 +2,9 @@
width: 100%;
--base_banner_height: 24px;
--banner_height: var(--base_banner_height); /*default*/
height: min(26vw, var(--banner_height));
--base_dot_size: 4.2vw;
--dot_size: var(--base_dot_size); /*default*/
height: min(var(--dot_size), var(--banner_height));
background-image: url(../../docs/banners/banner_1.svg); /*default*/
background-size: contain;
@@ -54,23 +56,47 @@
* sizes
*
*/
.banner_size_0 {
background-image: url(../../docs/banners/banner_0.svg);
--banner_height: calc(var(--base_banner_height) * 1);
--dot_size: calc(var(--base_dot_size) * 1);
}
.banner_size_00 {
background-image: url(../../docs/banners/banner_00.svg);
--banner_height: calc(var(--base_banner_height) * 1);
--dot_size: calc(var(--base_dot_size) * 1);
}
.banner_size_1 {
background-image: url(../../docs/banners/banner_1.svg);
--banner_height: calc(var(--base_banner_height) * 1);
--dot_size: calc(var(--base_dot_size) * 1);
}
.banner_size_2 {
background-image: url(../../docs/banners/banner_2.svg);
--banner_height: calc(var(--base_banner_height) * 2);
--dot_size: calc(var(--base_dot_size) * 2);
}
.banner_size_3 {
background-image: url(../../docs/banners/banner_3.svg);
--banner_height: calc(var(--base_banner_height) * 3);
--dot_size: calc(var(--base_dot_size) * 3);
}
.banner_size_4 {
background-image: url(../../docs/banners/banner_4.svg);
--banner_height: calc(var(--base_banner_height) * 4);
--dot_size: calc(var(--base_dot_size) * 4);
}
.banner_size_5 {
background-image: url(../../docs/banners/banner_5.svg);
--banner_height: calc(var(--base_banner_height) * 5);
--dot_size: calc(var(--base_dot_size) * 5);
}
/* specific banners */
#top_banner {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
}

View File

@@ -1,38 +1,60 @@
#cv {
/*
place-items: center;
place-self: stretch;
*/
grid-template-columns: 1fr minmax(auto, 900px) 1fr;
}
#cv header {
height: 300px;
}
#cv article {
/*
.cv {
width: auto;
max-width: 900px;
*/
}
#cv article h2 {
.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;
}
.cv .cv_download {
display: inline-block;
width: 100%;
margin-top: 30px;
text-align: center;
}
#cv #cv_ascii {
.cv[open] summary {
list-style-type: "▾ ";
}
.cv[open] summary .open {
display: inline;
}
.cv[open] summary .close {
display: none;
}
.cv > *:last-child {
margin-bottom: 100px;
}
.cv .banner {
margin: 0px 0px 50px;
/*
place-self: center;
margin: 50px 50px;
width: calc(100% - 100px);
*/
}
#cv #cv_download {
/*
place-self: center;
*/
}
#cv details {
margin: 0px 0px 0px 25px;
}
#cv summary {
padding: 10px 0px;
}
#cv .mouse {
.cv h2 {
margin-top: 100px;
}
.cv ul {
border: 1px dashed black;
padding: 20px;
padding-left: 40px;
}

View File

@@ -1,16 +1,18 @@
#hero {
grid-template-rows: 1fr auto auto;
min-height: 100vh;
/*
grid-template-rows: 1fr 50px auto auto;
*/
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
*
grid-template-rows: 1fr auto 1fr;
grid-template-rows: auto auto 1fr;
*/
grid-template-rows: 50vh auto 1fr;
}
#hero header {
padding-top: 50px;
#hero .subtitle {
text-align: center;
display:inline-block;
max-width: 700px;
}
#hero .mouse {
}
#hero .banner {
}

View File

@@ -1,4 +1,3 @@
#infos article {
display: flex;
flex-direction: column;

View File

@@ -0,0 +1,52 @@
input#language {
display: none;
}
label#language_label {
position: fixed;
position: absolute;
top: 20px;
right: 20px;
padding: 10px;
cursor: pointer;
z-index: 1;
}
label#language_label .flag {
width: 20px;
}
/*
* FR
*/
input#language:not(:checked) + label #fr {
display: inline;
}
input#language:checked + label #fr {
display: none;
}
input#language:not(:checked) ~ * span.fr {
display: none;
}
input#language:checked ~ * span.fr {
display: inline;
}
/*
* EN
*/
input#language:not(:checked) + label #en {
display: none;
}
input#language:checked + label #en {
display: inline;
}
input#language:not(:checked) ~ * span.en {
display: inline;
}
input#language:checked ~ * span.en {
display: none;
}

View File

@@ -7,42 +7,30 @@
margin: auto;
width: fit-content;
overflow: hidden;
> div {
position: relative;
top: 0%;
/*
* for pseudo elements ::before and ::after
* for some reason it does not work when applied to them directly
* if they are not position absolute
*/
white-space: pre;
line-height: 0.8;
font-size: 1.0rem;
--tframes: 2s;
animation-name: mouse_move;
animation-iteration-count: infinite;
animation-duration: var(--tframes);
animation-direction: normal;
animation-timing-function: steps(1);
}
> div::before {
position: relative;
top: 0px;
left: 0px;
}
> div::after {
position: absolute;
top: 100%;
left: 0px;
}
}
.mouse .frames {
position: relative;
animation: mouse_move infinite 2s normal steps(4);
}
.mouse .frames::before {
position: relative;
top: 0px;
left: 0px;
}
.mouse .frames::after {
position: absolute;
top: 100%;
left: 0px;
}
/*
* using 'transform' instead of 'top', because 'top' needs
* the parent to have an explicit height
* but in this case its height is according to the children
*
*/
@keyframes mouse_move {
0% {top: 0%;}
25% {top: -100%;}
50% {top: -200%;}
75% {top: -300%;}
0% {transform: translateY(0%);}
100% {transform: translateY(-400%);}
}

View File

@@ -1,30 +0,0 @@
nav {
display: flex;
flex-direction: row;
justify-content: center;
position: fixed;
top: 0;
background-color: #f6f6f6;
z-index: 1;
width: 100vw;
font-size: min(4vw, 1.5rem);
}
nav a {
position: relative;
padding: 10px min(5%, 20px);
height: fit-content;
text-decoration: none;
color: inherit;
}
nav a:before {
content: "•";
position: absolute;
left: 0px;
}
nav a:after {
content: "•";
position: absolute;
right: 0px;
}

View File

@@ -1,31 +1,22 @@
#projects header {
height: 300px;
}
#projects .project {
max-width: 900px;
display: flex;
flex-direction: column;
}
#projects article h2 {
text-align: center;
}
#projects .project_description {
padding: 20px 0px;
}
#projects #ljdp iframe {
height: 550px;
border: none;
overflow: hidden;
}
@media only screen and (min-width: 741px) {
#projects #ljdp iframe {
height: 660px;
#projects {
header {
height: 300px;
}
}
#projects .project_description p {
margin: 0px 0px 10px 0px;
#projects .projects_grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, auto));
grid-template-columns: repeat(2, minmax(100px, auto));
grid-template-columns: repeat(2, minmax(100px, 500px));
grid-gap: 20px;
}
#projects .projects_grid figure {
}
#projects .projects_grid figure figcaption {
text-align: left;
margin-bottom: 100px;
}
#projects .mouse {
margin-top: 100px;
}

View File

@@ -1,41 +0,0 @@
section header { grid-area: header; }
section article { grid-area: article; }
section .mouse { grid-area: mouse; }
section .banner { grid-area: banner; }
section {
display: grid;
margin: 0px;
width: 100vw;
grid:
' . header . ' auto
' . article . ' auto
' . mouse . ' auto
' banner banner banner ' auto
/ 1fr auto 1fr ;
grid-gap: 10px;
gap: 10px;
min-height: 100vh;
}
section header {
display: flex;
flex-direction: column;
place-content: center;
}
section footer {
display: flex;
flex-direction: column;
}
section header h1 {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
section .banner {
overflow-x: hidden;
}

View File

@@ -16,6 +16,21 @@
}
.margin_top_small {
margin-top: 10px;
}
.margin_bottom_small {
margin-bottom: 10px;
}
.margin_top_big {
margin-top: 50px;
}
.margin_bottom_big {
margin-bottom: 50px;
}
/*
DATA-FLEX

38
styles/sections.css Normal file
View File

@@ -0,0 +1,38 @@
section {
display: grid;
margin: 0px;
width: 100vw;
grid-template-columns: auto auto auto;
grid-auto-rows: auto;
grid-gap: 10px;
gap: 10px;
min-height: 100vh;
justify-items: center;
text-align: center;
}
section header {
display: flex;
flex-direction: column;
place-content: center;
}
section header h1 {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
section article {
text-align: left;
}
section > * {
grid-column: 2 / span 1;
}
section > .grid_full_width {
grid-column: 1 / span 3;
}
section .banner {
overflow-x: hidden;
}

View File

@@ -4,7 +4,7 @@
html {
font-size: var(--base_font_size);
}
body, main {
body {
overflow-x: clip;
margin: auto;
width: fit-content;

View File

@@ -34,19 +34,7 @@ li {
li::marker {
font-size: 1.8rem;
}
details summary {
/*
list-style-position: inside;
*/
list-style-position: outside;
}
details summary {
font-size: 1.8rem;
list-style-type: "▸ ";
}
details[open] summary {
list-style-type: "▾ ";
}
a:empty::after {
content: attr(href);
}
@@ -67,3 +55,6 @@ h6 { margin: 10px 0px; font-size: 1.0rem; }
font-size: min(1.5vw, 0.7rem);
}
a {
word-break: break-all;
}