Compare commits

..

No commits in common. "188ca4c3dff3b04b4e29eb937f5bffa86c448a26" and "3a1a890f67e78b74c44c17a58625c808cd7a164e" have entirely different histories.

17 changed files with 40 additions and 117 deletions

View file

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

View file

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

View file

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

View file

@ -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 dInternet" 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 dInternet](/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).

View file

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

View file

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

View file

@ -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);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB