**Note**: lorsque la mention "ajouter ce fichier au dépôt" ou "ajouter les chagements au dépôt" apparait il s'agit de créer un commit contenant le fichier ou les modifications apportées. Le commit devra porter comme nom "*SECT*_Q*X*" pour la question *X* de la section *SECT* (par exemple GIT_Q2). Si une question n'a pas de numéro simplement indiquer la section (e.g. SSH).
## A faire tous ensemble
## GIT
*Cloner* ce dépôt (attention à bien utiliser la version https et PAS git/SSH).
1.*Forker* ce dépôt pour obtenir votre propre version sur gitlab.
2.*Cloner* votre version du dépôt (attention à bien utiliser la version SSH et PAS https).
3. Créer une nouvelle branche portant votre nom.
4. Pour le reste de l'examen vous travaillerez sur cette nouvelle branche uniquement, sauf pour les toutes dernières questions (c.f. question *merge*).
5. Executer le script nommé `script.sh`. Ce script a créé un fichier, ajouter ce fichier au dépôt.
## GIT (partie 1)
## Shell / Bash
1. Créer une nouvelle branche portant votre nom.
2. Pour le reste de l'examen vous travaillerez sur cette nouvelle branche uniquement, sauf pour les toutes dernières questions (c.f. question *merge*).
3. Taper la commande `./script.sh` dans la racine du dépôt pour executer le script. Ce script a créé un fichier, ajouter ce fichier au dépôt.
## Shell
1. Supprimer **TOUS** les fichiers se terminant par \*.txt dans le dossier `txt`. Ajouter les changements au dépôt.
1. Supprimer **TOUS** les fichiers se terminant par *.txt dans le dossier `txt`. Ajouter les changements au dépôt.
2. Supprimer le fichier `toerease` du dossier `damn`. Ajouter les changements au dépôt.
3. Le fichier `data.csv` contient des données au fomat colonne. Visualiser les 5 premières lignes de ce fichier et les stocker dans un fichier nommé `data-excerpt.csv`. Ajouter ce fichier au dépôt.
4. En combinant les commandes vues en cours ainsi que la commande `cut` (c.f. man), trouver une commande (i.e. une ligne) permettant d'obtenir *uniquement* le poucentage d'utilisation de la lettre "X". Ecrire cette commande dans un fichier nommé `extract-line.sh` et ajouter ce fichier à la racine du dépôt.
...
...
@@ -25,18 +23,22 @@ En se connectant sur la machine [cuilxa.unige.ch](cuilxa.unige.ch) par SSH copie
## Fichiers
En utilisant un éditeur hexadecimal, stocker dans un fichier nommé **data.bin** la valeur décimale 256 en *little-endian* sur deux octets. Ajouter ce fichier à la racine du dépôt.
1. Proposer un algorithme (syntaxe libre) permettant d'identifier si un fichier est au format UTF8. Ecrire cet algorithme dans un fichier nommé `isUTF8.alg`. L'ajouter à la racine du dépôt.
2. En utilisant un éditeur hexadecimal, stocker dans un fichier nommé `data.bin` la valeur décimale 256 en *little-endian* sur deux octets. Ajouter ce fichier à la racine du dépôt.
## Swift et débuguage
1. Complétez le code de la fonction `isPalindrome` dans le fichier `code/Palindrome.swift`, laquelle retourne `true` si son argument est un palindrome. Pour rappel, un palindrome est une séquence de caractères qui peut se lire indifférement de gauche à droite ou de droite à gauche.
2. A l'aide d'un debugger, identifiez et corrigez le bug qui s'est glissé dans la fonction `primes` dans le fichier `Numbers.swift`, laquelle est supposée retourner la liste des nombres premiers contenus dans le tableau reçu argument.
## GIT (partie 2)
## GIT
Effectuer un *merge* de la branche portant votre nom vers la branche master.
1. Effectuer un *merge* de la branche portant votre nom vers la branche master.
2. Monter le contenu local de votre dépôt vers votre *remote*.
3. Effectuer un *pull request* sur le dépôt originel qui aura pour titre *nom_prenom* où vous indiquerez votre nom et votre prénom.
# Soumettre l'évaluation
Se rendre sur moodle et soumettre l'adresse gitlab de votre dépôt dans le formulaire de l'évaluation.
Ziper le contenu de votre dépôt dans un fichier zip portant votre nom et votre prenom (prenom.nom.zip) et envoyer ce fichier a l'adresse ci-dessous: