Séminaire
Objectifs
- Configurer un environnement de développement.
- Utiliser un éditeur de code.
- Utiliser un système de contrôle de version.
- Utiliser le terminal.
- Utiliser le Markdown.
- Utiliser un gestionnaire de paquets.
Rendu
- GitHub Classroom : https://classroom.github.com/a/NnhElS3j
- Présentation de soi sur Moodle
- Délai : 1 semaine
Mise en place
- Créer un dossier pour le cours (par exemple un dossier
bs21inf5dans le dossierhepdans vos documents) pour y mettre tous les projets du cours.- Le dossier ne doit pas être dans un répertoire synchronisé (OneDrive, iCloud, Google Drive, etc.) pour éviter des problèmes avec Git.
- Windows : Installer Windows Terminal
- Ouvrir un terminal.
- macOS : Ouvrir ou quitter Terminal sur Mac
- Chercher
Terminaldans la barre de recherche (Cmd + Space).
- Chercher
- Windows : Chercher
Terminaldans le menu Démarrer (Win).- Utiliser PowerShell au lieu de CMD (Invite de commandes).
- Pour exécuter une commande, écrire la commande puis Enter. Essayer les commandes suivantes :
lspour lister les fichiers et répertoires du répertoire courant.pwdpour afficher le chemin absolu du répertoire courant.
- macOS : Ouvrir ou quitter Terminal sur Mac
- macOS : Installer Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- Ne pas oublier de lancer les commandes indiquées à la fin de l'installation
- Installer
- Visual Studio Code
- Git
- macOS :
brew install git(documentation) - Windows :
winget install --id Git.Git -e --source winget(documentation)
- macOS :
- GitHub CLI
- macOS :
brew install gh - Windows :
winget install --id GitHub.cli
- macOS :
GitHub
- Créer un compte sur GitHub.
- Utiliser une adresse e-mail privée afin de réutiliser le compte après la formation.
- Configurer Git
- Sur un terminal
git config --global user.name "Prénom Nom"- Par exemple :
git config --global user.name "jane Doe"
- Par exemple :
git config --global user.email "email@example.com"- Par exemple :
git config --global user.email "jane.doe@etu.hepl.ch"
- Par exemple :
- Windows :
git config --global core.autocrlf true(Fins de ligne)
- Sur un terminal
- Se connecter à GitHub depuis le terminal
gh auth loginWhat account do you want to log into?- Choisir
GitHub.comavec les flèches puis Enter.
- Choisir
What is your preferred protocol for Git operations on this host?- Choisir
HTTPS.
- Choisir
Authenticate Git with your GitHub credentials?- Accepter en tapant sur Enter (Yes par défaut car en majuscule).
How would you like to authenticate GitHub CLI?- Choisir
Login with a web browser.
- Choisir
- Suivre les instructions affichées dans le terminal pour terminer l'authentification.
- Pour copier dans le terminal, sélectionner le texte puis clic-droit.
- Accepter le devoir sur GitHub Classroom.
- Cloner le dépôt GitHub sur sa machine.
- Cliquer sur le bouton "Code".
- Copier l'URL HTTPS du dépôt.
- Ouvrir un terminal sur le dossier du cours.
- macOS
- Aller sur le dossier avec le Finder.
- Clic-droit sur le dossier > Services > Nouveau terminal au dossier
- Windows
- Aller sur le dossier avec l'Explorateur de fichiers.
- Clic-droit sur le dossier > Ouvrir dans le Terminal
- macOS
- Cloner le dépôt avec la commande
git clone <URL>. - Aussi possible de cloner avec Visual Studio Code.
Visual Studio Code
- Ouvrir Visual Studio Code.
- Depuis Visual Studio Code, ouvrir le dossier du dépôt Git cloné précédemment.
- File > Open Folder... > Sélectionner le dossier du dépôt Git
Markdown
Le Markdown est un langage de balisage léger. Il est utilisé pour formater du texte de manière simple et lisible. Les rapports à rendre pour le cours seront rédigés en Markdown.
- Créer un fichier
report.mddans le dépôt Git avec un contenu similaire à ci-dessous.- Modifier et compléter le contenu du tableau avec les tâches effectuées, le temps estimé et le temps passé.
- Markdown Cheat Sheet
- Pour visualiser le rendu d'un fichier Markdown sur Visual Studio Code :
- macOS : Cmd + Shift + V
- Windows : Ctrl + Shift + V
- Pour formater le fichier :
- macOS : Option + Shift + F
- Windows : Alt + Shift + F
./report.md
# Séminaire 01 - Environnement
Prénom Nom
## Estimation
| Tâche | Temps estimé | Temps passé | Commentaire |
| ------------- | ------------ | ----------- | --------------------- |
| Mise en place | 1h | 1h | |
| Installation | 15m | 30m | problème pour Node.js |
| ... | ... | ... | ... |
| Total | 2h30 | | |
Installation
Installer ou vérifier les outils suivants :
- Gestionnaire de paquets
- macOS : Homebrew
- Vérifier avec
brew --version.
- Vérifier avec
- Windows : Chocolatey
winget install --id chocolatey.chocolatey --source winget(documentation)- Vérifier avec
choco --version.
- macOS : Homebrew
- Un navigateur web parmi :
- Git
- Vérifier avec
git --version.
- Vérifier avec
- Node.js
- macOS :
brew install node - Windows :
choco install nodejs - Vérifier avec
node -v. - Avancé : utiliser nvm pour gérer plusieurs versions sur la même machine.
- macOS :
Conseils
- Préférer les versions stables (LTS pour long term support) aux versions plus récentes (p. ex. Node.js)
- Moins de bugs potentiels
- Préférer les versions officielles aux versions tierces (p. ex. Python au lieu de Anaconda)
- Plus sûr de ce qui est installé
- Windows : Utiliser cmder comme terminal (disponible via Chocolatey)
- Intégration avec Windows Terminal
Terminal
Commandes de base
Sans modification du système (safe) :
ls: lister les fichiers et répertoires du répertoire courant (ls pour list).pwd: afficher le chemin absolu du répertoire courant (pwd pour print working directory).cd: changer de répertoire (cd pour change directory).cd chemin_relatif_ou_absolupour changer de répertoire.cd ..pour remonter d'un niveau.
clear: nettoyer l'affichage de l'historique.history: afficher l'historique des commandes.cat: afficher le contenu d'un fichier (cat pour concatenate).cat nom_fichierpour afficher le contenu d'un fichier.
echo: afficher du texte dans le terminal.echo 'texte'pour afficher du texte.
exit: fermer le terminal.
Avec modification du système (attention à l'usage) :
touch: créer un fichier vide.touch nom_fichierpour créer un fichier vide.
mkdir: créer un répertoire (mkdir pour make directory).mkdir nom_repertoirepour créer un répertoire.
rm: supprimer un fichier ou un répertoire (rm pour remove).rm nom_fichierpour supprimer un fichier.rm -r nom_repertoirepour supprimer un répertoire et son contenu (r pour recursive).
cp: copier un fichier ou un répertoire (cp pour copy).cp source destinationpour copier un fichier.cp -r source destinationpour copier un répertoire et son contenu (r pour recursive).
mv: déplacer ou renommer un fichier ou un répertoire (mv pour move).mv source destinationpour déplacer ou renommer un fichier ou un répertoire.
Opérateurs de redirection :
>: rediriger la sortie standard vers un fichier en écrasant le contenu existant.commande > fichierpour écrire la sortie de la commande dans le fichier.
>>: rediriger la sortie standard vers un fichier en ajoutant à la fin du fichier.commande >> fichierpour ajouter la sortie de la commande à la fin du fichier.
Astuces
- La touche Tab permet l'auto-complétion des commandes et des noms de fichiers/répertoires pour éviter les fautes de frappe.
- Les touches fléchées ← et → permettent d'éditer la commande actuelle.
- Les touches fléchées ↑ et ↓ permettent de naviguer dans l'historique des commandes précédentes.
- À tout moment, Ctrl + C permet d'annuler la commande en cours.
Exercices
- Ouvrir un terminal sur Visual Studio Code.
- View > Terminal
- Afficher
Hello, World!dans le terminal. - Vérifier le chemin du répertoire courant.
- Créer un répertoire
terminal. - Se déplacer dans le répertoire
terminal. - Vérifier que l'on est bien dans le répertoire
terminal. - Lister les fichiers et répertoires (il ne devrait rien y avoir).
- Créer un fichier
hello.txt. - Vérifier que le fichier
hello.txta bien été créé. - Vérifier que le fichier est bien vide.
- Écrire 'Hello, World!' dans le fichier
hello.txt. - Vérifier le contenu du fichier
hello.txt. - Copier le fichier
hello.txtvershello-2.txt. - Vérifier le contenu du fichier
hello-2.txt. - Ajouter une seconde ligne 'This is a test.' à la fin du fichier
hello.txt. - Vérifier le contenu du fichier
hello.txt. - Copier le fichier
hello.txtvershello-3.txt. - Renommer le fichier
hello-3.txtenhello-4.txt. - Vérifier le contenu du fichier
hello-4.txt. - Supprimer le fichier
hello-4.txt. - Vérifier que le fichier
hello-4.txta bien été supprimé.
Éditeur de texte (avancé)
Il est possible d'éditer des fichiers texte directement depuis le terminal avec des éditeurs de texte en ligne de commande :
- vi
- vim
vim bleu.txtpour ouvrir (ou créer) le fichierbleu.txt- Pour éditer, taper i
- Pour enregistrer et quitter, taper Esc puis
:wqpuis Enter
npm
Git
- Ajouter les fichiers au dépôt Git et pousser les changements sur GitHub.
- En ligne de commande :
- Revenir dans le répertoire du dépôt Git en utilisant
cd. - Vérifier l'état du dépôt Git
git status - Ajouter les fichiers créés dans le "staging area" (zone de préparation)
git add --all - Vérifier que les fichiers ont bien été ajoutés
git status - Créer un commit avec un message
git commit -m "ajouter les exercices sur le terminal" - Envoyer le commit sur le dépôt distant
git push
- Revenir dans le répertoire du dépôt Git en utilisant
- Avec l'interface graphique de Visual Studio Code
- En ligne de commande :
- Vérifier sur le site Web de GitHub que les fichiers ont bien été poussés.
Configuration
- Configurer votre ordinateur pour qu'il affiche les extensions des fichiers
- macOS : Finder > Préférences > Avancé > Cocher "Afficher toutes les extensions de fichier"
- Windows : Explorer > Affichage > Options > Modifier les options des dossiers et de recherche > Affichage > Décocher "Masquer les extensions des fichiers dont le type est connu"
- Configurer votre ordinateur pour qu'il affiche les fichiers cachés
- macOS : Finder > Cmd + Shift + .
- Windows : Explorer > Affichage > Options > Modifier les options des dossiers et de recherche > Affichage > Cocher "Afficher les fichiers, dossiers et lecteurs cachés"
Présentation
- Écrire une brève présentation de soi avec ses centres d'intérêt, ses compétences en informatique, pourquoi avoir choisi cette formation, etc.
- Rendre la présentation au format PDF nommé
presentation-prenom-nom.pdf(avec votre prénom et nom, tout en minuscule, sans accent, sans espace avec des tirets) sur Moodle.
Raccourcis clavier
Les raccourcis clavier sont des combinaisons de touches qui permettent d'effectuer des actions bien plus rapidement. Voici quelques raccourcis clavier utiles :
- Ctrl + C : Copier (C pour Copy)
- Ctrl + V : Coller (à droite de C)
- Ctrl + X : Couper (à gauche de C)
- Ctrl + Z : Annuler
- Ctrl + S : Enregistrer (S pour Save)
- Ctrl + A : Tout sélectionner (A pour All)
- Ctrl + F : Rechercher (F pour Find)
Exercices supplémentaires
- Jeu sur les raccourcis clavier
- Jeu sur les commandes du terminal :
- bashcrawl
- Sélectionner "Terminal" comme interface.
- Lire les instructions dans le terminal pour commencer.
- The Command Line Murders
- Sélectionner "Terminal" comme interface.
cat instructionspour commencer.
- Command Challenge
- bashcrawl
- Exercices sur Markdown
- Apprendre le Git Branching
- Le Terminal sous macOS
Ressources supplémentaires
- Cours express sur la ligne de commande
- Ignorer des fichiers avec Git
- Simulateur de terminal
- Disposable Root Servers