Epreuve COI «Culture et Outils Informatiques» (2020-2021)
Christophe Bouthier <christophe.bouthier@telecomnancy.eu>
Gérald Oster <gerald.oster@telecomnancy.eu>
Aucun document n'est autorisé. Aucune communication n'est autorisée.
Seuls sont autorisés :
- un navigateur Internet uniquement pour consulter la plateforme gitlab de l'école ;
- un ou plusieurs terminaux ;
- un ou plusieurs éditeurs de texte/code ;
- l'usage de la commande
man
pour obtenir de la documentation sur les commandesgit
.
Préliminaires
Au cours de cette épreuve vous allez mettre en œuvre un workflow git : celui reposant sur des branches par fonctionnalité (feature branch).
Ainsi, vous serez amené à cloner un dépôt git depuis la plateforme gitlab de l'école https//gitlab.telecomnancy.univ-lorraine.fr/, à créer et manipuler des branches, à fusionner des branches -- peut-être résoudre des conflits -- et enfin déposer sur le dépôt les nouvelles branches et les nouveaux commits que vous aurez réalisés.
TOUTES vos réponses doivent être rendue dans ce projet, qui lui-même doit être poussé sur la plateforme gitlab de l'école. AUCUNE autre réponse que celles poussées sur la plateforme ne sera prise en compte.
1ère étape : vérification
Vérifiez que votre nom d'utilisateur et votre email sont configurés correctement pour la commande git
en utilisant la commande git config
.
Vous devriez avoir quelque chose comme :
user.email=benjamin.sisko@telecomnancy.eu
user.name=Benjamin Sisko
2ème étape : la récupération du dépôt
- Connectez-vous sur la plateforme gitlab de l'école (pour rappel, votre identifiant est votre adresse email
prénom.nom@telecomnancy.eu
et votre mot de passe est votre mot de passe UL -- celui utilisé sur l'ENT). Vous devriez constater l'apparition d'un nouveau projet (exam2021COI/exam2021COIxxx
, avec un numéroxxx
entre 1 et 125). - Clonez ce dépôt en local en utilisant la commande adéquate.
Votre copie locale du dépôt contient une branche master
qui contient la version stable la plus récente d'une application Python.
Vous pouvez essayer d'exécuter cette application (ce n'est pas obligatoire.)
- Ajoutez votre nom dans le fichier
name.txt
, commitez et poussez la modification. Si cela fonctionne, c’est bon vous êtes prêt.
3ème étape : une nouvelle fonctionnalité
Dans le workflow feature branch, un développeur ne travaille jamais sur la branche principale master
. Lorsqu'il développe une nouvelle fonctionnalité, il créer toujours une nouvelle branche qui sera fusionnée ultérieurement à la branche master
.
- Créez une nouvelle feature branch dénommée
feature-34
et sauter dans cette branche. - Modifier le code de l'application pour ajouter la 34ème règles de l'acquisition (
34. War is good for business.
) entre la 33ème et la 35ème règle. - Committer votre nouvelle fonctionnalité (ne déposez rien sur gitlab pour le moment !).
- Repositionnez-vous dans la branche principale.
4ème étape : soumettre une fonctionnalité
Vous avez réalisé une nouvelle fonctionnalité et vous voulez la soumettre au reste de l'équipe de développement. Pour cela vous allez la déposer sur le dépôt partagé (celui sur gitlab).
- Envoyez votre commit/votre branche sur le dépôt.
- Vérifiez avec votre navigateur que tout est bien déposé sur la plateforme.
5ème étape : revue et acceptation d'une nouvelle fonctionnalité
Vous allez maintenant revoir/relire le travail effectué par une autre collaboratrice. Celle-ci à déposer son travail dans la branche fix-33
.
- Relisez la contribution (ne modifiez rien !). Vous pouvez exécutez le programme pour voir si celui-ci fonctionne.
- La contribution étant satisfaisante, vous allez accepter la contribution en fusionnant cette branche avec la branche principale, puis en détruisant la branche
fix-33
(attention à ce que vous faites, détruire sans savoir ce que l'on fait est toujours une manipulation hasardeuse !).
6ème étape : valider votre contribution
Comme vous êtes sûr de vous-même et que vous n'avez pas d'autre collaborateur. Vous allez vous-même valider votre propre contribution.
- Fusionner votre fonctionnalité -- rappelez-vous de la branche que vous aviez créée. --
- Ne détruisez pas la branche -- ceci uniquement pour nous permettre de vérifier votre travail. --
- Assurez que tout fonctionne correctement : votre programme s'exécute et les deux contributions sont présentes.
7ème étape : le dépôt final
- Ajouter un
tag
intituléRELEASE_FERENGI
sur le commit courant -- dernier commit -- de la branche principale pour identifier cette nouvelle version stable de l'application. - Déposez le tout sur le dépôt partagé
- Vérifiez que tout est bien déposé sur la plateforme (commits, branches, tags, etc.)
Vous pouvez maintenant quitter la salle, avant de vous lever de votre chaise pour partir, prononcez à haute voix l'expression Klingon « Qapla' ».