Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions annotations/01-the-shell-fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Annotations pour la Leçon 1 : Le Shell

Qu'est-ce que le terminal ?
---
Terminal : Le terminal est un programme qui expose le shell en ligne de commande aux utilisateurs, permettant une interaction via des commandes textuelles.

Qu'est-ce qu'un shell ?
---
Shell : Un shell sert d'interface avec l'ordinateur. Les shells graphiques fournissent des icônes et des fenêtres, tandis que les shells en ligne de commande facilitent les opérations d'entrée et de sortie de texte.

Qu'est-ce qu'une commande ?
---
Commande : Les commandes sont des représentations textuelles des demandes de l'utilisateur à l'ordinateur. Par exemple, un e-mail peut être envoyé à l'aide d'une commande telle que `mail --subject="j'ai besoin d'une augmentation" [email protected] < ./contenu.txt`.

Qu'est-ce qu'un interpréteur ?
---
Interpréteur : Un interpréteur est un programme qui traite et exécute les programmes saisis par l'utilisateur. Il gère la logique, y compris les conditions et les boucles, en en faisant un outil essentiel pour l'exécution de scripts shell.

Qu'est-ce que le PATH ?
---
PATH : Le PATH est une variable d'environnement qui répertorie les répertoires dans lesquels le shell recherche les programmes. Le shell utilise la première correspondance qu'il trouve pour l'exécution du programme.

Qu'est-ce qu'une variable d'environnement ?
---
Variable d'environnement : Les variables d'environnement sont des valeurs nommées accessibles aux commandes du shell. Elles incluent des conventions établies telles que `PWD`, `PATH` et `PS1`, et les utilisateurs peuvent créer leurs propres variables.

Comment puis-je voir les variables d'environnement ?
---
Pour afficher les variables d'environnement actuelles, utilisez la commande `env`.

Comment puis-je configurer ces variables ?
---
Les variables peuvent être configurées à l'aide de fichiers tels que `.bashrc` ou `.zshrc`, permettant la personnalisation de l'environnement du shell.

Quel shell suis-je en train d'exécuter ?
---
Déterminez le shell actif en utilisant la commande `echo $0`.
37 changes: 37 additions & 0 deletions annotations/01-the-shell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Annotations for Lesson 1: The Shell

What is the terminal?
---
Terminal: The terminal is a program that exposes the command-line shell to users, enabling interaction through text-based commands.

What is a shell?
---
Shell: A shell serves as an interface to the computer. Graphical shells provide icons and windows, while command-line shells facilitate text input and output operations.

What is a command?
---
Command: Commands are textual representations of user requests to the computer. For instance, an email can be sent using a command like `mail --subject="i need a raise" [email protected] < ./contents.txt`.

What is an interpreter?
---
Interpreter: An interpreter is a program that processes and executes user input programs. It handles logic, including conditionals and loops, making it a vital tool for executing shell scripts.

What is the PATH?
---
PATH: The PATH is an environment variable that lists directories where the shell searches for programs. The shell uses the first match it finds for program execution.

What is an environment variable?
---
Environment variable: Environment variables are named values accessible to shell commands. They include established conventions like `PWD`, `PATH`, and `PS1`, and users can create their own variables.

How can I see the environment variables?
---
To view current environment variables, use the `env` command.

How can I configure those variables?
---
Variables can be configured using files like `.bashrc` or `.zshrc`, allowing customization of the shell environment.

What shell am I running?
---
Determine the active shell by using the command `echo $0`.
82 changes: 82 additions & 0 deletions annotations/02-git-fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Annotations pour le Cours 2 : Utilisation de Git

Utilisation de Git
---
Cette leçon présente l'utilisation de Git pour le contrôle de version et la collaboration sur des projets.

Initialisation de git
---
- Initialisez un nouveau dépôt Git en créant un répertoire de projet depuis la ligne de commande.
- Exécutez la commande `git init` pour commencer à suivre les changements dans votre projet.

Configuration de git
---
- Configurez la configuration globale de Git en utilisant des commandes comme `git config --global init.defaultBranch main`.
- Affichez et gérez les configurations Git avec `cat ~/.gitconfig`.

Branche git
---
- Gérez les branches avec Git en utilisant des commandes comme `git branch -m main`.
- Les branches aident à organiser l'historique du projet et les efforts de développement.

Ajout à git
---
- Mettez en scène les modifications pour la validation avec la commande `git add`.
- Par exemple, utilisez `git add pancakes.md` pour préparer les modifications à valider.

Validation git
---
- Validez les modifications avec Git en utilisant la commande `git commit`.
- Les validations sont des instantanés de l'état actuel de votre projet.

Configuration git à nouveau :/
---
- Configurez à nouveau les paramètres de configuration liés à l'utilisateur pour Git, comme `git config --global user.email "[email protected]"`.
- Maintenez une cohérence dans l'auteur et l'identification des validations.

Que faisais-je avec git déjà ?
---
- Vérifiez l'état de votre dépôt Git en utilisant `git status`.
- Comprenez quelles modifications sont prêtes à être validées ou nécessitent de l'attention.

