Alexandre Hamad

Développeur · Préférence pour le bas niveau · Étudiant à 42 Paris

● Recherche alternance, stage ou CDI

Photo d'Alexandre Hamad

À propos

Passionné de hardware, ancien couvreur et chef d'équipe, je me suis reconverti au développement à 42 Paris, où je code principalement en C et C++.

Projets

minishell

Un shell minimaliste inspiré de bash : parsing, pipes, redirections, variables d'environnement. En binôme.

  • C
  • Processus
  • Parsing
$ ./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 →

ft_irc

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.

  • C++98
  • Réseau
  • epoll
$ ./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 →

cub3D

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.

  • C
  • Raycasting
  • MiniLibX
$ ./cub3D map/map_valid/map.cub Vue à la première personne dans cub3D : couloirs aux murs de pierre texturés
voir le code →

fract-ol

Un explorateur de fractales (Mandelbrot, Julia, Burning Ship) avec zoom à la souris et navigation au clavier, rendu pixel par pixel avec MiniLibX.

  • C
  • Graphisme
  • MiniLibX
$ ./fractol julia -0.8 0.156 Ensemble de Julia (c = -0.8 + 0.156i) rendu par fract-ol
voir le code →

ft_transcendence

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.

  • TypeScript
  • Next.js
  • React
  • Prisma
$ 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 →

Modules C++

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.

  • C++98
  • POO
  • STL
$ tree -L 1
.
├── README.md
├── cpp0
├── cpp1
├── cpp2
├── cpp3
├── cpp4
├── cpp5
├── cpp6
├── cpp7
├── cpp8
└── cpp9

11 directories, 1 file
voir le code →

Parcours

  1. Nov. 2025 - aujourd'hui

    Étudiant développeur, 42 Paris

    Tronc commun validé : plus de 20 projets en C, C++, réseau, système et web. Poursuite du cursus 42 Advanced en vue d'un titre RNCP.

  2. 2014 - 2025

    Couvreur, chef d'équipe chez HamadB

    Encadrement d'une équipe de 2 à 3 personnes, organisation des chantiers et respect des délais, devis et relation client.

Compétences

Langages
  • C
  • C++
  • TypeScript
  • JavaScript
  • Bash
  • HTML / CSS
  • Assembleur (en cours)
Système & réseau
  • Processus
  • Signaux
  • Threads
  • Sockets TCP
  • epoll
Web
  • React
  • Next.js
  • Node.js
  • Tailwind
  • Prisma
  • PostgreSQL
Outils
  • Git
  • Docker
  • Linux
  • Make
  • GDB
  • Valgrind
  • Neovim
Hardware
  • Montage
  • Diagnostic
  • BIOS
  • Overclocking
  • Installation d'OS

Langues

  • Français (natif)
  • Anglais (technique)

Contact

Une question ou une opportunité ? Écrivez-moi :