Skip to content

johnsamuelwrites/ProgC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Tous les travaux pratiques se basent sur les concepts que vous avez déjà appris en cours. Utilisez bien vos supports de cours.
  2. Travaillez en binôme.
  3. Il est obligatoire de citer toutes vos sources (par exemple, sites internet, groupes).
  4. Les séances sont encadrées par un intervenant ou enseignant.
  5. N'utilisez pas de bibliothèques externes.

Evaluation

  1. Les travaux pratiques comptent pour 40 % de votre note finale.
  2. Il y a six travaux pratiques. Chaque travail pratique (TP) comporte plusieurs exercices, et chaque exercice est noté.
  3. Le total des points pour tous les travaux pratiques est de 20.
  4. Les rendus doivent être faits en ligne.
  5. 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.