-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.html
22 lines (16 loc) · 43.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html><html lang="en"><head><meta charset="utf8"><title>Antoine du Hamel | Curriculum Vitae</title><meta name="description" content="Antoine du Hamel's résumé"><meta name="author" content="Antoine du Hamel"><meta name="theme-color" content="#ef5350"><link rel="manifest" href="/manifest.json"><link rel="canonical" href="https://aduh95.github.io/"><link rel="icon" type="image/png" href="icons/16.png" sizes="16x16"><link rel="icon" type="image/png" href="icons/196.png" sizes="196x196"><link rel="icon" type="image/png" href="icons/32.png" sizes="32x32"><meta name="viewport" content="width=device-width, initial-scale=1"><!--
You're looking under the hood?
I hope what you are looking at pleases you; it has been generated by some open
source JavaScript tools I have written. If you are interested in how I achieve
this, you can find a more human readable version on the
[git repository](https://github.com/aduh95/aduh95.github.io).
This web page have been written with the goal of avoiding external libraries at
runtime to generate the smallest output, and allow users that do not want to run
JavaScript code to have a decent experience. It's also a playground for me to
use modern tools and APIs to write my own plugins – those may not be suitable
for another project, but they can certainly be used for inspiration.
LICENSE INFORMATION: The following document is licensed under
[CC BY-NC-ND 4.0](https://github.com/aduh95/aduh95.github.io/blob/master/LICENSE).
Generation timestamp: 2024-09-18T09:15:36.132Z
--><style>@charset "UTF-8";.f,svg:not(:root).f{overflow:visible}.f{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.f.fa-w-10{width:.625em}.f.fa-w-12{width:.75em}.f.fa-w-14{width:.875em}.f.fa-w-16{width:1em}.f.fa-w-18{width:1.125em}.f.fa-w-20{width:1.25em}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}body>aside{background-color:#336b87;color:#fff;grid-area:a;justify-content:space-between;line-height:1.5rem}body>aside,body>aside header{display:flex;flex-direction:column}body>aside header>img{border-radius:50%;margin:auto;max-height:10rem;width:auto}body>aside header>ul{display:grid;grid-template-columns:1.5rem auto}body>aside header>ul>li{display:contents}body>aside header>ul .f{margin-top:.25rem}body>aside header>ul a{color:inherit;text-decoration:none}body>aside header>ul a:hover{text-decoration:underline}@media print{body>aside header>ul{padding-left:1rem}}body>aside p{padding-left:2rem;text-align:justify}@media (min-width:992px){body>aside p{max-width:30vw;padding-left:3rem}}body>aside h3{margin:2rem 0 1rem}body>aside ul{margin:0;padding:0 0 0 1rem}@media (min-width:992px){body>aside ul{padding-left:2rem}}body>aside li{list-style:none}section.experience details,section.experience ul{margin-bottom:.5rem;padding-left:1rem}section.experience ul>li{line-height:1.25em}section.experience ul>li time:first-child:last-child{display:inline-block}section.experience ul>li time:first-child:last-child:first-letter{text-transform:uppercase}@media screen{section.experience ul>li:first-child>.f{margin-right:.5ch;min-width:auto}}section.experience table{border-collapse:collapse;font-size:1rem;margin:0 1rem 2rem}section.experience table a{color:inherit}section.experience table tr:not(:first-child)>td:not(:first-child:last-child){padding:.25rem 0}section.experience table tr:not(:first-child):not(:last-child)>td:not(:first-child:last-child){border-bottom:1px solid rgba(0,0,0,.667)}section.experience table td:first-child:last-child{font-size:.25rem}section.experience table td:nth-child(n+3){white-space:nowrap}section.experience,section.experience article,section.experience details{width:100%}section.experience p{line-height:1.5rem;margin:0;margin-bottom:inherit}section.experience article{margin-top:1rem}@media print{section.experience article{margin-top:0}}@media (max-width:767.98px){section.experience article:not(:last-child):after{border-top:1px solid #aaa;content:"";display:block;margin:1rem}}section.experience details{position:relative}section.experience details:hover[open]{will-change:height}section.experience details:hover:not([open]) p{will-change:font-size}section.experience details summary{height:min-content;line-height:1.5rem;outline:none}@media screen{section.experience details .f{display:none}}section.experience details>summary>span{cursor:pointer;display:block;font-style:italic;margin-bottom:-1.5rem;margin-left:1em;opacity:1;text-decoration:underline;transform:translateY(-1.5rem);transition:opacity .3s ease-in;text-decoration-skip:ink}section.experience details[open]>summary{float:left}section.experience details[open]>summary>span{animation:c .14s ease-out;font-size:0;max-width:calc(100% - 3rem);opacity:0;position:absolute}section.experience details[open]>p{animation:a .35s ease-out;letter-spacing:0;margin-left:1rem;min-height:1.5rem;text-align:justify}@media (max-width:767.98px){section.experience details[open]{animation:b .3s ease-in;padding-left:0}section.experience details[open]>summary span{max-width:calc(100vw - 5rem)}}.movable-element,.movable-element-after:after{transform:translateY(var(--movable-height));transition:transform .3s ease-in}@media (min-width:768px){body.moving-elements>main{margin-bottom:var(--movable-height,1rem);transition:margin-bottom .3s ease-in}}@media (prefers-reduced-motion){*{animation-duration:0!important;transition-duration:0!important}}@keyframes a{0%{font-size:0;line-height:0;opacity:0}60%{font-size:.5em;letter-spacing:.22rem;line-height:1.5rem;opacity:0}80%{font-size:1em;letter-spacing:0;line-height:1.5rem;opacity:.5}to{font-size:1em;letter-spacing:0;line-height:1.5rem;opacity:1}}@keyframes b{0%{transform:translateX(2rem)}to{transform:translateX(0)}}@keyframes c{0%{font-size:1rem;opacity:1}to{font-size:1rem;opacity:0}}body>header{background-color:#2a3132;color:#fff;display:flex;flex-direction:column;grid-area:b;justify-content:center;text-align:center}@media screen and (prefers-color-scheme:dark){body>header{background-color:#90afc5;color:#212529}}body>header h5{font-size:large}.meter-section circular-meter .bar,.meter-section circular-meter .fill{stroke-width:.2em;stroke:var(--balloon-color);height:1em;width:1em}.meter-section{display:flex;flex-wrap:wrap;gap:0 10px;justify-content:space-evenly}.meter-section>h3{align-self:end;width:100%}.meter-section h5{display:block;line-height:2rem}.meter-section>article{display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;text-align:center}@media screen{.meter-section>article{margin-bottom:.5rem}}.meter-section>article:hover>h5{font-weight:700}.meter-section>article:hover circular-meter:after{height:92%;left:4%;line-height:3.7em;top:4%;width:92%}.meter-section>article:hover circular-meter.ballooned:before,.meter-section>article:hover circular-meter>span{font-size:.2em;line-height:3.33em;opacity:1;visibility:visible}.meter-section meter{min-width:1em;padding:.1rem;transform:translateX(10%);width:80%}.meter-section circular-meter{border-radius:50%;display:flex;font-size:3rem;margin:0 auto .1em;overflow:visible;padding:0;position:relative;--balloon-color:hsla(0,0%,6%,.95)}@media screen and (prefers-color-scheme:dark){.meter-section circular-meter{--balloon-color:#763626}}@media print{.meter-section circular-meter{font-size:2.5rem}}.meter-section circular-meter :after,.meter-section circular-meter :before{box-sizing:content-box}.meter-section circular-meter>span{background-color:var(--balloon-color);border-radius:4px;bottom:0;color:#fff;font-size:14px;font-size:0;line-height:5em;padding:.5em 1em;text-align:center;transform:translate(-50%,calc(100% + 5px));white-space:nowrap;z-index:2;z-index:1}.meter-section circular-meter:before,.meter-section circular-meter>span{left:50%;opacity:0;pointer-events:none;position:absolute;transition:all .18s ease-out .18s}.meter-section circular-meter:before{border:5px solid transparent;border-bottom:5px solid var(--balloon-color);content:"";height:0;margin-top:.5px;top:100%;transform:translate(-50%,-50%);width:0;z-index:2}.meter-section circular-meter:after{background-color:#fff;border-radius:50%;color:#2a3132;content:attr(data-title);display:block;font-size:.25em;height:84%;left:8%;line-height:3.4em;position:absolute;top:8%;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in;width:84%}.meter-section circular-meter .slice{height:1em;width:1em;stroke-linecap:round}.meter-section circular-meter .bar{transform:rotate(-90deg);transform-origin:center;fill:none;stroke-dasharray:var(--stroke-dasharray),360}.meter-section circular-meter .fill{opacity:.1}footer{background-color:#2a3132;color:#fff;grid-area:c;text-align:center}@media screen and (prefers-color-scheme:dark){footer{background-color:#90afc5;color:#212529}}footer a{color:inherit;text-decoration:none}:root[lang=en] footer a[href="#en"],:root[lang=fr] footer a[href="#fr"]{display:none}footer a[lang]:hover{text-decoration:underline}:root[lang=en] [lang]:not([lang=en]),:root[lang=fr] [lang]:not([lang=fr]){display:none}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#2a3132;color:#212529;overflow-x:hidden}body,html{width:100%}body{background-color:#f8f8f8;display:grid;grid-template-areas:"b" "a" "d" "c";margin:auto;max-width:1920px;min-height:100vh}@media screen and (prefers-color-scheme:dark){body{background-color:#2a3132;color:#fff}}@media (min-width:768px),print{body{grid-template-areas:"b b" "a d" "c c";grid-template-columns:1fr 2fr}}@media print{body{grid-template-areas:"b b" "a d"}}body>*{padding:1rem}main{display:flex;flex-wrap:wrap;gap:0 1rem;grid-area:d;margin-bottom:1rem}@media (max-width:767.98px){main>section.col,main>section[class*=col-]{padding-left:0;padding-right:0}}main>section{margin-bottom:2rem}main h5{color:#763626;display:inline-block;font-size:1rem}@media screen and (prefers-color-scheme:dark){main h5{color:#eac435}}main h5~h6{display:inline-block}main h5~h6:before{content:"—";display:inherit;padding:0 .4em}main ul>li{display:inline-block}main ul>li a{color:inherit;text-decoration:none}main ul>li:before{padding-right:.3em}main ul>li:after{content:"|";padding:0 .5rem}main ul>li:empty:after,main ul>li:last-child:after{font-size:0;visibility:hidden}@media print{:root{font-size:12px}main{font-size:16px;margin-bottom:0}main>section{margin-bottom:1rem}main>section:last-child{margin-bottom:0}footer{display:none}h5,ul{margin-bottom:.25rem}.education details,.education ul,.experience details,.experience ul{font-size:1rem;margin:.5rem 0}details summary{transform:translate(-1em,-3.5px);visibility:hidden}details summary span{text-decoration:none!important}details summary>.f{left:1em;position:absolute;top:0;visibility:visible}details[open] summary{position:absolute}details:not([open]) summary>span{line-height:.9em;padding-left:1.5rem;visibility:visible}}@page{margin:0;size:A4 portrait}h1,h2,h3,h4,h5,h6{margin:0}h1{font-size:3rem}h1,h3{font-weight:100}h3{font-size:2rem}@media print{h3{margin-bottom:1rem}}*{box-sizing:border-box}.f{min-width:1.5rem;text-align:center}</style></head>
<body><header><h1>Antoine du Hamel</h1><h5 lang="en">Software engineer specialized in Node.js app development</h5><h5 lang="fr">Ingénieur Diplômé en informatique et électronique, spécialisé en développement Node.js</h5></header><main><section class="experience"><h3 lang="en">Experience</h3><h3 lang="fr">Expérience professionnelle</h3><article><h5>Open-source contributions</h5><h6 lang="en">On my free time and on company sponsored time</h6><table><colgroup><col><col width="160"><col width="120"><col width="120"></colgroup><tbody><tr><td><svg aria-hidden="true" class="f fa-calendar fa-w-14"><symbol id="fa0" viewBox="0 0 448 512"><path fill="currentColor" d="M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12m436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12"/></symbol><symbol id="fa1" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></symbol><symbol id="fa2" viewBox="0 0 496 512"><path fill="currentColor" d="M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64m324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6M487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64M120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64m39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6M19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6z"/></symbol><symbol id="fa3" viewBox="0 0 320 512"><path fill="currentColor" d="M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36"/></symbol><symbol id="fa4" viewBox="0 0 640 512"><path fill="currentColor" d="M622.34 153.2 343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6M352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47z"/></symbol><symbol id="fa5" viewBox="0 0 384 512"><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0"/></symbol><use href="#fa0"/></svg></td><td colspan="3"><span lang="en">Since <time datetime="2020-10-07T00:00:00.000Z">Wed Oct 07 2020</time></span><span lang="fr">Depuis <time datetime="2020-10-07T00:00:00.000Z">07/10/2020</time></span></td></tr><tr><td> </td></tr><tr><td><svg aria-hidden="true" class="f fa-node fa-w-20" viewBox="0 0 640 512"><path fill="currentColor" d="M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7m46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8m54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1m-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3s4.2 9.4 9.3 9.4c5.2-.1 9.4-4.3 9.4-9.4m-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3m-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8M137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2s2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1s2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4m-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7m-74.3-124.9-.8.5h1.1zm76.2 130.2-.4-.7v.9z"/></svg></td><td>Node.js (<span lang="en">TSC member</span><span lang="fr">Member du TSC</span>)</td><td><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg> <a href="https://github.com/nodejs/node/commits?author=aduh95" target="_blank" rel="noopener">nodejs/node</a></td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://nodejs.org" target="_blank" rel="noopener">nodejs.org</a></td></tr><tr><td><svg aria-hidden="true" class="f fa-key fa-w-16" viewBox="0 0 512 512"><path fill="currentColor" d="M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A24 24 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001M336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48"/></svg></td><td>Caritat (<span lang="en">Lead maintainer</span><span lang="fr">Logiciel de vote électronique open-source</span>)</td><td><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg> <a href="https://github.com/nodejs/caritat/commits?author=aduh95" target="_blank" rel="noopener">nodejs/caritat</a></td><td></td></tr><tr><td><svg aria-hidden="true" class="f fa-vuejs fa-w-14" viewBox="0 0 448 512"><path fill="currentColor" d="M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5z"/></svg></td><td>V8 (<span lang="en">Occasional contributor</span><span lang="fr">Contributeur occasionel</span>)</td><td><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg> <a href="https://github.com/v8/v8/commits?author=aduh95" target="_blank" rel="noopener">v8/v8</a></td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://v8.dev" target="_blank" rel="noopener">v8.dev</a></td></tr></tbody></table></article><article><h5>Transloadit</h5><h6 lang="en">Working full-time remotely</h6><table><colgroup><col><col width="160"><col width="120"><col width="120"></colgroup><tbody><tr><td><svg aria-hidden="true" class="f fa-calendar fa-w-14"><use href="#fa0"/></svg></td><td colspan="3"><span lang="en">Between <time datetime="2021-06-01T00:00:00.000Z">Tue Jun 01 2021</time> and <time datetime="2024-09-05T00:00:00.000Z">Thu Sep 05 2024</time></span><span lang="fr">De <time datetime="2021-06-01T00:00:00.000Z">01/06/2021</time> à <time datetime="2024-09-05T00:00:00.000Z">05/09/2024</time></span></td></tr><tr><td> </td></tr><tr><td><svg aria-hidden="true" class="f fa-robot fa-w-20" viewBox="0 0 640 512"><path fill="currentColor" d="M32 224h32v192H32a31.96 31.96 0 0 1-32-32V256a31.96 31.96 0 0 1 32-32m512-48v272a64.063 64.063 0 0 1-64 64H160a64.063 64.063 0 0 1-64-64V176a79.974 79.974 0 0 1 80-80h112V32a32 32 0 0 1 64 0v64h112a79.974 79.974 0 0 1 80 80m-280 80a40 40 0 1 0-40 40 39.997 39.997 0 0 0 40-40m-8 128h-64v32h64Zm96 0h-64v32h64Zm104-128a40 40 0 1 0-40 40 39.997 39.997 0 0 0 40-40m-8 128h-64v32h64Zm192-128v128a31.96 31.96 0 0 1-32 32h-32V224h32a31.96 31.96 0 0 1 32 32"/></svg></td><td colspan="2">Transloadit (<span lang="en">Full-stack developer</span><span lang="fr">Ingénieur logiciel</span>)</td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://transloadit.com" target="_blank" rel="noopener">transloadit.com</a></td></tr><tr><td><svg aria-hidden="true" class="f fa-dog fa-w-18" viewBox="0 0 576 512"><path fill="currentColor" d="M298.06 224 448 277.55V496a16 16 0 0 1-16 16h-64a16 16 0 0 1-16-16V384H192v112a16 16 0 0 1-16 16h-64a16 16 0 0 1-16-16V282.09C58.84 268.84 32 233.66 32 192a32 32 0 0 1 64 0 32.06 32.06 0 0 0 32 32ZM544 112v32a64 64 0 0 1-64 64h-32v35.58l-128-45.71V48c0-14.25 17.22-21.39 27.31-11.31L374.59 64h53.63c10.91 0 23.75 7.92 28.62 17.69L464 96h64a16 16 0 0 1 16 16m-112 0a16 16 0 1 0-16 16 16 16 0 0 0 16-16"/></svg></td><td>Uppy (<span lang="en">Web developer</span><span lang="fr">Développeur web</span>)</td><td><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg> <a href="https://github.com/transloadit/uppy/commits?author=aduh95" target="_blank" rel="noopener">transloadit/uppy</a></td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://uppy.io" target="_blank" rel="noopener">uppy.io</a></td></tr><tr><td><svg aria-hidden="true" class="f fa-snowflake fa-w-14" viewBox="0 0 448 512"><path fill="currentColor" d="m440.3 345.2-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21"/></svg></td><td>Nix (<span lang="en">Maintainer of nodejs packages</span><span lang="fr">Maintenance</span>)</td><td><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg> <a href="https://github.com/nixos/nixpkgs/commits?author=aduh95" target="_blank" rel="noopener">nixos/nixpkgs</a></td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://nixos.org" target="_blank" rel="noopener">nixos.org</a></td></tr></tbody></table></article><article><h5>Earlier experiences</h5><table><colgroup><col><col width="160"><col width="120"><col width="120"></colgroup><tbody><tr><td><svg aria-hidden="true" class="f fa-calendar fa-w-14"><use href="#fa0"/></svg></td><td colspan="3"><span lang="en">Between <time datetime="2018-04-03T00:00:00.000Z">Tue Apr 03 2018</time> and <time datetime="2021-05-31T00:00:00.000Z">Mon May 31 2021</time></span><span lang="fr">De <time datetime="2018-04-03T00:00:00.000Z">03/04/2018</time> à <time datetime="2021-05-31T00:00:00.000Z">31/05/2021</time></span></td></tr><tr><td> </td></tr><tr><td><svg aria-hidden="true" class="f fa-shopping-cart fa-w-18" viewBox="0 0 576 512"><path fill="currentColor" d="m528.12 301.319 47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681"/></svg></td><td colspan="2">eComas (<span lang="en">Built their website and some internal tools</span><span lang="fr">Chef de projet Web</span>)</td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://e-comas.com" target="_blank" rel="noopener">e-comas.com</a></td></tr><tr><td><svg aria-hidden="true" class="f fa-bolt fa-w-10"><use href="#fa3"/></svg></td><td colspan="2">Schneider Electric (<span lang="en">Web Programming Engineer and Data Analyst</span><span lang="fr">Ingénieur Développement Web</span>)</td><td><svg aria-hidden="true" class="f fa-globe fa-w-16"><use href="#fa2"/></svg> <a href="https://se.com" target="_blank" rel="noopener">se.com</a></td></tr></tbody></table></article></section><section class="education"><h3 lang="en">Education</h3><h3 lang="fr">Formation</h3><article><h5 lang="en">Groupe ESEO (Graduate Electronics Engineering School)</h5><h5 lang="fr">Groupe ESEO (Grande école d'ingénieur)</h5><h6 lang="en">Engineering degree</h6><h6 lang="fr">Diplôme d'Ingénieur</h6><ul><li class="date"><svg aria-hidden="true" class="f fa-graduation-cap fa-w-20"><use href="#fa4"/></svg>2018</li><li class="place"><svg aria-hidden="true" class="f fa-map-marker fa-w-12"><use href="#fa5"/></svg>Angers, France</li></ul></article><article><h5 lang="en">French baccalauréat (A-level)</h5><h5 lang="fr">Baccalauréat</h5><h6 lang="fr">Mention Bien</h6><ul><li class="date"><svg aria-hidden="true" class="f fa-graduation-cap fa-w-20"><use href="#fa4"/></svg>2013</li><li class="place"><svg aria-hidden="true" class="f fa-map-marker fa-w-12"><use href="#fa5"/></svg>Bordeaux, France</li></ul></article></section><section class="languages meter-section"><h3 lang="en">Languages</h3><h3 lang="fr">Langues</h3><article><h5 lang="en">English</h5><h5 lang="fr">Anglais</h5><meter value="0.93" title="TOEIC"><span lang="en">Quite fluent (TOEIC score 930)</span><span lang="fr">Courant (TOEIC 930)</span></meter></article><article><h5 lang="en">French</h5><h5 lang="fr">Français</h5><meter value="1" title=""><span lang="en">Native speaker</span><span lang="fr">Langue maternelle</span></meter></article><article><h5 lang="en">German</h5><h5 lang="fr">Allemand</h5><meter value="0.5" title="B1"><span lang="en">Working knowledge (Goethe-Zertifikat B1)</span><span lang="fr">Notions élémentaires (Goethe-Zertifikat B1)</span></meter></article></section><section class="programming_languages meter-section"><h3 lang="en">Programming Languages</h3><h3 lang="fr">Programmation informatique</h3><article><h5>JavaScript</h5><meter value="0.95" title="95%"></meter></article><article><h5>HTML/CSS</h5><meter value="0.75" title="75%"></meter></article><article><h5>SQL</h5><meter value="0.7" title="70%"></meter></article><article><h5>C / C++</h5><meter value="0.6" title="60%"></meter></article><article><h5>Python</h5><meter value="0.6" title="60%"></meter></article><article><h5>PHP</h5><meter value="0.5" title="50%"></meter></article></section></main><aside><header><img src="./antoineduhamel.jpg" alt="Antoine du Hamel" width="280" height="360"><ul class="personal_information"><li class="address"><svg aria-hidden="true" class="f fa-map fa-w-18" viewBox="0 0 576 512"><path fill="currentColor" d="M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.01 32.01 0 0 0 0 117.66M192 416l192 64V96L192 32zM554.06 33.16 416 96v384l139.88-55.95A32 32 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86"/></svg><a href="https://www.youtube.com/watch?v=dQw4w9WgXcQ" target="_blank" rel="noopener">France</a></li><li class="email"><svg aria-hidden="true" class="f fa-envelope fa-w-16" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7M256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4"/></svg><a href="mailto:duhamelantoine1995@gmail.com" target="_blank" rel="noopener">duhamelantoine1995@gmail.com</a></li><li class="github"><svg aria-hidden="true" class="f fa-github fa-w-16"><use href="#fa1"/></svg><a href="https://www.github.com/aduh95" target="_blank" rel="noopener">aduh95</a></li><li class="linkedin"><svg aria-hidden="true" class="f fa-linkedin fa-w-14" viewBox="0 0 448 512"><path fill="currentColor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg><a href="https://www.linkedin.com/in/antoine-du-hamel/" target="_blank" rel="noopener">/in/antoine-du-hamel</a></li></ul></header><section class="about"><h3 lang="en">About me</h3><h3 lang="fr">À propos de moi</h3><p lang="en">Building upon a foundation laid in the open-source community – particularly contributions to Node.js – I carved out a niche for myself as a software engineer with a forte in enhancing Developer Experience (DX). This path led me to Transloadit, where I was able to further my career and gather some experience in cloud computing. My strength lies in creating tools that simplify and improve the development process, a passion that continues to drive my work in the tech industry.</p><p lang="fr">Actuellement ingénieur diplômé de l'ESEO (majeure Systèmes Embarqués, infrastructure Linux, développement web et Android), je suis passionné par les nouvelles technologies et le suivi de projet informatique. Mon objectif : me lancer dans la gestion de projet pour me professionnaliser vers le management d'équipe.</p></section><section class="skills"><h3 lang="en">Skills</h3><h3 lang="fr">Points forts</h3><ul><li><svg aria-hidden="true" class="f fa-bullseye fa-w-16" viewBox="0 0 496 512"><path fill="currentColor" d="M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8m0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184m0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128m0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64"/></svg><span lang="en">Autonomous</span><span lang="fr">Autonome</span></li><li><svg aria-hidden="true" class="f fa-pencil-alt fa-w-16" viewBox="0 0 512 512"><path fill="currentColor" d="m497.9 142.1-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9M284.2 99.8 21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0M124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0M88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88z"/></svg><span lang="en">Versatile</span><span lang="fr">Polyvalent</span></li><li><svg aria-hidden="true" class="f fa-bolt fa-w-10"><use href="#fa3"/></svg><span lang="en">Creative mind</span><span lang="fr">Esprit créatif</span></li><li><svg aria-hidden="true" class="f fa-assistive-listening-systems fa-w-16" viewBox="0 0 512 512"><path fill="currentColor" d="M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24m24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176m-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32M32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32m480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442s2.81 30.549 17.442 35.55c85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28M152.971 439.029l-80-80L39.03 392.97l80 80z"/></svg><span lang="en">Focused</span><span lang="fr">Attentif</span></li><li><svg aria-hidden="true" class="f fa-handshake fa-w-20" viewBox="0 0 640 512"><path fill="currentColor" d="M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4M544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16M0 384h64c17.7 0 32-14.3 32-32V128.2H0zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16m435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1"/></svg><span lang="en">Resourceful</span><span lang="fr">Entreprenant</span></li><li><svg aria-hidden="true" class="f fa-tachometer-alt fa-w-18" viewBox="0 0 576 512"><path fill="currentColor" d="M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288m0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96M96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32m48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32m246.77-72.41-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36m14.66 57.2 15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22M480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32"/></svg><span lang="en">Enthusiastic</span><span lang="fr">Enthousiaste</span></li></ul></section><section class="hobbies"><h3 lang="en">Hobbies</h3><h3 lang="fr">Loisirs</h3><ul><li><svg aria-hidden="true" class="f fa-music fa-w-16" viewBox="0 0 512 512"><path fill="currentColor" d="M470.38 1.51 150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49"/></svg><span lang="en">Piano</span><span lang="fr">Piano</span></li><li><svg aria-hidden="true" class="f fa-train fa-w-14" viewBox="0 0 448 512"><path fill="currentColor" d="M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96m-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24m-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56"/></svg><span lang="en">Abroad Travels</span><span lang="fr">Voyages</span></li><li><svg aria-hidden="true" class="f fa-coffee fa-w-20" viewBox="0 0 640 512"><path fill="currentColor" d="M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96M512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64"/></svg><span lang="en">Coffee</span><span lang="fr">Café</span></li></ul></section></aside><footer>© 2020 Antoine du Hamel – <a lang="en" target="_blank" rel="noopener" href="https://github.com/aduh95/aduh95.github.io/">View the code</a><a lang="fr" target="_blank" rel="noopener" href="https://github.com/aduh95/aduh95.github.io/">Voir code source</a></footer><script type="module">var e=["en","fr"];function t(e,t=null,...n){const o=document.createElementNS("http://www.w3.org/2000/svg",e);if(t&&("object"==typeof t.style&&(Object.entries(t.style).forEach((([e,t])=>o.style.setProperty(e,t))),t.style=void 0),t.className&&(o.setAttribute("class",t.className),t.className=void 0),Object.entries(t).filter((([e,t])=>void 0!==t)).forEach((([e,t])=>o.setAttribute(e,t)))),n.length){const e=n.flat(1/0);o.append(...e.filter(Boolean))}return o}const n="circular-meter";class o extends HTMLElement{static from(e){const o=document.createElement(n);e.hasChildNodes()&&(o.classList.add("ballooned"),o.append(...e.children),o.setAttribute("onclick",""),o.setAttribute("tabindex","0")),o.dataset.title=e.title,o.setAttribute("value",e.value),o.append(t("svg",{viewBox:"0 0 120 120",className:"slice","aria-hidden":"true"},t("circle",{className:"fill",r:"56",cx:"60",cy:"60"}),t("circle",{className:"bar",r:"56",cx:"60",cy:"60"}))),e.replaceWith(o)}static get observedAttributes(){return["value"]}attributeChangedCallback(e,t,n){this.style.setProperty("--stroke-dasharray",360*Number(n))}}customElements.define(n,o),Array.from(document.querySelectorAll("meter"),o.from);const s=window.document.documentElement,i=t=>{const n=t.substr(0,2);if(e.includes(n)){const e=t.split("-")[1];t=n,e&&(t+="-"+e)}else t="en-"+(t.split("-")[1]||"US");return t},a=function(){const{locale:e,lang:t}=r(),n=document.querySelectorAll("time");s.setAttribute("lang",t);for(const t of n){const n=t.dateTime||t.getAttribute("datetime")||"";t.innerText=new Date(n).toLocaleDateString(e,{year:"numeric",month:"long",timeZone:"UTC"})}};if(!location.hash){const{navigator:e}=window;location.hash=i(e.userLanguage||"languages"in e&&e.languages[0]||e.language||s.getAttribute("lang")||"")}function r(){const e=i(location.hash.replace(/^#/,""));return{locale:e,lang:e.substr(0,2)}}window.addEventListener("hashchange",a),document.addEventListener("DOMContentLoaded",a,!1);const l="SUMMARY",c="main>.experience",d="movable-element",m="moving-elements",u=window.matchMedia("(prefers-reduced-motion: reduce)"),h=(e,t)=>{const n={once:!0,passive:!0},o=setTimeout(i,50);function s(e){this===e.target&&i()}function i(){e.removeEventListener("transitionstart",a),e.removeEventListener("transitionend",s),e.removeEventListener("transitioncancel",s),t()}function a(){clearTimeout(o)}e.addEventListener("transitionstart",a,n),e.addEventListener("transitionend",s,n),e.addEventListener("transitioncancel",s,n)},f=(e,t,n)=>{const o=Array.prototype.indexOf.call(document.querySelectorAll(`${c}>*`),e),s=document.querySelectorAll(["~section",`>article:nth-child(n + ${o+2})`,`>article:nth-child(${o+1})>details~*`].map((e=>c+e)).join(","));document.body.style.setProperty("--movable-height",t+"px"),document.body.classList.add(m),e.classList.add(d+"-after");for(const e of s)e.classList.add(d);h(s.item(0),(()=>{n(),e.classList.remove(d+"-after");for(const e of s)e.classList.remove(d);document.body.classList.remove(m)}))};{const e=document.querySelector(".experience p"),t=parseInt(window.getComputedStyle(e).lineHeight||"20"),n=document.querySelectorAll(l);if("HTMLDetailsElement"in window){const o=document.createElement("canvas").getContext("2d");o.font=(e=>{const t=window.getComputedStyle(e);return t.getPropertyValue("font")||["font-style","font-variant","font-weight","font-size","font-family"].map((e=>t.getPropertyValue(e))).join(" ")})(e);for(const e of n)e.parentNode.addEventListener("click",(function(e){if((window.getSelection()||{}).isCollapsed){if(u.matches);else if(this.open){const e=this.offsetHeight;this.style.height=e+"px",window.requestAnimationFrame((()=>{const t=parseInt(this.style.minHeight);f(this.parentElement,t-e,(()=>{this.style.height="",this.style.minHeight=""}))}))}else{const e=this.querySelector(`span[lang="${r().lang}"]`),{height:n,width:s}=e.getBoundingClientRect();this.style.height="",this.style.minHeight=n+"px";const i=this.querySelector(`p[lang='${document.documentElement.getAttribute("lang")}']`),a=Math.ceil(1.1*o.measureText(i.textContent||"").width/s)*t;i.style.position="absolute",f(this.parentElement,a-n,(()=>{i.style.removeProperty("position")}))}l!==e.target.nodeName&&this.open&&(this.open=!1)}}),!0),e.parentElement.tabIndex=0}else Array.from(n,(e=>{e.hidden=!0}))}document.querySelector("body>footer").append(" – ",...Object.entries({en:"🇬🇧",fr:"🇫🇷"}).map((([e,t])=>{const n=document.createElement("a");return n.href="#"+e,n.append(t),n})));</script></body></html>