Minishell — Shell Type Bash en C
Un shell Unix personnalisé construit from scratch en C qui réplique les comportements fondamentaux de Bash : exécution de commandes, pipes, redirections, variables d'environnement et gestion des signaux — avec une discipline stricte de sécurité mémoire.

Overview
Ce projet est une immersion profonde dans la façon dont les systèmes d'exploitation gèrent l'exécution de commandes et le contrôle des processus. En construisant un shell type Bash from scratch en C, nous avons répliqué les comportements Unix fondamentaux — du parsing de l'entrée utilisateur à l'exécution des commandes, la gestion des processus et le traitement des pipes et redirections avec précision.
Profondeur technique
Le shell implémente un comportement précis type Bash, incluant le parsing de commandes avec règles de guillemets, l'expansion des variables d'environnement et la gestion des signaux (Ctrl+C, Ctrl+D, Ctrl+\). Il supporte les pipes, les redirections entrée/sortie et la création de processus via fork/exec, tout en assurant la sécurité mémoire et une gestion robuste des erreurs sur les cas limites.
Ce que nous avons appris
Ce projet a renforcé notre compréhension de la programmation système bas niveau : cycle de vie des processus, communication inter-processus via pipes, descripteurs de fichiers et standards POSIX. Nous avons approfondi nos connaissances en exécution de commandes Bash, fondamentaux du scripting shell et écriture de code C propre et fiable sous contraintes strictes — compétences essentielles pour l'ingénierie système et backend.
Fonctionnalités clés & compétences
- Exécution de commandes avec pipelines et redirections E/S
- Gestion des variables d'environnement alignée sur la sémantique Bash
- Gestion des signaux (SIGINT, SIGQUIT, EOF) pour usage interactif
- Code C sécurisé mémoire avec discipline stricte de gestion d'erreurs
Envie de créer un projet similaire ?
Je suis disponible pour collaborer sur des applications web, des systèmes automatisés ou des sites performants.