| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- <%= inspect(@basics) %>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css" integrity="sha512NhSC1YmyruXifcj/KFRWoC561YpHpc5Jtzgvbuzx5VozKpWvQ+4nXhPdFgmx8xqexRcpAglTj9sIBWINXa8x5w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
- <style>
- @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800);
- @charset "utf-8";
- @-webkit-viewport {
- width: device-width;
- }
- @-moz-viewport {
- width: device-width;
- }
- @-ms-viewport {
- width: device-width;
- }
- @-o-viewport {
- width: device-width;
- }
- @viewport {
- width: device-width;
- }
- html {
- background-color: rgb(51, 73, 96);
- }
- * {
- box-sizing: border-box;
- }
- body {
- width: 80ch;
- margin-top: 2em;
- margin-bottom: 2em;
- margin-right: auto;
- margin-left: auto;
- padding: 1em;
- background-color: white;
- font-family: 'Open Sans', Arial, Tahoma;
- font-weight: 400;
- }
- ol,
- ul {
- list-style: none;
- }
- dl {
- display: grid;
- grid-template-columns: auto 1fr;
- }
- dt {
- grid-column: 1/2;
- }
- dd {
- grid-column: 2/3;
- }
- #basics {
- display: grid;
- justify-items: center;
- }
- #basics>h1,
- #basics>h2 {
- text-transform: uppercase;
- }
- data.name::after {
- content: attr(value);
- }
- data.position[lang="fr"]::after {
- content: 'Poste: ' attr(value);
- }
- data.position[lang="en"]::after {
- display: none;
- }
- dt.work_location+dd::before,
- data.work_location::after {
- content: '🏢 ' attr(value);
- }
- dt.location::after,
- data.location::after {
- content: '🏠 ' attr(value);
- }
- time::after {
- content: attr(datetime);
- }
- li h1,
- li h2,
- li h3 {
- font-weight: 500;
- }
- .achievement {
- font-size: 0.6em;
- }
- #skills .tools::after {
- content: "Outils";
- }
- </style>
- </head>
- <body>
- <div id="basics">
- <h1><%= @basics.name %></h1>
- <h2><%= @basics.label %></h2>
- <dl>
- <dt class="location">Lieu</dt>
- <dd><%= @basics.location.city %></dd>
- </dl>
- </div>
- <div id="work">
- <h1>Expériences professionnelles</h1>
- <ol>
- <%= for work <- @work do %> <li>
- <div>
- <h1><%= work.name %></h1>
- <dl>
- <dt class="position" lang="fr">Poste</dt>
- <dd lang="fr"><%= work.position %></dd>
- <dt class="start_date">Date début</dt>
- <dd><time class="start_date" datetime="<%= work.startDate %>"></time></dd>
- <dt class="end_date">Date fin</dt>
- <dd><time class="end_date" datetime="<%= work.endDate %>"></time></dd>
- <dt class="work_location"></dt>
- <dd>Paris</dd>
- </dl>
- </div>
- </li>
- <% end %>
- <li>
- <div>
- <h1>Parrot</h1>
- <dl>
- <dt class="position" lang="fr">Poste</dt>
- <dd lang="fr">Ingénieur logiciel embarqué</dd>
- <dt class="start_date">Date début</dt>
- <dd><time class="start_date" datetime="2014-09"></time></dd>
- <dt class="end_date">Date fin</dt>
- <dd><time class="end_date" datetime="2017-05"></time></dd>
- <dt class="work_location"></dt>
- <dd>Paris</dd>
- </dl>
- <p class="summary" lang="en">
- Development and architecture on Parrot's drones software (Bebop Drone, Bebop Drone 2.0, Minidrones)
- </p>
- <ul class="achievement">
- </ul>
- </div>
- </li>
- <li>
- <div>
- <h1>CEA</h1>
- <dl>
- <dt class="position" lang="fr">Poste</dt>
- <dd lang="fr">Ingénieur chercheur</dd>
- <dt class="start_date">Date début</dt>
- <dd><time class="start_date" datetime="2009-11"></time></dd>
- <dt class="end_date">Date fin</dt>
- <dd><time class="end_date" datetime="2014-08"></time></dd>
- <dt class="work_location"></dt>
- <dd>Saclay</dd>
- </dl>
- <p class="summary" lang="en">
- R&D works on PharOS, a safe embedded RTOS for automotive (now Asterios, promoted by KRONO-SAFE company), and
- on safe and secure hypervision
- </p>
- <ul class="achievement">
- <li>
- <h1 lang="en">Industrialization of PharOS</h1>
- <h2 lang="en">Micro-kernel porting on PowerPC and ARM embedded targets, and POSIX simulator</h2>
- <h2 lang="en">Development of a dual-core version of the micro-kernel for an automotive demonstrator</h2>
- <h2 lang="en">Design of a new architecture of the micro-kernel wrt portability on different hardware
- targets and distribution of task scheduling (centralized or distributed)</h2>
- <h2 lang="en">Participation to the CEA / KRONO-SAFE joint laboratory for the technological transfer</h2>
- </li>
- <li>
- <h1 lang="en">Prototype of an automated memory protection system for PharOS</h1>
- <h2 lang="en">PharOS implements spatial isolation of user tasks / system tasks</h2>
- <h2 lang="en">On embedded targets without a MMU, this is achieved via manual configuration of a Memory
- Protection Unit whose capacity is limited</h2>
- <h2 lang="en">This prototype used graph theory techniques to automatize generation of code that would be
- executed on context switches and ensure the spatial isolation</h2>
- </li>
- <li>
- <h1 lang="en">Safe and secure hypervision</h1>
- <h2 lang="en">Adaptation to a proprietary security-oriented hypervisor</h2>
- <h2 lang="en">CEA project leader on a collaborative project of hardware / software co-design of a secure
- many-core chip</h2>
- </li>
- </ul>
- </div>
- </li>
- </ol>
- </div>
- <div id="skills">
- <h1>Compétences</h1>
- <ul>
- <li>
- <h1>Backend</h1>
- <ul>
- <li>Elixir</li>
- <li>Python</li>
- <li>Django</li>
- <li>HTTP</li>
- <li>Rest</li>
- </ul>
- </li>
- <li>
- <h1 class="tools"></h1>
- <ul>
- <li>Git</li>
- <li>Linux</li>
- <li>Python</li>
- </ul>
- </li>
- </ul>
- </div>
- <div id="education">
- <h1>Formation</h1>
- <ol>
- <li>
- <h1>PLATO Créateurs</h1>
- <dl>
- <dt class="location"></dt>
- <dd>Versailles</dd>
- </dl>
- </li>
- <li>
- <h1>Ecole nationale supérieure de l'Electronique et de ses Applications</h1>
- <h2>Diplôme d'ingénieur, Mécatronique & Electronique Embarquée 2006 - 2009</h2>
- <p>
- Generalist formation in electronics : analog and digital electronics, software, signal processing, control
- theory, …
- Last-year specialization in « Mechatronics and Complex Systems », which has a focus on embedded systems,
- system modeling and mechanics</p>
- </li>
- </ol>
- </div>
- <div id="languages">
- <h1>Langues</h1>
- <ul>
- <li>Français (langue maternelle)</li>
- <li>English (fluent)</li>
- <li>Português</li>
- <li>Deutsch</li>
- </ul>
- </div>
- </body>
- </html>
|