Un shell minimaliste inspiré de bash : parsing, pipes, redirections, variables d'environnement. En binôme.
$ ./minishell
minishell# echo "Hello $USER" '$HOME is not expanded here'
Hello alehamad $HOME is not expanded here
minishell# export GREETING="hi there"
minishell# echo $GREETING | tr a-z A-Z > out.txt
minishell# cat < out.txt
HI THERE
minishell# unknown_cmd
minishell: unknown_cmd: command not found
minishell# echo $?
127
minishell# exit 42
exit
voir le code →
Un serveur IRC en C++98, compatible avec de vrais clients (irssi). Boucle événementielle non bloquante avec epoll, gestion des canaux et des opérateurs. En binôme.
$ ./ircserv 6667 secret
$ nc -C 127.0.0.1 6667
PASS secret
NICK alehamad
USER alehamad 0 * :Alexandre
:irc.local 001 alehamad :Welcome to the Internet Relay Chat network alehamad
JOIN #42paris
:alehamad!alehamad@localhost JOIN :#42paris
voir le code →
Un moteur 3D façon Wolfenstein 3D en raycasting (algorithme DDA) : lecture d'une carte .cub et rendu texturé en temps réel avec MiniLibX. En binôme.
$ ./cub3D map/map_valid/map.cub
voir le code →
Un explorateur de fractales (Mandelbrot, Julia, Burning Ship) avec zoom à la souris et navigation au clavier, rendu pixel par pixel avec MiniLibX.
$ ./fractol julia -0.8 0.156
voir le code →
MesPapiers : un assistant de démarches administratives avec IA (lecture de documents, alertes d'échéances) et un espace d'entraide. En équipe de 4.
$ ls src/
app components i18n lib middleware.ts
$ grep -E '"(next|react|prisma)"' package.json
"next": "16.3.4",
"react": "19.2.8",
"prisma": "^6.19.3",
voir le code →
Les 10 modules C++ de 42 (CPP00 à CPP09) en C++98 : classes, forme canonique, héritage, polymorphisme, exceptions, casts, templates, conteneurs STL et tri de Ford-Johnson.
$ tree -L 1
.
├── README.md
├── cpp0
├── cpp1
├── cpp2
├── cpp3
├── cpp4
├── cpp5
├── cpp6
├── cpp7
├── cpp8
└── cpp9
11 directories, 1 file
voir le code →