KFS-2 : mémoire et interruptions
Deuxième étape de la série kernel from scratch : GDT, gestion des interruptions et shell de debug au clavier.
- C
- x86
- Assembly
Tous les projets du cursus 42, regroupés par domaine et du plus récent au plus ancien.
Deuxième étape de la série kernel from scratch : GDT, gestion des interruptions et shell de debug au clavier.
Un noyau i386 amorçable écrit de zéro, avec sa propre GDT et un pilote texte VGA.
Analyse et visualisation de données, puis régression logistique écrite de zéro pour répartir des élèves dans les maisons de Poudlard.
Serveur IRC développé en C++, conforme à une partie du protocole IRC.
Un shell Unix minimal en C, sur le modèle de bash : analyse de la ligne, pipes, redirections, variables d’environnement et signaux.
Le dîner des philosophes en C : threads, mutex et ordonnancement sans famine, sans la moindre situation de compétition.
Petit jeu 2D en C bâti sur MiniLibX : rendu de sprites, analyse de la carte et gestion des événements clavier.
Tri d’une pile avec un jeu d’instructions restreint, optimisé pour réduire au maximum le nombre d’opérations.
Réimplémentation du pipeline du shell en C : fork, pipe, dup2 et gestion des processus.
Réimplémentation de printf en C, avec arguments variadiques et analyseur de format maison.
Lecture d’un fichier ligne par ligne en C, avec un tampon statique conservé entre les appels et sans fuite mémoire.
Une bibliothèque C personnelle réimplémentant une partie de la libc, liée par tous les projets 42 suivants.
Recherche et documentation de vulnérabilités web sur une application volontairement faillible.
Défi de sécurité : exploiter une suite de vulnérabilités pour passer d’un utilisateur à l’autre sur un système Linux.
Déploiement automatisé d’une pile web multi-services sur un serveur distant, provisionné de zéro avec Ansible et Docker.
Une petite infrastructure de services (NGINX en TLS, WordPress, MariaDB), chacun dans son conteneur Docker, orchestrés avec Docker Compose.
Mise en place d’une machine virtuelle Linux sécurisée : partitionnement LVM, pare-feu, SSH, politiques sudo et mots de passe.
Application web de rencontre full-stack, développée avec React, Node.js / Express et PostgreSQL.
Application web temps réel réalisée en équipe autour d’un jeu multijoueur en ligne.