Étudiant développeur · 42 Luxembourg · Tronc Commun

Je construis des projets sérieux, du bas niveau jusqu'au système.

Je suis Noé Kiefer, étudiant à l'école 42 Luxembourg depuis octobre 2024. Mon parcours est entièrement construit autour de projets concrets : comprendre en profondeur, coder proprement, déboguer avec méthode et livrer quelque chose qui fonctionne vraiment.

C / C++ Unix / Linux Systèmes Réseau Algorithmique
01 · À propos

Un profil orienté systèmes et projets

Je suis étudiant à 42 Luxembourg depuis octobre 2024, actuellement dans le Tronc Commun. 42 est une école dont la pédagogie repose entièrement sur les projets : pas de cours magistraux, pas de professeurs — uniquement du code, des contraintes, de la peer review et de l'itération.

Cette approche m'a appris à chercher par moi-même, à comprendre en profondeur plutôt qu'en surface, et à construire des solutions robustes dans des contextes exigeants. Je code principalement en C et C++, avec un ancrage fort en programmation système, algorithmique et environnement Unix.

01

Rigueur technique

Respect des contraintes, gestion fine de la mémoire, tests, peer review et progression par projets successifs.

02

Débogage méthodique

Lire les erreurs, isoler les causes, utiliser les bons outils, corriger sans casser le reste.

03

Culture système

Linux, terminal, processus, fichiers, réseau : comprendre l'environnement d'exécution avant d'écrire la moindre ligne.

04

Apprentissage autonome

Capacité à apprendre de zéro sur un sujet inconnu, à chercher, tester et valider sans encadrement direct.

02 · Compétences

Ce que j'ai appris à construire.

Une base solide orientée bas niveau et systèmes, construite projet par projet depuis octobre 2024.

Programmation

C / C++ & algorithmique

Gestion mémoire, pointeurs, parsing, structures de données, OOP C++98, héritage, polymorphisme, templates et conteneurs STL.

CC++98MakefileValgrindGDB
Systèmes Unix

Linux, Shell & processus

Processus, pipes, signaux, redirections, fichiers, permissions, variables d'environnement, multithreading et synchronisation.

LinuxBashPOSIXpthreadsFork
Réseau & infrastructure

Réseau, Docker & administration

Adressage IP, masques de sous-réseau, routage, sockets TCP/IP, services containerisés, volumes et administration système.

DockerSocketsTCP/IPNGINXDebian
03 · Projets

Projets réalisés à 42 Luxembourg.

Quatorze projets complétés ou en cours, couvrant la programmation C, le C++, les systèmes Unix, le réseau et l'infrastructure.

minishell

Shell Unix · parsing · builtins

Création d'un shell Unix simplifié : lexer, parser, gestion des pipes, redirections, variables d'environnement, builtins et signaux. L'un des projets les plus complets du Tronc Commun.

CUnixParsingProcessus

cub3D

Raycasting · textures · MinilibX

Projet graphique inspiré de Wolfenstein 3D : moteur de raycasting en C, rendu dynamique en temps réel, gestion des textures, déplacements et validation de la carte.

CMinilibXRaycastingMath 3D

Philosophers

Threads · mutex · synchronisation

Simulation du problème des philosophes dîneurs en C : gestion des threads POSIX, mutex, conditions de synchronisation et prévention des deadlocks et race conditions.

CpthreadsMutexPOSIX

ft_irc

Serveur IRC · sockets · multi-clients

Création d'un serveur IRC en C++98 : gestion réseau avec sockets non-bloquants, clients multiples, canaux, authentification et protocole IRC complet.

C++SocketsTCPIRC

Inception

Docker · NGINX · WordPress · MariaDB

Infrastructure multi-services containerisée avec Docker Compose : NGINX, WordPress, MariaDB, gestion des volumes, des réseaux internes et des certificats TLS.

DockerComposeNGINXDebian

push_swap

Tri · algorithmes · complexité

