42, born2code

Voici un récap de mon cursus à l'école 42, des projects effectués, des notes obtenues et du code sources, HF ! Je suis sur le campus de 42 Lyon, de la promo 2021, piscine d'Août (objectivement la meilleure) !

(Si vous êtes dans le cursus, pas de triche 🤫)


ft_transcendence

100/100

Mars 2023

Repo

4 personnes pour travailler sur le premier projet de développement web de 42. L'objectif : créer un Pong multijoueurs en ligne avec des fonctionnalités de chat (amis, channels) et de matchmaking. (+ quelques bonus de notre part)

TypeScript NestJS React.JS WebSockets SCSS Oauth 2FA

server image to represent ft_irc

ft_irc

125/100

Décembre 2022

Repo

ft_irc est un projet de groupe qui, comme son nom l'indique, nous fait recréer un serveur IRC (from scratch, en C++). Le serveur suit la spécification RFC 2812 et peut donc être utilisé avec les clients IRC existants.

C++ Network

docks image to represent inception containers

Inception

125/100

Novembre 2022

Repo

On utilise Docker de façon poussée avec docker-compose dans ce projet aux multiples contraintes : hébergement d'un wordpress multi-conteneur, reverse-proxy et certificats SSL. J'ai profité de mon expérience avec Docker pour faire tous les bonus : un cache avec Redis, un FTP, un GUI pour la base de données, du monitoring et la création puis l'hébergement d'un site NestJS.

Docker Network SysAdmin Monitoring NestJS

cub3D

120/100

Septembre 2022

Repo

cub3D est un projet graphique en duo dans lequel nous créons un jeu qui ressemble à un vieux FPS, comme Wolfenstein 3D. Nous avons donc du Raycasting à faire en C avec une bibliothèque graphique très minimaliste, la MinilibX (elle ne permet que d'afficher un pixel).

C 3D

screenshot of the exercise 10

NetPractice

100/100

Août 2022

Repo

NetPractice est un projet de 10 exercices qui ont pour objectif de nous faire découvrir le réseau (masques de sous-réseaux, routeurs, switch, etc.).

Network

screenshot of the last exercise

Piscine C++

100/100

Juin 2022

Repo

Une piscine de C++, composée de 8 modules destinés à approfondir les notions de classes et de polymorphismes, de templates et de casts.

C++

screenshot of Minishell

Minishell

111/100

Avril 2022

Repo

Gros projet en binome. L'objectif est de créer un interprêteur de commande qui mime un bash. Minishell gère les variables d'environnement, lance des programmes et gère leur retour, les pipes et les redirections. Nous avons aussi un certain nombre de fonctions built-in, comme cd, echo, env, exit, export, pwd et unset.

C Bash

spaghettis image to illustrate the Philosophers's problem

Philosophers

125/100

Mars 2022

Repo

Modéliser le problème du Dîner des philosophes. Dans un premier temps en représentant chaque philosophe par un thread et chaque fourchette par un mutex, et dans un second temps en représentant chaque philosophe par un fork (processus enfant) et les fourchettes par des semaphores.

C

capture d'écran du visualizer de push_swap

push_swap

115/100

Février 2022

Repo

Trier une pile avec le moins d'opération possible à l'aide d'une pile temporaire. Nous avons droit à deux opérations qui n'existent normalement pas sur les piles, rotate et reverse rotate. Pour le résoudre, j'ai créé mon propre algorithme de tri (c'est en réalité probablement l'adaptation d'un algorythme existant, adapté au sujet et à ces deux instructions supplémentaires).

C Algorithme

old phones image to illustrate minitalk

minitalk

125/100

Janvier 2022

Repo

Faire communiquer deux programmes, un serveur et un client, via deux signaux unix envoyé avec KILL, c'est-à-dire envoyer les données en binaire via des signaux unix. Difficultés ? Recevoir les bit dans l'ordre d'envoi ;)

C Unix Signals

fdf screenshot

FdF

125/100

Janvier 2022

Repo

Premier programme graphique, nous devons afficher une carte de points en 3D, reliés par des segments (FdF, Fils de Fer). La carte est interactive (déplacement, rotation, zoom) et est développée avec une librairie graphique simpliste, nous permettant seulement de placer des points en 2D.

C 3D

screenshot of the ft_printf tester

ft_printf

125/100

Décembre 2021

Repo

Recréer la fonction printf de la librairie standard C. ft_printf fonctionne exactement de la même manière, mais "uniquement" avec les flags suivant : %cspdiuxX et les flags de précision : -0.# +.

C

screenshot of the get_next_line tester

get_next_line

125/100

Novembre 2021

Repo

Recréer la fonction getline() de la librairie standard C. get_next_line permet, comme getline, de retourner chaque ligne d'un fichier successivement. Il est possible de faire varier la taille du buffer.

C

wordpress installation page screenshot

Born2beroot

125/100

Novembre 2021

Repo

Installer Wordpress sur un serveur Debian en suivant des règles très strict en matière de sécurité, de chiffrement et de partitionnement. Création d'un script simple de monitoring avec Bash.

Debian Security Encryption Wordpress Monitoring Bash

toolbox representing libft

Libft

125/100

Novembre 2021

Repo

Ce projet a pour but de nous faire créer une lib(ft, pour forty-two) contenant plein de fonction très utilisée en C, mais que nous recodons à partir de rien. On utilisera notre propre librairie standard "libft" dans les futurs projets de 42.

C