Validation git
---
- Validez les modifications en utilisant `git commit`.
- Rencontrez l'éditeur de texte Vim ; quittez Vim après la validation.

Configuration git (dernière fois)
---
- Configurez l'éditeur principal de Git avec la commande `git config --global core.editor "nano"`.
- Spécifiez l'éditeur de texte préféré pour les opérations Git.

Différence git
---
- Observez les modifications apportées aux fichiers avec `git diff`.
- Mettez en scène et validez les modifications après avoir examiné les différences.

Github
---
- Présentez Github, une plateforme basée sur le web pour l'hébergement et la collaboration de code.
- Créez un dépôt pour le contrôle de version et la collaboration.

Qu'est-ce que SSH ?
---
<div class="max-w-prose mx-auto">
<v-clicks>

- Secure Shell (SSH) est un protocole pour un accès distant sécurisé aux ordinateurs.
- Il prend en charge l'authentification par clé publique, renforçant la sécurité en évitant la transmission de mot de passe.
- SSH chiffre les communications, ce qui le rend précieux pour la gestion à distance, les transferts de données et les proxies.

</v-clicks>
</div>

SSH
---
- Créez une clé SSH pour un accès sécurisé aux dépôts distants.
- Générez des clés avec `ssh-keygen -t ed25519 -C "[email protected]"`.

Pousser le dépôt
---
- Liez le dépôt local à un dépôt distant en utilisant `git remote add origin [email protected]:barraponto/usegit-recipes.git`.
- Poussez les validations vers le dépôt distant avec `git push -u origin main`.
82 changes: 82 additions & 0 deletions annotations/02-git.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
Annotations for Lesson 2: Use Git

Use git
---
This lesson introduces the use of Git for version control and collaboration on projects.

git init
---
- Initialize a new Git repository by creating a project directory from the command line.
- Execute the command `git init` to start tracking changes in your project.

git config
---
- Set global configuration for Git using commands like `git config --global init.defaultBranch main`.
- View and manage Git configurations with `cat ~/.gitconfig`.

git branch
---
- Manage branches with Git using commands like `git branch -m main`.
- Branches help organize project history and development efforts.

git add
---
- Stage changes for commit with the command `git add`.
- For example, use `git add pancakes.md` to prepare changes for commit.

git commit
---
- Commit changes with Git using the command `git commit`.
- Commits are snapshots of your project's current state.

git config again :/
---
- Set user-related configuration settings for Git again, like `git config --global user.email "[email protected]"`.
- Maintain consistent authorship and identification for commits.

git what was I doing?
---
- Check the status of your Git repository using `git status`.
- Understand what changes are ready to be committed or need attention.

git commit
---
- Commit changes using `git commit`.
- Encounter the Vim text editor; exit Vim after committing.

git config (last time)
---
- Configure Git's core editor with the command `git config --global core.editor "nano"`.
- Specify the preferred text editor for Git operations.

git diff
---
- Observe changes made to files with `git diff`.
- Stage and commit the changes after reviewing the differences.

Github
---
- Introduce Github, a web-based platform for code hosting and collaboration.
- Create a repository for version control and collaboration purposes.

What is SSH?
---
<div class="max-w-prose mx-auto">
<v-clicks>

- Secure Shell (SSH) is a protocol for secure remote access to computers.
- It supports public key authentication, enhancing security by avoiding password transmission.
- SSH encrypts communication, making it valuable for remote management, data transfers, and proxies.

</v-clicks>
</div>

SSH
---
- Create an SSH key for secure access to remote repositories.
- Generate keys with `ssh-keygen -t ed25519 -C "[email protected]"`.

Push the repo
---
- Link the local repository to a remote repository using `git remote add origin [email protected]:barraponto/usegit-recipes.git`.
- Push commits to the remote repository with `git push -u origin main`.
53 changes: 53 additions & 0 deletions annotations/03-everyday-git-fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Annotations pour le Cours 3 : Git au Quotidien

Git au quotidien
---
Cette leçon met l'accent sur les pratiques et les concepts Git quotidiens, rendant le contrôle de version plus gérable et efficace.

Qu'est-ce qu'une branche ?
---
Une **branche** représente un historique linéaire de modifications composé de **commits**.
Les branches permettent un développement parallèle sans interférer avec la base de code principale.

Qu'est-ce qu'un commit ?
---
Un **commit** capture un instantané de votre **arborescence de travail** à un moment précis et significatif.
L'**arborescence de travail** comprend l'état actuel de vos fichiers. La **signification** d'un commit devrait être décrite dans le **message de commit**.

Passons à l'action
---
- Modifiez l'application de recettes.
- Créez un nouveau commit pour capturer les changements.
- Créez une branche pour ajouter des catégories.
- Poussez la nouvelle branche vers un dépôt distant.

Voyons cela
---
- Visualisez l'historique de votre projet à l'aide d'outils comme `git-graph`.
- Gagnez une compréhension des rouages internes de Git grâce à des ressources comme https://onlywei.github.io/explain-git-with-d3/.

