Chapitre 1 • Premier programme
| Champ | Valeur |
|---|---|
| Auteur·e | Élise |
| Édition | 2026-10-10 |
| Durée | 1 journée |
| Taille des équipes | 1 personne |
| Rendu | via git, dépôt $YEAR_synthesis, répertoire /c1, droits en lecture à delivery_collector |
Règlement
La réalisation de cet exercice est assujettie aux règles en vigueur dans l’école en matière de triche et de normalisation. Tricher vous expose à de graves sanctions.
Synopsis
Votre objectif est d’apprendre à rendre votre travail sur la forge logicielle git vos identifiants de connexion sur celle-ci sont les mêmes que pour vous connecter en SSH.
Pour rendre votre travail il y a plusieurs étapes à suivre :
- vous connecter sur la forge
- créer un dépôt avec le nom correct
- aller dans les paramètres du dépôt, dans collaborateurs et ajouter
delivery-collectoravec les droits en lecture - cloner le dépôt vide sur votre session
- y ajouter le code que vous voulez rendre
git add vos_fichiers_à_rendre,git commit -m "votre_message_de_commit"git push -u origin main
Pour pouvoir cloner en SSH, et ainsi ne pas avoir à renseigner votre mot de passe à chaque push/pull, il va falloir créer une clé ssh avec ssh-keygen depuis le serveur (equinox) et ajouter la clé publique dans vos paramètres sur la forge logicielle.
Votre deuxième objectif pour aujourd’hui, c’est d’écrire vos premiers programmes en C, et de les déposer sur la forge logicielle.
Étapes GIT
1. Serveur de travail
Assurez-vous d’être connectés au serveur de travail. Si dans votre invité de commande il est déjà écrit votre_login@equinox, c’est que vous êtes connectés. Sinon faites ssh equinox dans un terminal.
2. Configuration SSH pour la forge
Afin de communiquer avec la forge par SSH. On va générer, depuis votre session sur le serveur, une paire de clé SSH.
Utilisez la commande suivante :
ssh-keygen
Elle va vous permettre de générer une paire de clés SSH sur le serveur.
Vérifiez le nom de la clé qui fini en .pub avec :
ls ~/.ssh
Faites la commande suivante, en remplaçant id_ed25519.pub par le nom de votre clé publique si il est différent, pour afficher votre clé publique :
cat ~/.ssh/id_ed25519.pub
Connectez-vous sur la forge logicielle git, allez dans vos paramètres puis dans vos clés SSH.


Ajoutez une clé, et collez le contenu de votre id_ed25519.pub (ou de votre fichier .pub avec une autre nom, le cas échéant) dans la boite de texte.
N’oubliez pas de valider.
3. Création du dépôt
En haut à droite sur la forge vous avez un bouton + avec lequel vous pouvez créez un dépôt, il vous amène sur un formulaire de création de dépôt.
- Donnez à votre dépôt le nom indiqué dans le cartouche du sujet.
- Rendez votre dépôt privé.
- Vous pouvez choisir le
.gitignorepour le langage “C”. - Puis valider tout en bas.
4. Droits de correction
Pour la correction, vous devez donner les droits en lecture sur votre dépôt a un utilisateur précis : delivery-collector.
Pour ce faire, allez dans les paramètres du dépôt, dans les collaborateurs, entrez le nom de delivery-collector, puis validez.

Mettez ses droits en lecture seule.

5. Clonage
Pour travailler sur votre dépôt, il faut que vous le récupériez depuis votre session sur le serveur.
Commencez par copier l’adresse de clonage “SSH” que vous donne la forge.

Dans votre terminal, allez dans le dossier Delivery puis faites :
git clone addresse_de_clonage
Après avoir cloné le dépôt, il vous suffit de cd dedans.
6. Éditer des fichiers avec neovim
Avez neovim, créez un fichier hello.txt.
Pour créer un fichier hello.txt avec nvim, il suffit de faire :
nvim hello.txt
Les raccourcis clavier que vous devez apprendre sur vim sont :
ipour passer en mode d’insertionescpour sortir du mode d’insertion
- en mode normal :
:wsauvegarder ;:qquitter ;:wqsauvegarder et quitter ;:e NOM_DE_FICHIERchoisir un nouveau fichier à créer ou a ouvrir ;
ctrl+cannuler un raccourci ou une commande que vous avez commencé de taper.
Dans le fichier hello.txt écrivez :
hello world!
Sauvegardez et quittez.
7. Identité git
Créez le fichier ~/.gitconfig avec le contenu suivant :
[user]
name = Prénom Nom
email = login@edu.ecole-89.com
[init]
defaultBranch = main
8. add, commit et push
À nouveau dans votre dépôt, pour que votre fichier soit suivi par git, il faut commencer par l’ajouter à git avec :
git add hello.txt
On peut afficher les fichiers modifiés avec git status. La commande affiche, l’état des fichiers modifiés :
- s’il sont suivis par git et ajoutés ;
- s’il sont suivis par git mais pas encore ajoutés au prochain commit ;
- s’il ne sont pas suivis.
Après chaque changement d’un fichier que l’on souhaite déposer sur git, il faut le add.
Pour sauvegarder l’état des fichiers ajoutés dans l’historique git de votre dépôt (pour pouvoir le push), il faut faire un commit.
git commit -m "votre_message"
Après avoir fait un commit vous devez push vos changement locaux vers le serveur avec la commande :
git push
Premiers programmes en C
Pour faire vos premiers programmes, commencez par regarder les vidéos de cours associées sur MS Teams dans “Support de Cours”, “Chapitre 1 partie 2”.
return 189
Fichier à rendre : return_189.c
Écrivez un programme qui sort avec le code 189. Utiliser nvim pour créer et éditer votre fichier.
Exemple de test effectué à la correction :
$ gcc return_189.c
$ ./a.out
$ echo $?
189
print_b
Fichier à rendre : print_b.c
Fonction·s autorisée·s : write
Écrivez un programme qui écrit la lettre b suivi d’un retour à la ligne sur la sortie standard.
Pour afficher une lettre, je vous donne une fonction, qui prend en paramètre la lettre (ou le caractère) que vous voulez afficher. Copiez cette fonction en haut du fichier print_b.c que vous allez rendre.
#include <unistd.h>
void tc_putchar(char c)
{
write(1, &c, 1);
}
Dans votre fonction main utilisez tc_putchar pour afficher la lettre et le retour à la ligne.
Exemple de test :
$ gcc print_b.c
$ ./a.out
b
$
print_digits
Fichier à rendre : print_digits.c
Fonction·s autorisée·s : write
Écrivez un programme qui écrit tous les chiffres de 0 à 9 sur la sortie standard suivi d’un retour à la ligne.
Copier l’extrait de code avec tc_putchar de l’exercice précédent, et mettez le au début de votre fichier print_digit. Utilisez tc_putchar dans votre fonction main pour afficher les caractères.
Exemple de test :
$ gcc print_digits.c
$ ./a.out
0123456789
$