Ma photo de profil

Louis Vallat

Gitlab RGB logo Twitter blue logo LinkedIN small blue logo

Un étudiant développeur, passionné de technologies, quelles qu'elles soient.

Logo travail valise
Étudiant ingénieur en informatique
Logo localisation
Bordeaux — France

Compétences

Des technologies que j'utilise souvent
Logo Docker Logo Git Logo Tux Logo Rust Logo Java Logo PostgreSQL Logo PHP Logo Android Logo HTML5

Projet personnel en cours

Le projet sur lequel je travaille le plus sur mon temps libre
Logo OVH Cloud

Les enregistrements DNS TLSA sont très utiles mais très peu connus ou utilisés en pratique. Ils sont notamment pratiques pour mettre en application la RFC 6698. Le DANE (DNS-Based Authentication of Named Entities) permet en utilisant les enregistrements TLSA et avec le DNSSEC (Domain Name System Security Extensions, RFC 4033) d'ajouter une sécurité supplémentaire, en ajoutant l'empreinte des certificats de sécurité utilisés pour un site ou une application donnés, aux enregistrements DNS. Cela permet de vérifier que le certificat fourni est bien celui annoncé par le serveur DNS. Ce projet permet de mettre à jour automatiquement et immédiatement, en utilisant l'API de OVHCloud sans passer par une librairie, les enregistrements DNS TLSA de mon infrastructure, en surveillant les certificats générés par mon reverse-proxy (NGINX).

Ce projet a été fait en une semaine en Rust. Le but étant la rapidité, aucun test unitaire n'est fourni. Le code se trouve ici.

Précédents projets personnels

Les projets sur lesquels j'ai précédemment travaillé
Logo AoC

J'ai participé au challenge "Advent Of Code" dans son édition 2021, trouvable ici, et j'ai obtenu toutes les étoiles de cette année.

Tous les jours, à la manière d'un calendrier de l'Avent un peu particulier, un défi en deux parties est publié, et ce du premier au 25 décembre. Le but est de faire les deux parties des défis.
De manière simplifiée, nous suivons une histoire globale, véritable fil rouge du calendrier. Le site dispense un sujet, une consigne, un jeu de données en général assez fourni, et pour aider au développement et à comprendre le sujet, un jeu de données réduites est aussi fourni pour tester nos algorithmes et hypothèses.
Ce projet est fait en Rust, et est trouvable ici.

Logo Rust

J'ai une gallerie photo (que vous pouvez retrouver ici) qui est une instance auto-hébergée de l'application Open Source Lychee. Bien que je trouve son interface web pratique et ergomique, je trouve quand même un charme et une certaine praticité aux interfaces en lignes de commandes (CLI). Lychee disposant d'une API, j'ai donc décidé de faire ma propre interface CLI, en utilisant pour cela le langage de programmation Rust (que je ne connaissais que de nom au début de ce projet).

Le projet n'est pas encore public, il le sera une fois sa base de code stabilisée. Ce projet est actuellement "en pause" car les développeurs de Lychee sont en train de travailler sur une prochaine version majeure, amenant beaucoup de changements à l'API.

Matériel

Là où mes projets voient le jour et évoluent

neofetch affiché sur mon serveur  Mon serveur principal est actuellement une tour, issue de nombreuses mises à niveau au fil du temps. Tout d'abord constitué de pièces d'occasion obtenues au fil du temps, il est désormais composé d'une majorité de pièces neuves. Il héberge grand nombre de mes services et projets, en plus de servir pour d'autres tâches annexes, telles que servir à faire fonctionner des jeux vidéos à distance, ou encore exécuter différentes tâches pour mes pipelines CI/CD.
 En ce moment, il a pour processeur un AMD Ryzen 5 3600, ainsi que 32 Go de RAM, cadencés à 3200 MHz. Pour le stockage, ce serveur a pour média de démarrage un SSD NVMe (PCIe3x4) de 512 Go. Il est aussi doté d'une carte graphique NVIDIA GTX 970 disposant de 4 Go de VRAM.
 À son arrivée dans cette configuration, elle me servait pour faire de l'encodage et du transcodage de fichiers multimédias à la volée, mais dernièrement elle me sert surtout pour faire fonctionner des applications qui ont de forts besoins en ressources graphiques, telles que des jeux vidéos, dans une machine virtuelle.
 Il dispose aussi d'un SSD 1 To de chez Crucial au format SATA pour héberger la machine virtuelle à qui est passée la carte graphique. Cette carte graphique n'est indisponible pour l'hôte que le temps que la machine virtuelle est allumée. En effet, à l'amorçage de cette VM, la carte graphique est automatiquement détachée, puis rattachée à son arrêt.
 Enfin, ce serveur dispose aussi d'un RAID de différents disques pour du stockage supplémentaire.

neofetch affiché sur mon ordinateur portable  Actuellement, la machine qui me sert à donner vie aux différentes idées qui pourraient me venir en tête est un Lenovo ThinkPad T14s de première génération, dans sa variante AMD.
 En terme de spécifications, cet ordinateur portable est équipé d'un processeur AMD Ryzen 7 4750U, étant développeur, il n'est pas rare que je doive compiler des projets de taille et de langage variés, et les 8 coeurs de ce processeur font très bien ce travail.
 Concernant la RAM, j'ai choisi de doter mon ordinateur de 32 Go de RAM, au format DDR4, cadencés à 3200 MHz. Il m'arrive souvent de manipuler des machines virtuelles et cette quantité de RAM devrait pouvoir couvrir mes besoins pendant un moment.
 En terme d'écran, j'ai choisi une dalle 1080p basse consommation avec une surface matte, et une luminosité de 400 nits. Le T14s étant un 14 pouces, 1080p suffisent largement pour mon cas d'utilisation, et les 400 nits de luminosité me permettent d'utiliser cette machine en conditions de forte luminosité ambiante. Le clavier rétroéclairé me permet de travailler dans des conditions de basse luminosité. Un ordinateur parfait pour rester productif et mobile.
 Pour le stockage, il est équipé de 512 Go fournis par un SSD NVMe (PCIe3x4). Je suis très loin de les utiliser dans leur totalité mais cette taille me permet de manipuler et travailler localement sur des projets parfois lourds, et je ne souhaite pas que ma machine de travail soit l'élément limitant de mon flot de travail.