Compare commits
No commits in common. "188ca4c3dff3b04b4e29eb937f5bffa86c448a26" and "3a1a890f67e78b74c44c17a58625c808cd7a164e" have entirely different histories.
188ca4c3df
...
3a1a890f67
|
|
@ -14,14 +14,6 @@ Hello! `nemunaire` here, aka Pierre-Olivier; I am an engineer (and passionate ab
|
|||
{{<icon "fa fa-briefcase about-icon">}}
|
||||
Currently **entrepreneur** in various businesses. Previously worked as **devops** for [Novaquark](http://novaquark.com), prior to worked as **embedded software engineer** at [Qarnot computing](https://qarnot.com/), then **Chief Information Security Officer** and **senior software architect** at [Qarnot computing](https://qarnot.com/).
|
||||
|
||||
{{<icon "fa fa-chalkboard-teacher about-icon">}}
|
||||
For 10 years, I taught students of the [*System, Network and Security*](https://srs.epita.fr/) major at [Epita](http://www.epita.fr/): preparing lectures, lab sessions and projects, teaching in class, grading individually, on the topics of [*advanced Linux system administration*](https://adlin.nemunai.re) and [*light virtualization*](https://virli.nemunai.re/) (containers, Docker, LXC, Kubernetes, ...) as well as the related *Linux Internals* (namespaces, cgroups, capabilities, ...).
|
||||
{{<br>}}
|
||||
I was also the project lead supervising the yearly design of a [forensic challenge](https://fic.srs.epita.fr/) for the [International Cybersecurity Forum](https://www.forum-fic.com/)/[European Cyber Cup](https://european-cybercup.com): project planning, coordinating the assistants in charge of follow-up, organizing defenses and mock challenges, developing [the secure platform](https://git.nemunai.re/fic/server), coordinating the students in charge of the infrastructure and the competition organizers, up to setting up and running the challenge on site.
|
||||
|
||||
{{<icon "fa fa-book about-icon">}}
|
||||
Following my light virtualization courses, in April 2022 I published the book [*Conteneurs et technologies du DevOps*](https://alpo.tf/livres/2493960009/). It gathers more than 7 years of teaching container usage: each chapter uncovers new aspects of the technology and builds up skills through challenges of increasing difficulty, from creating and managing containers in a company to how they work at the heart of the Linux kernel.
|
||||
|
||||
{{<icon "fa fa-graduation-cap about-icon">}}
|
||||
After 5 years in [Epita](http://epita.fr/), in 2014, I am a graduate engineer! I was following the [***System, Network and Security***](https://srs.epita.fr/) classes.
|
||||
{{<br>}}
|
||||
|
|
|
|||
|
|
@ -7,17 +7,25 @@ menu:
|
|||
weight: 40
|
||||
---
|
||||
|
||||
Here are the slides I used as support for my presentations:
|
||||
Here are slides I used as support to my presentations:
|
||||
|
||||
{{< talks >}}
|
||||
{{< talk title="DNS, the hidden backbone of the Internet" lang="fr" year="2025" url="/talks/starinux_dns_2025.pdf" img="/talks/covers/starinux_dns_2025.jpg" event="Atelier Starinux" eventurl="https://www.starinux.org/?p=1329" >}}
|
||||
{{< talk title="Embedding a web front-end in your Go binary: happyDomain example" lang="fr" year="2024" url="/talks/happyDomain_golang_meetup_2024.pdf" img="/talks/covers/happyDomain_golang_meetup_2024.jpg" event="Meetup Golang Paris" eventurl="https://www.meetup.com/fr-FR/golang-paris/events/301188194/" code="https://git.nemunai.re/nemunaire/meetup-golang-2024-demo" >}}
|
||||
{{< talk title="Let's make people love domain names again" lang="en" year="2024" url="https://blog.happydomain.org/files/happyDomain%20FOSDEM%202024.pdf" img="/talks/covers/happydomain_fosdem_2024.jpg" event="FOSDEM 2024" eventurl="https://fosdem.org/2024/schedule/event/fosdem-2024-2316-let-s-make-people-love-domain-names-again/" >}}
|
||||
{{< talk title="How can we make the words DNS and simplicity compatible?" lang="fr" year="2023" url="https://blog.happydomain.org/files/happyDomain%20Open%20Source%20Experience%202023.pdf" img="/talks/covers/happydomain_osx_2023.jpg" event="Open Source Experience 2023" eventurl="https://www.opensource-experience.com/event/#conf-13898" >}}
|
||||
{{< talk title="Rethinking web platform security" lang="fr" year="2023" url="/talks/lresw23-moenia.pdf" img="/talks/covers/lresw23-moenia.jpg" event="LRE Summer Week" eventurl="https://www.lre.epita.fr/news_content/summer_week_23/" >}}
|
||||
{{< talk title="Strong authentication" lang="fr" url="/talks/2fa.pdf" img="/talks/covers/2fa.jpg" event="cryptoparty GConfs" >}}
|
||||
{{< talk title="Self-Hosting" lang="fr" url="/talks/autohebergement.pdf" img="/talks/covers/autohebergement.jpg" event="cryptoparty GConfs" transcript="post/self-hosting/index.md" >}}
|
||||
{{< talk title="DNS overview" lang="fr" url="/talks/QTechNote%20DNS.pdf" img="/talks/covers/qtechnote_dns.jpg" event="QTechNote" >}}
|
||||
{{< talk title="Docker hands-on" lang="fr" url="/talks/QTechNote%20Docker.pdf" img="/talks/covers/qtechnote_docker.jpg" event="QTechNote" >}}
|
||||
{{< talk title="gRPC/Protobuf overview" lang="fr" url="/talks/QTechNote%20%231.pdf" img="/talks/covers/qtechnote_grpc.jpg" event="QTechNote" >}}
|
||||
{{< /talks >}}
|
||||
* [[FR] DNS, the hidden backbone of the Internet](/talks/starinux_dns_2025.pdf) ([Atelier Starinux](https://www.starinux.org/?p=1329))
|
||||
* [[FR] Embedding a web front-end in your Go binary: happyDomain example](/talks/happyDomain_golang_meetup_2024.pdf) [(code)](https://git.nemunai.re/nemunaire/meetup-golang-2024-demo) ([Meetup Golang Paris](https://www.meetup.com/fr-FR/golang-paris/events/301188194/))
|
||||
* [[EN] Let's make people love domain names again](https://blog.happydomain.org/files/happyDomain%20FOSDEM%202024.pdf) ([FOSDEM 2024](https://fosdem.org/2024/schedule/event/fosdem-2024-2316-let-s-make-people-love-domain-names-again/))
|
||||
* [[FR] How can we make the words DNS and simplicity compatible?](https://blog.happydomain.org/files/happyDomain%20Open%20Source%20Experience%202023.pdf) ([Open Source Experience 2023](https://www.opensource-experience.com/event/#conf-13898))
|
||||
* [[FR] Rethinking web platform security](/talks/lresw23-moenia.pdf) ([LRE Summer Week](https://www.lre.epita.fr/news_content/summer_week_23/))
|
||||
* [[FR] Strong authentication](/talks/2fa.pdf) (*cryptoparty* GConfs)
|
||||
* [[FR] Self-Hosting](/talks/autohebergement.pdf) (*cryptoparty* GConfs)
|
||||
* [[FR] DNS overview](/talks/QTechNote%20DNS.pdf) (QTechNote)
|
||||
* [[FR] Docker hands-on](/talks/QTechNote%20Docker.pdf) (QTechNote)
|
||||
* [[FR] gRPC/Protobuf overview](/talks/QTechNote%20%231.pdf) (QTechNote)
|
||||
|
||||
|
||||
## Teaching
|
||||
|
||||
In [Epita](http://www.epita.fr/), I'm responsible for teaching containers usage and plumbing in a 15 hours course called [*light virtualization*](https://virli.nemunai.re/) and for [*ADvanced LINux administration*](https://adlin.nemunai.re).
|
||||
|
||||
Moreover, I coach students to create [an annual CTF](https://fic.srs.epita.fr/), at [FIC].
|
||||
And also lead the related CTF [server developments](https://git.nemunai.re/fic/server).
|
||||
|
||||
[FIC]: https://www.forum-fic.com/
|
||||
|
|
|
|||
|
|
@ -16,14 +16,6 @@ Bonjour ! ici `nemunaire`, alias Pierre-Olivier ; je suis ingénieur (et pas
|
|||
{{<icon "fa fa-briefcase about-icon">}}
|
||||
Aujourd'hui **entrepreneur**. J'ai travaillé avant comme **devops** pour [Novaquark](http://novaquark.com), avant d'être **ingénieur système/logiciel embarqué** chez [Qarnot computing](https://qarnot.com/), puis **responsable de la sécurité des systèmes d'information** et **architecte logiciel sénior** chez [Qarnot computing](https://qarnot.com/).
|
||||
|
||||
{{<icon "fa fa-chalkboard-teacher about-icon">}}
|
||||
Durant 10 ans, j'ai enseigné auprès des étudiants de la majeure [*Systèmes, Réseaux et Sécurité*](https://srs.epita.fr/) de l'[Epita](http://www.epita.fr/) : préparation des cours, TP et projets, face-à-face pédagogique, corrections et notation individuelle, sur les thèmes de l'[*administration système Linux avancée*](https://adlin.nemunai.re) et de la [*virtualisation légère*](https://virli.nemunai.re/) (conteneurs, Docker, LXC, Kubernetes, ...) ainsi que des *Linux Internals* associés (namespaces, cgroups, capabilities, ...).
|
||||
{{<br>}}
|
||||
J'ai également été chef de projet encadrant la conception annuelle d'un [challenge de forensic](https://fic.srs.epita.fr/) pour le [Forum International de la Cybersécurité](https://www.forum-fic.com/)/[European Cyber Cup](https://european-cybercup.com) : planification du projet, coordination des assistants en charge du suivi, organisation des soutenances et des challenges blancs, développement de [la plateforme sécurisée](https://git.nemunai.re/fic/server), coordination des étudiants en charge de l'infrastructure et des organisateurs de la compétition, jusqu'à l'installation et l'animation du challenge sur place.
|
||||
|
||||
{{<icon "fa fa-book about-icon">}}
|
||||
Dans le prolongement de mes cours sur la virtualisation légère, j'ai publié en avril 2022 le livre [*Conteneurs et technologies du DevOps*](https://alpo.tf/livres/2493960009/). Il rassemble le travail de plus de 7 années d'enseignement à l'utilisation des conteneurs : chaque chapitre fait découvrir de nouveaux aspects de la technologie et permet de développer ses compétences par des défis à la difficulté croissante, de la création et la gestion des conteneurs en entreprise jusqu'à leur fonctionnement au cœur du noyau Linux.
|
||||
|
||||
{{<icon "fa fa-graduation-cap about-icon">}}
|
||||
Après 5 ans d'études à l'[Epita](http://epita.fr/), j'ai, en 2014, obtenu mon diplôme d'ingénieur ! J'ai suivi les enseignements de la majeure [***Systèmes, Réseaux et Sécurité***](https://srs.epita.fr/).
|
||||
{{<br>}}
|
||||
|
|
|
|||
|
|
@ -9,17 +9,23 @@ aliases:
|
|||
- talks
|
||||
---
|
||||
|
||||
Voici les supports des conférences que j'ai données :
|
||||
Voici les supports des conférences que j'ai données :
|
||||
|
||||
{{< talks >}}
|
||||
{{< talk title="Le DNS, la colonne vertébrale cachée d’Internet" lang="fr" year="2025" url="/talks/starinux_dns_2025.pdf" img="/talks/covers/starinux_dns_2025.jpg" event="Atelier Starinux" eventurl="https://www.starinux.org/?p=1329" >}}
|
||||
{{< talk title="Embarquer un frontal web dans son binaire Go, exemple avec happyDomain" lang="fr" year="2024" url="/talks/happyDomain_golang_meetup_2024.pdf" img="/talks/covers/happyDomain_golang_meetup_2024.jpg" event="Meetup Golang Paris" eventurl="https://www.meetup.com/fr-FR/golang-paris/events/301188194/" code="https://git.nemunai.re/nemunaire/meetup-golang-2024-demo" >}}
|
||||
{{< talk title="Let's make people love domain names again" lang="en" year="2024" url="https://blog.happydomain.org/files/happyDomain%20FOSDEM%202024.pdf" img="/talks/covers/happydomain_fosdem_2024.jpg" event="FOSDEM 2024" eventurl="https://fosdem.org/2024/schedule/event/fosdem-2024-2316-let-s-make-people-love-domain-names-again/" >}}
|
||||
{{< talk title="Comment rendre les mots DNS et simplicité compatibles ?" lang="fr" year="2023" url="https://blog.happydomain.org/files/happyDomain%20Open%20Source%20Experience%202023.pdf" img="/talks/covers/happydomain_osx_2023.jpg" event="Open Source Experience 2023" eventurl="https://www.opensource-experience.com/event/#conf-13898" >}}
|
||||
{{< talk title="Repenser la sécurité des plateformes web" lang="fr" year="2023" url="/talks/lresw23-moenia.pdf" img="/talks/covers/lresw23-moenia.jpg" event="LRE Summer Week" eventurl="https://www.lre.epita.fr/news_content/summer_week_23/" >}}
|
||||
{{< talk title="L'authentification forte" lang="fr" url="/talks/2fa.pdf" img="/talks/covers/2fa.jpg" event="cryptoparty GConfs" >}}
|
||||
{{< talk title="L'autohébergement" lang="fr" url="/talks/autohebergement.pdf" img="/talks/covers/autohebergement.jpg" event="cryptoparty GConfs" transcript="post/self-hosting/index.md" >}}
|
||||
{{< talk title="Le DNS" lang="fr" url="/talks/QTechNote%20DNS.pdf" img="/talks/covers/qtechnote_dns.jpg" event="QTechNote" >}}
|
||||
{{< talk title="Prise en main de Docker" lang="fr" url="/talks/QTechNote%20Docker.pdf" img="/talks/covers/qtechnote_docker.jpg" event="QTechNote" >}}
|
||||
{{< talk title="Prise en main de gRPC/Protobuf" lang="fr" url="/talks/QTechNote%20%231.pdf" img="/talks/covers/qtechnote_grpc.jpg" event="QTechNote" >}}
|
||||
{{< /talks >}}
|
||||
* [[FR] Le DNS, la colonne vertébrale cachée d’Internet](/talks/starinux_dns_2025.pdf) ([Atelier Starinux](https://www.starinux.org/?p=1329))
|
||||
* [[FR] Embarquer un frontal web dans son binaire Go, exemple avec happyDomain](/talks/happyDomain_golang_meetup_2024.pdf) [(code)](https://git.nemunai.re/nemunaire/meetup-golang-2024-demo) ([Meetup Golang Paris](https://www.meetup.com/fr-FR/golang-paris/events/301188194/))
|
||||
* [[EN] Let's make people love domain names again](https://blog.happydomain.org/files/happyDomain%20FOSDEM%202024.pdf) ([FOSDEM 2024](https://fosdem.org/2024/schedule/event/fosdem-2024-2316-let-s-make-people-love-domain-names-again/))
|
||||
* [[FR] Comment rendre les mots DNS et simplicité compatibles ?](https://blog.happydomain.org/files/happyDomain%20Open%20Source%20Experience%202023.pdf) ([Open Source Experience 2023](https://www.opensource-experience.com/event/#conf-13898))
|
||||
* [[FR] Repenser la sécurité des plateformes web](/talks/lresw23-moenia.pdf) ([LRE Summer Week](https://www.lre.epita.fr/news_content/summer_week_23/))
|
||||
* [[FR] L'authentification forte](/talks/2fa.pdf) (*cryptoparty* GConfs)
|
||||
* [[FR] L'autohébergement](/talks/autohebergement.pdf) (*cryptoparty* GConfs)
|
||||
* [[FR] Le DNS](/talks/QTechNote%20DNS.pdf) (QTechNote)
|
||||
* [[FR] Prise en main de Docker](/talks/QTechNote%20Docker.pdf) (QTechNote)
|
||||
* [[FR] Prise en main de gRPC/Protobuf](/talks/QTechNote%20%231.pdf) (QTechNote)
|
||||
|
||||
|
||||
## Enseignement
|
||||
|
||||
À l'[Epita](http://www.epita.fr/), j'ai enseigné durant 10 ans l'usage des conteneurs et leur fonctionnement technique au sein du noyau Linux dans un cours de 24 heures nommé [*Virtualisation légère*](https://virli.nemunai.re/) ainsi que l'[*ADministration LINux avancée*](https://adlin.nemunai.re).
|
||||
|
||||
D'autre part, j'encadre le projet de fin d'études des étudiants de la majeure SRS pour lequel ils conçoivent un [challenge de forensic](https://fic.srs.epita.fr/) pour l'[European Cyber Cup](https://european-cybercup.com), présenté au [Forum International de la Cybersécurité](https://www.forum-fic.com/).
|
||||
À ce titre, je maintiens et coordonne les développements de [la plateforme de validation](https://git.nemunai.re/fic/server).
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
{{ $title := .Get "title" }}
|
||||
{{ $url := .Get "url" }}
|
||||
{{ $img := .Get "img" }}
|
||||
{{/* Open external links (slides, event page, code repo) in a new tab. */}}
|
||||
{{ $blank := "" }}
|
||||
{{ if hasPrefix $url "http" }}{{ $blank = " target=\"_blank\" rel=\"noopener\"" }}{{ end }}
|
||||
<div class="col">
|
||||
<div class="card h-100 shadow-sm talk-card">
|
||||
{{ with $img }}
|
||||
<a href="{{ $url }}"{{ $blank | safeHTMLAttr }} aria-hidden="true" tabindex="-1">
|
||||
<img src="{{ . | relURL }}" class="card-img-top" alt="{{ printf "%s — cover slide" $title }}" loading="lazy">
|
||||
</a>
|
||||
{{ end }}
|
||||
<div class="card-body d-flex flex-column">
|
||||
<h3 class="card-title h6">
|
||||
<a href="{{ $url }}"{{ $blank | safeHTMLAttr }} class="text-reset text-decoration-none">{{ $title }}</a>
|
||||
</h3>
|
||||
<p class="card-text small text-body-secondary mb-3">
|
||||
{{ with .Get "event" }}
|
||||
{{ with $.Get "eventurl" }}<a href="{{ . }}"{{ if hasPrefix . "http" }} target="_blank" rel="noopener"{{ end }}>{{ $.Get "event" }}</a>{{ else }}{{ $.Get "event" }}{{ end }}
|
||||
{{ end }}
|
||||
{{ with .Get "year" }} · {{ . }}{{ end }}
|
||||
</p>
|
||||
<div class="mt-auto d-flex flex-wrap gap-2 align-items-center">
|
||||
{{ with .Get "lang" }}<span class="badge text-bg-secondary text-uppercase align-self-center">{{ . }}</span>{{ end }}
|
||||
<span class="ms-auto d-flex flex-wrap gap-2">
|
||||
{{ with .Get "transcript" }}<a href="{{ relref $.Page . }}" class="btn btn-sm btn-outline-secondary talk-action"><i class="fa-solid fa-align-left"></i>{{ if eq $.Page.Language.Lang "fr" }}transcription{{ else }}transcript{{ end }}</a>{{ end }}
|
||||
{{ with .Get "code" }}<a href="{{ . }}"{{ if hasPrefix . "http" }} target="_blank" rel="noopener"{{ end }} class="btn btn-sm btn-outline-secondary talk-action"><i class="fa-solid fa-code"></i>code</a>{{ end }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4 my-4 talk-deck">
|
||||
{{ .Inner }}
|
||||
</div>
|
||||
|
|
@ -248,40 +248,3 @@ footer .copyright {
|
|||
.img-title {
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
/* Talks page: card deck of conference slides */
|
||||
.talk-deck .talk-card .card-img-top {
|
||||
height: 180px;
|
||||
width: 100%;
|
||||
object-fit: cover;
|
||||
object-position: top center;
|
||||
border-bottom: 1px solid var(--bs-border-color, rgba(0, 0, 0, .1));
|
||||
}
|
||||
|
||||
/* Undo the theme's `.blog-post :first-child { margin-top: 0 }` reset, which
|
||||
strips the Bootstrap grid vertical gutter from the first card and pulls it up. */
|
||||
.blog-post .talk-deck > * {
|
||||
margin-top: var(--bs-gutter-y);
|
||||
}
|
||||
|
||||
.talk-deck .talk-action {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-size: .8rem;
|
||||
--bs-btn-padding-y: .2rem;
|
||||
--bs-btn-padding-x: .6rem;
|
||||
}
|
||||
|
||||
.talk-deck .talk-action i,
|
||||
.talk-deck .talk-action svg {
|
||||
font-size: .85em;
|
||||
margin-right: .45em;
|
||||
}
|
||||
|
||||
.talk-deck .talk-card {
|
||||
transition: transform .15s ease, box-shadow .15s ease;
|
||||
}
|
||||
|
||||
.talk-deck .talk-card:hover {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 34 KiB |