0% ont trouvé ce document utile (0 vote)
5 vues1 page

Guide Simple Shell

Le projet consiste à créer un shell simple en C, visant à renforcer les compétences en programmation système et gestion de processus. Il nécessite la maîtrise de concepts clés tels que les appels système, la gestion des processus, et la tokenisation des commandes. Une documentation professionnelle et un travail collaboratif efficace sont essentiels pour réussir, avec des conseils pour le flux de travail et la gestion du code.

Transféré par

adamlemagnifique
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues1 page

Guide Simple Shell

Le projet consiste à créer un shell simple en C, visant à renforcer les compétences en programmation système et gestion de processus. Il nécessite la maîtrise de concepts clés tels que les appels système, la gestion des processus, et la tokenisation des commandes. Une documentation professionnelle et un travail collaboratif efficace sont essentiels pour réussir, avec des conseils pour le flux de travail et la gestion du code.

Transféré par

adamlemagnifique
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

■ Projet Simple Shell - Guide de Préparation

■ L'objectif
Créer un shell simple en C qui reproduit les fonctionnalités de base d'un shell UNIX. Ce projet consolide vos
connaissances en programmation système, gestion de processus, et travail collaboratif.

■ Concepts clés à maîtriser

System Calls fork(), execve(), wait(), getline()... Comprendre la différence avec les fonctions normales

Processus Parent vs Child, PID, création et gestion Savoir expliquer le cycle de vie d'un processus

Environment PATH, variables d'environnement Format de déclaration et utilisation

Tokenization strtok() et parsing Comment découper les commandes utilisateur

Flux d'exécution Boucle principale du shell Du prompt à l'exécution de la commande

■ Aspects techniques importants


✓ Modes d'exécution Interactif (avec prompt) et non-interactif (pipes)

✓ Gestion mémoire Pas de fuites (utilisez valgrind)

✓ Gestion d'erreurs Gérer les cas limites et les erreurs système

✓ Code propre Noms de variables explicites, fonctions bien découpées

■ Documentation professionnelle
Votre README doit permettre à n'importe qui de comprendre, compiler et utiliser votre shell. Incluez :
description, prérequis, compilation, utilisation (avec exemples), flowchart du flux d'exécution. N'oubliez pas la
man page et le fichier AUTHORS.

■ Travail collaboratif

Git/GitHub Commits réguliers avec messages descriptifs clairs

Répartition Chaque membre doit contribuer de manière équilibrée

Compréhension Chacun doit pouvoir expliquer tout le code, pas seulement sa partie

■ Conseils pour réussir


1 Comprenez le flux Dessinez le flowchart AVANT de coder

2 Testez tôt et souvent Mode interactif ET non-interactif, avec valgrind

3 Documentez en continu Plus facile que de tout faire à la fin

4 Commits intelligents Messages clairs qui expliquent le changement

5 Revue de code en équipe Assurez-vous que chacun comprend tout

Questions ? Soyez curieux, testez, et travaillez en équipe !

Vous aimerez peut-être aussi