Photo de Morgan Bertin

My journey at 42

I attended 42, an innovative network of computer programming schools present in over 30 countries worldwide. Here, you can discover the various school projects I participated in during my studies.

C

C++

TypeScript

Nest

React

Docker

Github

Psql

A progression, step by step.

  • ft_transcendence

    Containerized full-stack web application: real-time multiplayer Pong game. Tech stack: React (TypeScript) for the frontend, NestJS for the backend, PostgreSQL with Prisma ORM. OAuth and 2FA implementation for security, IRC-like chat and a matchmaking system. Modern full-stack development, containerized architecture with Docker, and collaboration in a team of 5 developers.


  • ft_irc

    IRC (Internet Relay Chat) server compliant with the RFC protocol in C++. Handling multiple connections with select/poll, channels, IRC commands, and moderation. Advanced network programming, client-server architecture, and asynchronous event handling in C++.


  • Inception

    Multi-container infrastructure with Docker Compose. Service orchestration (NGINX, WordPress, MariaDB) with persistent volumes and a Docker network. Strong Docker skills, application containerization, web service configuration, and DevOps practices.


  • cub3d

    3D raycasting engine inspired by Wolfenstein 3D using MinilibX. Real-time rendering, texture handling, and geometric calculations for 3D projection. Mastery of graphics algorithms, 3D math, and rendering performance optimization.


  • NetPractice

    Network configuration and troubleshooting (TCP/IP, subnetting, routing). Understanding IP addresses, subnet masks, routing tables, and network topologies. Building essential skills in network administration and TCP/IP protocols.


  • minishell

    Recreation of a minimal Unix shell in a pair. Command parsing, redirections, pipes, environment variables, and signal handling. Deep understanding of shell internals, collaborative work with Git, and complex software architecture.


  • philosophers

    Simulation of the dining philosophers problem with threading and synchronization. Managing mutexes/semaphores to avoid deadlocks and race conditions. Mastery of multithreading, shared resource synchronization, and classic concurrency problem solving.


  • so_long

    Creation of a 2D game using the MinilibX graphics library. Keyboard event handling, rendering, map parsing, and game logic. Introduction to graphics programming, game loop design, and real-time event handling.


  • ft_pipex

    Reproducing Unix shell pipe and redirection behavior. Process management with fork(), inter-process communication, and command execution. Mastery of Unix system calls, multi-process handling, and understanding shell internals.


  • push_swap

    Optimized sorting algorithm using two stacks with a limited instruction set. Implementing efficient sorting strategies to minimize the number of operations. Developing skills in algorithms, optimization, and complexity analysis.


  • ft_get_next_line

    Implementation of a function to read a file descriptor line by line. Managing static buffers and efficient reading with any buffer size. Deep understanding of system I/O operations and dynamic memory management.


  • ft_printf

    Full reimplementation of C's printf function. Handling type conversions, flags, and precise formatting. Mastery of variadic arguments, complex parsing, and code optimization to faithfully reproduce the original behavior.


  • Born2beroot

    Setup and hardening of a Debian/Rocky Linux server in a virtual machine. Configuring firewall rules (UFW), SSH, strict password policy, and system monitoring. Building skills in Linux system administration and cybersecurity.


  • ft_libft

    Recreating the C standard library from scratch. Implementing essential functions (string manipulation, memory, linked lists) under 42's strict standards. Learning C fundamentals, manual memory management, and core data structures.