diff --git a/translations/fr/lessons/01-the-shell.md b/translations/fr/lessons/01-the-shell.md new file mode 100644 index 0000000..f7afc40 --- /dev/null +++ b/translations/fr/lessons/01-the-shell.md @@ -0,0 +1,182 @@ +--- +theme: default +title: Utiliser le shell +info: | + Utiliser Git - Leçon 1 : Utiliser le shell + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 01-le-shell.pdf +--- + +# Utiliser le Shell + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: statement + +# Qu'est-ce que le terminal ? + +
+ + +Le terminal est un programme qui expose l'interface en ligne de commande à l'utilisateur. + + +
+ +--- + +## layout: statement + +# Qu'est-ce qu'un shell ? + +
+ + +En général, un shell est une interface vers l'ordinateur. + +Un shell graphique permet de cliquer sur des icônes et de voir des sorties graphiques telles que des fenêtres. + +Un shell en ligne de commande permettra une entrée de texte (commandes) et une sortie de lignes de texte (la plupart du temps). + + +
+ +--- + +## layout: statement + +# Qu'est-ce qu'une commande ? + +
+ + +Une commande est une représentation textuelle de ce qui est demandé à l'ordinateur. Si vous souhaitez envoyer à votre patron un e-mail demandant une augmentation, déjà rédigé dans un certain fichier, vous pourriez l'écrire ainsi : + + +
+ +--- + +## layout: intro + +# Ouvrez le terminal + +--- + +## layout: intro + +# Configurer le terminal + +--- + +## layout: intro + +# Y a-t-il un programme en cours d'exécution en ce moment ? + +--- + +## layout: statement + +# Qu'est-ce qu'un interpréteur ? + +
+ + +Un interpréteur est un programme qui prend votre entrée et exécute les programmes nécessaires pour l'exécuter, _composant_ les programmes si nécessaire. + +Il permet également une certaine logique, telle que les conditionnels et les boucles. + +Au cas où vous vous poseriez la question, l'interpréteur est également un REPL (Read-Eval-Print Loop) pour un langage de programmation de liaison appelé **shell script**. + + +
+ +--- + +## layout: intro + +# Comment le shell trouve-t-il les programmes ? + +--- + +## layout: statement + +# Qu'est-ce que le PATH ? + +
+ + +Le `PATH` est une variable d'environnement standard répertoriant les répertoires où l'interpréteur doit rechercher les programmes. Le premier répertoire contenant un programme portant ce nom sera utilisé. + + +
+ +--- + +## layout: statement + +# Qu'est-ce qu'une variable d'environnement ? + +
+ + +Une variable d'environnement est une valeur avec un nom. + +Elles sont disponibles pour vos commandes. + +Certaines variables conventionnelles sont attendues, telles que `PWD`, `PATH`, `PS1`. + +Vous pouvez également créer vos propres variables. + + +
+ +--- + +## layout: intro + +# Comment puis-je voir les variables d'environnement ? + +R : `env` + +--- + +## layout: intro + +# Comment puis-je configurer ces variables ? + +R : `.bashrc` ou `.zshrc` ou selon votre shell. + +--- + +## layout: intro + +# Quel shell est en cours d'exécution ? + +R : `echo $0` + +--- + +--- + +# Mettons tout cela en pratique + +
+ +Objectif : installer tealdeer + +1. Créez un répertoire `Téléchargements` +2. Accédez à ce répertoire (cd dedans) +3. Téléchargez tealdeer à partir de https://github.com/dbrgn/tealdeer/releases +4. Exécutez tealdeer `./tealdeer` + 4.1. Modifiez les autorisations si nécessaire +5. Placez tealdeer dans le `PATH` +6. Renommez tealdeer (facultatif) +7. Utilisez `tldr` pour tout diff --git a/translations/fr/lessons/02-git.md b/translations/fr/lessons/02-git.md new file mode 100644 index 0000000..4537fb0 --- /dev/null +++ b/translations/fr/lessons/02-git.md @@ -0,0 +1,165 @@ +--- +theme: default +title: Utiliser git +info: | + Utiliser Git - Leçon 2 : Utiliser git + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 02-utiliser-git.pdf +--- + +# Utiliser git + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: intro + +# git init + +- créez votre répertoire de projet **à partir de l'interface en ligne de commande** +- git init + +--- + +## layout: intro + +# git config + +- git config --global init.defaultBranch main +- cat ~/.gitconfig + +--- + +## layout: intro + +# git branch + +- git branch -m main +- pas besoin de retenir celle-ci + +--- + +## layout: intro + +# git add + +- git add pancakes.md + +--- + +## layout: intro + +# git commit + +- git commit + +--- + +## layout: intro + +# git config à nouveau :/ + +- git config --global user.email "barraponto@gmail.com" +- git config --global user.name "Capi Etheriel" + +--- + +## layout: intro + +# git qu'est-ce que je faisais déjà ? + +- git status + +--- + +## layout: intro + +# git commit + + + +- git commit +- omg qu'est-ce que c'est ? +- quitter vim + + + +--- + +## layout: intro + +# git config (une dernière fois) + +- git config --global core.editor "nano" + +--- + +## layout: intro + +# git diff + + + +- retournez modifier pancakes.md +- qu'est-ce qui a changé ? `git diff` +- étape : `git add` +- valider : `git commit -m "message"` + + + +--- + +## layout: intro + +# Github + +- inscrivez-vous (non montré) +- créez un dépôt (repository) +- nous allons utiliser SSH ! + +--- + +## layout: statement + +# Qu'est-ce que SSH ? + +
+ + +SSH est un protocole sécurisé pour l'accès à distance aux ordinateurs (serveurs). + +Il prend en charge l'**authentification par clé publique** pour éviter d'envoyer des mots de passe sur le réseau. + +Il chiffre également fortement toutes les communications qui y passent, ce qui le rend utile pour la gestion à distance, les transferts de données et même les proxys. + + +
+ +--- + +## layout: intro + +# SSH + +- ~~qu'est-ce que SSH ?~~ +- créez votre clé SSH : + ssh-keygen -t ed25519 -C "barraponto@gmail.com" +- cat ~/.ssh/id_ed25519.pub +- modifiez vos paramètres Github + + + +--- + +## layout: intro + +# Envoyer le dépôt + +- git remote add origin git@github.com:barraponto/usegit-recipes.git +- git push -u origin main diff --git a/translations/fr/lessons/03-everyday-git.md b/translations/fr/lessons/03-everyday-git.md new file mode 100644 index 0000000..e5d9fac --- /dev/null +++ b/translations/fr/lessons/03-everyday-git.md @@ -0,0 +1,136 @@ +--- +theme: default +title: Git au quotidien +info: | + Utiliser Git - Leçon 3 : Git au quotidien + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 03-git-au-quotidien.pdf +--- + +# Git au quotidien + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: intro + +# Qu'est-ce qu'une branche ? + + + +Une **branche** est un historique (linéaire) de modifications, représenté par des **commits**. + + + +--- + +## layout: intro + +# Qu'est-ce qu'un commit ? + + + +Un **commit** est un instantané de votre **arborescence de travail** à un moment _significatif_. + +L'**arborescence** est simplement vos fichiers. L'**arborescence de travail** est l'état actuel des fichiers. + +Pour être _significatif_, vous devez inscrire le _sens_ dans le **message de commit**. + + + +--- + +## layout: intro + +# Passons à l'action + + + +--- + +## layout: intro + +# Voyons cela + +- git-graph +- https://onlywei.github.io/explain-git-with-d3/ + +--- + +## layout: intro + +# Concepts + +- commits +- branches +- dépôts (repositories) +- dépôts distants (remotes) +- arborescences de travail (working trees) + +--- + +## layout: intro + +# Commandes + +- `git switch` +- `git branch` +- `git checkout` +- `git merge` + +--- + +## layout: intro + +# Demandes de tirage (Pull Request) + + + +Une **demande de tirage** ou **pull request** est une demande de fusion de commits d'une branche vers une autre, généralement d'une **branche de fonctionnalité** vers la **branche principale** (également appelée **trunk**). + +Elle n'est pas obligatoire, mais elle permet les **revues de code**. + + + +--- + +## layout: intro + +# Revue de code (Code Review) + + + +Une **revue de code** est un retour d'information lié au code de la part d'autres développeurs, visant à garantir le respect des normes du projet et des meilleures pratiques. + +Elle peut être suivie de développements supplémentaires (commits) et de nouvelles revues également. + + + +--- + +## layout: intro + +# Maintenir votre projet local à jour + +- `git stash` peut être utilisé pour rembobiner et rejouer les modifications de votre arborescence de travail. +- `git fetch` télécharge les commits et les branches, mais n'affecte pas vos branches locales. +- `git pull` mettra à jour une branche locale pour correspondre à sa version **amont** (upstream). + + diff --git a/translations/fr/lessons/04-everyday-shell.md b/translations/fr/lessons/04-everyday-shell.md new file mode 100644 index 0000000..55b5625 --- /dev/null +++ b/translations/fr/lessons/04-everyday-shell.md @@ -0,0 +1,85 @@ +--- +theme: default +title: Shell au quotidien +info: | + Utiliser Git - Leçon 4 : Shell au quotidien + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 04-shell-au-quotidien.pdf +--- + +# Shell au quotidien + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: intro + +# Trouver des fichiers + +- tldr ls +- tldr find +- tldr tree + + + +--- + +## layout: intro + +# Recherche dans les fichiers + +- tldr grep +- tldr rg + + + +--- + +## layout: intro + +# Flux + +- entrée standard (stdin) +- sortie standard (stdout) +- erreur standard (stderr) + +--- + +## layout: intro + +# Redirection des flux + +- le tuyau | +- la sortie > +- l'ajout >> +- l'entrée < +- la commande tee + +--- + +## layout: intro + +# + +# Composition + +- combien de recettes avec des œufs ? + +--- + +## layout: intro + +# Utilitaires récapitulatifs + +- wc +- tee +- xargs +- sort +- uniq +- ??? diff --git a/translations/fr/lessons/05-next-level-git.md b/translations/fr/lessons/05-next-level-git.md new file mode 100644 index 0000000..d219e14 --- /dev/null +++ b/translations/fr/lessons/05-next-level-git.md @@ -0,0 +1,92 @@ +--- +theme: default +title: Git au niveau supérieur +info: | + Utiliser Git - Leçon 5 : Git au niveau supérieur + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 05-git-au-niveau-superieur.pdf +--- + +# Git au niveau supérieur + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: intro + +# Théorie des branches + +Pourquoi créer des branches en premier lieu ? + +--- + +## layout: intro + +# Modèles de branches + +- flux de travail basé sur la branche principale (trunk) +- branches de fonctionnalité +- branches de version + +--- + +## layout: intro + +# Mettre à jour votre travail + +- git merge +- git rebase +- quoi que vous fassiez, gardez vos branches courtes ! + +--- + +## layout: intro + +# Réécrire l'historique + +- git rebase -i + +--- + +## layout: intro + +# Assumer vos erreurs + +- ~~qui~~ pourquoi a fait ça ? + + + +--- + +## layout: intro + +# Annuler vos erreurs + +- git restore +- git revert + + + +--- + +## layout: intro + +# Voyager dans le temps de vos erreurs + +- git amend +- git reset + + diff --git a/translations/fr/lessons/06-next-level-github.md b/translations/fr/lessons/06-next-level-github.md new file mode 100644 index 0000000..20906d5 --- /dev/null +++ b/translations/fr/lessons/06-next-level-github.md @@ -0,0 +1,96 @@ +--- +theme: default +title: Github au niveau supérieur +info: | + Utiliser Git - Leçon 6 : Github au niveau supérieur + Voir https://github.com/barraponto/usegit +transition: slide-left +drawings: + persist: false +exportFilename: 06-github-au-niveau-superieur.pdf +--- + +# Github au niveau supérieur + +## avec Capi Etheriel + +[@barraponto](https://github.com/barraponto) + +--- + +## layout: intro + +# Profils Github + +- Comment vous présenter professionnellement +- Utiliser un dépôt html comme toile +- Épingler des dépôts et des gists + +--- + +## layout: intro + +# Gists Github + +- créer depuis l'interface en ligne de commande avec gh + +--- + +## layout: intro + +# Outil en ligne de commande GH + +- https://github.com/cli/cli#installation +- tldr gh +- gh gist create +- hub +- gibo + +--- + +## layout: intro + +# Pages Github + +- https://pages.github.com/ + +--- + +## layout: intro + +# Actions Github + +- construire des pages +- exécuter des tests +- empaqueter des projets + +--- + +## layout: intro + +# Publications Github + +- publications de dépôt +- balises de dépôt +- Github Packages + +--- + +## layout: intro + +# Analyse de code Github + +- CodeQL +- Dependabot +- Analyse de secrets +- Analyse statique par des tiers + +--- + +## layout: intro + +# Autres fonctionnalités Github + +- Github Codespaces +- Github Copilot +- Github Sponsors