ProgC
Sujets de travaux pratiques du module Programmation en C
Année: 2024-2025
Sujets de travaux pratiques
Objectifs
Les objectifs du module sont de comprendre les différents aspects de la programmation en C et de créer un projet en C. Après avoir réalisé les exercices, vous serez capable de :
- Comprendre la chaîne de compilation en utilisant GCC (GNU Compiler Collection) : du prétraitement à l’exécution.
- Travailler avec les bibliothèques standard et effectuer des appels système (gestion des fichiers, sockets réseau, etc.).
- Comprendre les pointeurs et manipuler les buffers en les utilisant.
- Créer, compiler et exécuter un projet en C.
- Manipuler différents formats de données, tels que BMP, et utiliser des structures de données.
- Créer un simple programme client-serveur pour le transfert de fichiers et de messages.
- Documenter une application en utilisant le format Markdown (*.md).
- Tester une application.
Environnement de programmation:
- Système d’exploitation: Linux
- Ubuntu
- Machine virtuelle (VirtualBox) + Ubuntu
- Compilateur:
gcc
- Logiciels: firefox
Instructions
- Tous les travaux pratiques se basent sur les concepts que vous avez déjà appris en cours. Utilisez bien vos supports de cours.
- Travaillez en binôme.
- Il est obligatoire de citer toutes vos sources (par exemple, sites internet, groupes).
- Les séances sont encadrées par un intervenant ou enseignant.
- N’utilisez pas de bibliothèques externes.
Evaluation
- Les travaux pratiques comptent pour 40 % de votre note finale.
- Il y a six travaux pratiques. Chaque travail pratique (TP) comporte plusieurs exercices, et chaque exercice est noté.
- Le total des points pour tous les travaux pratiques est de 20.
- Les rendus doivent être faits en ligne.
- Chaque question a un niveau de difficulté :
- ★ : Facile
- ★★ : Moyenne
- ★★★ : Difficile
Rendus
Il y a deux éléments à rendre : le rapport d’auto-évaluation et les fichiers sources.
Votre dossier de rendu doit contenir les fichiers suivants :
- a. README.md : rapport d’auto-évaluation
- b. CONTRIBUTORS.md : noms et prénoms des contributeurs
- c. src/ : le code source dans le répertoire src
Votre fichier de rendu doit être renommé selon le format suivant : groupe_N1_N2.zip, où N1 et N2 sont les noms des membres du groupe (par exemple, groupe_DUPONT_SMITH.zip).
Rédigez les fichiers README.md et CONTRIBUTORS.md au format Markdown.
Contenu de README.md (rapport d’auto-évaluation) : TP N (N : [1..6])
- i. Bibliothèques : bibliothèques standard utilisées
- ii. Références : URL et groupes consultés
- iii. Difficulté : niveau de difficulté (facile, moyen, difficile)
- iv. Commentaires (optionnels) : remarques, etc.
Liste de contrôle
Avant de déposer votre travail pratique, assurez-vous de respecter la liste de contrôle suivante :
- ✅ Les prénoms et noms des membres du binôme sont présents dans le fichier CONTRIBUTORS.md.
- ✅ Le fichier README.md est entièrement rempli.
- ✅ Les noms des fichiers de chaque exercice respectent ceux demandés dans les travaux pratiques.
- ✅ Votre code est bien commenté.
- ✅ Votre code se compile sans aucune erreur (et, si possible, sans aucun avertissement).
Modèle de code
Pour référence, vous pouvez consulter le répertoire suivant :
https://github.com/johnsamuelwrites/ProgC. Ce répertoire contient des modèles de code pour tous les exercices des six travaux pratiques.
Vous pouvez le consulter en ligne en utilisant le lien ci-dessus, ou le cloner sur votre machine via le terminal en utilisant les commandes suivantes :
$ git clone https://github.com/johnsamuelwrites/ProgC
$ cd ProgC
$ ls
Pour obtenir les dernières mises à jour du répertoire, vous pouvez exécuter la commande suivante :
$ git pull
⚠️ Attention
- Aucune soumission par courriel ne sera acceptée.
- Les liens vers des sites externes, tels que GitHub, GitLab, etc., ne seront pas acceptés.
- Seules les soumissions complètes sur E-Campus seront acceptées pour l’évaluation.
- Ne modifiez pas les noms des fichiers (*.c, *.h, *.md, etc.).
Author
- John Samuel
Archives and Releases
Licence
All code are released under GPLv3+ licence. The associated documentation and other content are released under CC-BY-SA.