Tri d'une pile d'entiers avec deux stacks et un jeu d'instructions limité. L'objectif est de trier les données avec le nombre de mouvements le plus faible possible.

CAlgorithmieTriComplexité

NetPractice

Adressage IP · sous-réseaux · routage

Exercices pratiques sur les fondamentaux du réseau : adressage IP, calcul de sous-réseaux, masques, passerelles et configuration de topologies réseau.

TCP/IPSous-réseauxRoutage

so_long

Jeu 2D · sprites · MinilibX

Petit jeu 2D en C avec MinilibX : gestion des textures et sprites, événements clavier, déplacements et logique de jeu dans un environnement tile-based.

CMinilibX2DÉvénements

CPP Modules 00–09

OOP · polymorphisme · templates · STL

Série de dix modules couvrant la programmation orientée objet en C++98 : classes, héritage, polymorphisme, exceptions, casts, templates, conteneurs et itérateurs.

C++98OOPTemplatesSTL

pipex

Pipes · processus · redirections Unix

Reproduction du comportement des pipes Unix en C : fork, exec, gestion des descripteurs de fichiers et redirections d'entrée/sortie entre processus enfants.

CForkPipeUnix

Born2beroot

Virtualisation · Debian · administration

Introduction à la virtualisation et à l'administration système Linux : configuration Debian, sudo, SSH, pare-feu UFW, partitionnement LVM et script de monitoring.

DebianVirtualBoxSSHUFW

libft

Bibliothèque C · fonctions standard

Recréation des fonctions essentielles de la bibliothèque standard C : manipulation de chaînes, gestion mémoire et listes chaînées. Réutilisée dans tous les projets suivants.

CMakefilestdlibListes

ft_printf

Variadiques · formatage de sortie

Réimplémentation de la fonction printf en C : gestion des fonctions variadiques, parsing des spécificateurs de format et formatage des différents types de données.

CVariadiquesParsing

get_next_line

Lecture ligne par ligne · descripteurs · buffer

Fonction de lecture ligne par ligne depuis un descripteur de fichier ou l'entrée standard, avec gestion d'un buffer statique et support de plusieurs descripteurs simultanés.

CFile I/OBufferPOSIX
04 · Parcours 42

Une progression par projets concrets.

Depuis octobre 2024, chaque compétence acquise est liée à un projet réel, validé en peer review. Niveau actuel : 5.81 — progression : 57 %.

Fondations

libft, ft_printf, get_next_line

Premiers pas en C : manipulation de la mémoire, des chaînes de caractères et des entrées/sorties bas niveau. Ces projets constituent une bibliothèque réutilisée dans tous ceux qui suivent.

Unix

Born2beroot, pipex, minishell

Comprendre le système depuis l'intérieur : administration Linux, processus, pipes, signaux et redirections. Le projet minishell conclut cette phase avec la construction d'un shell Unix complet.

Algorithmie

push_swap, Philosophers

Algorithmique de tri avec contraintes strictes d'efficacité, puis programmation concurrente : threads POSIX, mutex et prévention des problèmes de synchronisation.

Graphisme

so_long, cub3D

Introduction au rendu graphique avec MinilibX : jeu 2D tile-based, puis moteur de raycasting 3D inspiré de Wolfenstein. Gestion des événements et du rendu en temps réel.

C++

CPP Modules 00–09, ft_irc

Apprentissage de la programmation orientée objet en C++98 par la pratique, puis application directe dans un serveur IRC réseau multi-clients en cours de réalisation.

Infra

NetPractice, Inception

Fondamentaux du réseau (IP, routage, sous-réseaux) et infrastructure Docker multi-services : conteneurisation, volumes, réseaux internes et administration système avancée.

05 · Contact

Vous souhaitez consulter mes projets ou échanger ?

Mon GitHub centralise l'ensemble de mon travail. Je suis disponible pour des discussions techniques, des opportunités de stage ou d'alternance, ou tout simplement pour échanger autour du développement.