Skip to content
CESTOLIV
N掳 297 FR

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 馃か)

Grade100/100

March 2023

ft_transcendence

View repo

A 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).

TypeScript 路 NestJS 路 React.JS 路 WebSockets 路 SCSS 路 OAuth 路 2FA

Grade125/100

December 2022

ft_irc

View repo

ft_irc is a group project that, as its name suggests, has us rebuild an IRC server from scratch in C++. The server follows the RFC 2812 specification, so it works with existing IRC clients.

C++ 路 Network

Grade125/100

November 2022

Inception

View repo

This 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.

Docker 路 Network 路 SysAdmin 路 Monitoring 路 NestJS

Grade120/100

September 2022

cub3D

View repo

cub3D 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.

C 路 3D

Grade100/100

August 2022

NetPractice

View repo

NetPractice is a set of 10 exercises meant to introduce networking basics: subnet masks, routers, switches, and so on.

Network

Grade100/100

June 2022

Piscine C++

View repo

A C++ piscine made of 8 modules, digging into classes and polymorphism, templates, and casts.

C++

Grade111/100

April 2022

Minishell

View repo

A 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.

C 路 Bash

Grade125/100

March 2022

Philosophers

View repo

Model 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.

C

screenshot of the push_swap visualizer
Grade115/100

February 2022

push_swap

View repo

Sort 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).

C 路 Algorithm

Grade125/100

January 2022

minitalk

View repo

Make 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 ;)

C 路 Unix 路 Signals

Grade125/100

January 2022

FdF

View repo

My 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.

C 路 3D

Grade125/100

December 2021

ft_printf

View repo

Recreate 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.# +.

C

Grade125/100

November 2021

get_next_line

View repo

Recreate 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.

C

Grade125/100

November 2021

Born2beroot

View repo

Install WordPress on a Debian server following very strict rules on security, encryption, and partitioning. Also wrote a simple Bash monitoring script.

Debian 路 Security 路 Encryption 路 Wordpress 路 Monitoring 路 Bash

Grade125/100

November 2021

Libft

View repo

This 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.

C