Concepts
---
Comprenez les concepts essentiels de Git, notamment les **commits**, les **branches**, les **dépôts**, les **dépôts distants** et les **arborescences de travail**.
Ces concepts constituent la base du modèle de contrôle de version de Git.

Commandes
---
Apprenez les commandes Git essentielles telles que `git switch`, `git branch`, `git checkout` et `git merge`.
Ces commandes facilitent une gestion efficace des branches et la fusion du code.

Demande de tirage (Pull Request)
---
Une **demande de tirage** ou **pull request** propose de fusionner des commits d'une branche dans une autre, souvent d'une branche de fonctionnalité à la branche principale.
Bien que non obligatoires, les demandes de tirage permettent les **revues de code**.

Revue de code (Code Review)
---
Participez à une **revue de code** pour recevoir des commentaires de vos pairs, garantissant le respect des normes de codage et des meilleures pratiques.
Les revues de code encouragent le développement collaboratif et le contrôle de la qualité.

Maintenir à jour votre projet local
---
- Utilisez `git stash` pour stocker temporairement les modifications et les rejouer ultérieurement.
- Utilisez `git fetch` pour télécharger des commits et des branches sans affecter les branches locales.
- Appliquez `git pull` pour synchroniser une branche locale avec sa version **amont**.
53 changes: 53 additions & 0 deletions annotations/03-everyday-git.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Annotations for Lesson 3: Everyday Git

Everyday git
---
This lesson focuses on everyday Git practices and concepts, making version control more manageable and efficient.

What is a branch?
---
A **branch** represents a linear history of changes composed of **commits**.
Branches allow for parallel development without interfering with the main codebase.

What is a commit?
---
A **commit** captures a snapshot of your **working tree** at a specific meaningful point in time.
The **working tree** comprises the current state of your files. A commit's **meaning** should be described in the **commit message**.

Let's do it
---
- Edit the recipes app.
- Create a new commit to capture changes.
- Create a branch to add categories.
- Push the new branch to a remote repository.

Let's see it
---
- Visualize your project's history using tools like `git-graph`.
- Gain insight into Git's internal workings through resources like https://onlywei.github.io/explain-git-with-d3/.

Concepts
---
Understand essential Git concepts, including **commits**, **branches**, **repositories**, **remotes**, and **working trees**.
These concepts form the foundation of Git's version control model.

Commands
---
Learn essential Git commands like `git switch`, `git branch`, `git checkout`, and `git merge`.
These commands facilitate effective branch management and code merging.

Pull Request
---
A **pull request** or **merge request** proposes merging commits from one branch into another, often from a feature branch to the mainline.
While not mandatory, pull requests enable **code reviews**.

Code Review
---
Engage in a **code review** to receive feedback from peers, ensuring adherence to coding standards and best practices.
Code reviews encourage collaborative development and quality control.

Keeping your local project up to date
---
- Use `git stash` to temporarily store changes and replay them later.
- Utilize `git fetch` to download commits and branches without affecting local branches.
- Apply `git pull` to synchronize a local branch with its **upstream** version.
31 changes: 31 additions & 0 deletions annotations/04-everyday-shell-fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Annotations pour le Cours 4 : Shell au Quotidien

Shell au quotidien
---
Cette leçon explore l'utilisation pratique quotidienne du shell, en mettant l'accent sur la recherche de fichiers, la manipulation de flux et la composition de commandes shell.

Recherche de fichiers
---
Apprenez à trouver des fichiers en utilisant des commandes telles que `tldr ls`, `tldr find` et `tldr tree`.
Ces commandes aident à localiser efficacement des fichiers et des répertoires, facilitant la gestion des fichiers.

Recherche dans les fichiers
---
Découvrez des techniques pour rechercher à l'intérieur des fichiers en utilisant des commandes telles que `tldr grep` et `tldr rg`.
Ces commandes vous permettent de rechercher des motifs textuels spécifiques à l'intérieur du contenu des fichiers.

Flux
---
Comprenez le concept de **flux** dans la programmation shell, y compris l'**entrée standard (stdin)**, la **sortie standard (stdout)** et l'**erreur standard (stderr)**.
Les flux sont fondamentaux pour les opérations d'entrée et de sortie dans l'environnement de la ligne de commande.

Redirection de flux
---
Apprenez les techniques de redirection de flux, comme l'utilisation du **pipe (`|`)** pour envoyer la sortie d'une commande en tant qu'entrée d'une autre.
Explorez les opérateurs **sortie (`>`)** et **ajout (`>>`)** pour rediriger la sortie vers des fichiers, ainsi que l'opérateur **entrée (`<`)** pour la redirection d'entrée.
Découvrez également la commande **tee** pour la redirection de sortie et l'affichage du contenu.

Composition
---
Explorez la composition des commandes shell, comme le comptage de l'occurrence de mots spécifiques tels que "oeufs" dans diverses recettes.
En combinant des commandes, vous pouvez accomplir des tâches complexes et obtenir des informations significatives à partir des données.
Loading