42, born2code
Here's a rundown of my time at the 42 school: the projects I did, the grades I got, and the source code. Have fun!
I was on the 42 Lyon campus, class of 2021, August piscine (objectively the best one)!
(If you're in the cursus, no cheating 馃か)
March 2023
ft_transcendence
View repoA team of 4 for 42's first web development project. The goal: build a real-time multiplayer Pong with chat features (friends, channels) and matchmaking (plus a few bonuses of our own).
December 2022
November 2022
Inception
View repoThis project pushes Docker and docker-compose hard under a pile of constraints: a multi-container WordPress setup, a reverse proxy, and SSL certificates. I used my Docker experience to build every bonus: a Redis cache, an FTP server, a database GUI, monitoring, and a NestJS site I built and hosted myself.
September 2022
cub3D
View repocub3D is a graphics project done in pairs, building a game that looks like an old-school FPS such as Wolfenstein 3D. That means writing raycasting in C with a bare-bones graphics library, MinilibX, which can only draw a single pixel.
August 2022
NetPractice
View repoNetPractice is a set of 10 exercises meant to introduce networking basics: subnet masks, routers, switches, and so on.
June 2022
Piscine C++
View repoA C++ piscine made of 8 modules, digging into classes and polymorphism, templates, and casts.
April 2022
Minishell
View repoA big project done in pairs. The goal is to build a command interpreter
that mimics bash. Minishell handles environment variables, launches
programs and handles their return codes, pipes, and redirections. We
also implemented a number of built-ins, such as cd,
echo, env, exit,
export, pwd and unset.
March 2022
Philosophers
View repoModel the Dining philosophers problem. First by representing each philosopher as a thread and each fork (the utensil) as a mutex, then by representing each philosopher as a fork (the process, this time) and the forks as semaphores.

February 2022
push_swap
View repoSort a stack using as few operations as possible, with the help of a second, temporary stack. We get two operations that don't normally exist on stacks: rotate and reverse rotate. To solve it I wrote my own sorting algorithm (in reality it's probably a variant of an existing one, adapted to the subject and these two extra operations).
January 2022
minitalk
View repoMake two programs, a server and a client, talk to each other using two
Unix signals sent with kill, in other words send data in
binary over Unix signals. The hard part? Receiving the bits in the order
they were sent ;)
January 2022
FdF
View repoMy first graphics program: display a 3D point map connected by line segments (FdF, French for wireframe). The map is interactive (pan, rotate, zoom) and built on a bare-bones graphics library that only lets you place points in 2D.
December 2021
ft_printf
View repoRecreate the C standard library's printf function.
ft_printf works exactly the same way, but "only" with the following
conversions: %cspdiuxX and the flags/precision:
-0.# +.
November 2021
get_next_line
View repoRecreate the C standard library's getline() function. Like
getline, get_next_line returns each line of a file one after another.
The buffer size can be changed.
November 2021
Born2beroot
View repoInstall WordPress on a Debian server following very strict rules on security, encryption, and partitioning. Also wrote a simple Bash monitoring script.
November 2021
Libft
View repoThis project has us build a lib(ft, for forty-two) full of commonly used C functions, recoded entirely from scratch. We'll reuse our own "libft" standard library in every future 42 project.