Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traduction du chapitre 5 #9

Open
wants to merge 66 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
0262e76
Réorganisation de «Principes de fonctionnement» et simplification de …
Jul 6, 2013
35c2a4c
Correction d’espace insécable (mode typo nazi)
Jul 6, 2013
dd60bc9
Ajouts : branches, remotes
Djiko Jul 7, 2013
8310f17
Ajout d’une espace dans le README
Jul 11, 2013
5a0e62d
Début trad chapitre native datatypes
audionuma Jul 14, 2013
c72a032
Update 01-installing-python.html
ldidry Jul 14, 2013
cf5ceec
Ajout du wokflow dans le README
ldidry Jul 14, 2013
5c0a2eb
Update README.md
ldidry Jul 14, 2013
2a21005
Marquage du chapitre 2 en 'En cours'.
progval Jul 14, 2013
47bb4b4
Quoi de neuf dans “Plongez dans Python 3” passé en statut «En cours»
Jul 14, 2013
1a840f3
Changement de statut
shan-x Jul 14, 2013
7691cc6
Changement de status pour 05-strings.html
Jul 14, 2013
050b14d
Débu traduction
Jul 14, 2013
bb206c8
Début traduction
Jul 14, 2013
9914af4
Traduction du 2e paragraphe
Jul 14, 2013
e57c6b1
Traduction des 3e et 4e paragraphes
Jul 14, 2013
f9e40d1
Traduction du 5e paragraphe
Jul 14, 2013
c4d51f4
Traduction du 6e paragraphe
Jul 14, 2013
d3841a6
Traduction du 6e paragraphe
Jul 14, 2013
3149699
Traduction du 7e paragraphe
Jul 14, 2013
91ef7c6
Traduction du 8e paragraphe
Jul 14, 2013
c92f772
Traduction du 9e chapitre
Jul 15, 2013
ee4f069
Traduction du 10e chapitre
Jul 15, 2013
ca4d181
Traduction du 11e chapitre
Jul 15, 2013
fdffe0b
Traduction du 11e chapitre
Jul 15, 2013
4090f7a
Traduction du 12e chapitre
Jul 15, 2013
5fe981d
Traduction du 13e chapitre
Jul 15, 2013
131f835
Corrections diverses
Jul 15, 2013
a02c88e
Traduction des 14e et 15e chapitres
Jul 15, 2013
f3b5155
Unicde -> Unicode
Jul 15, 2013
4f586c8
Traduction du 16e paragraphe
Jul 15, 2013
58706e4
Traduction du 17e paragraphe
Jul 15, 2013
360bf0e
Traduction du 18e paragraphe
Jul 15, 2013
efb14b9
Traduction du 19e paragraphe
Astalaseven Jul 15, 2013
ef1b2d0
Traduction du 20e paragraphe
Astalaseven Jul 15, 2013
8834fe3
Traduction du 21e paragraphe
Astalaseven Jul 15, 2013
a70ff92
Corrections
Astalaseven Jul 15, 2013
81fd1d2
Traduction du 22e paragraphe
Astalaseven Jul 15, 2013
f83f621
Traduction du 23e paragraphe
Astalaseven Jul 15, 2013
c44b3a8
Traduction du 23e paragraphe
Astalaseven Jul 15, 2013
3ff2e0c
Traduction du 24e paragraphe
Astalaseven Jul 17, 2013
20a0976
Traduction du 25e paragraphe
Astalaseven Jul 17, 2013
d16ee0c
Traduction du 26e paragraphe
Astalaseven Jul 17, 2013
80663d0
Traduction du 27e paragraphe
Astalaseven Jul 17, 2013
bd2e60f
Traduction du 28e paragraphe
Astalaseven Jul 17, 2013
be0852a
Traduction du 29e paragraphe
Astalaseven Jul 18, 2013
8861bc6
Traduction du 30e paragraphe
Astalaseven Jul 18, 2013
2275be7
Traduction du 31e paragraphe
Astalaseven Jul 18, 2013
618f749
Traduction du 32e paragraphe
Astalaseven Jul 18, 2013
850a80e
Traduction du 33e paragraphe
Astalaseven Jul 18, 2013
4d561e7
Traduction du 34e paragraphe
Astalaseven Jul 18, 2013
c56db34
Traduction du 35e paragraphe
Astalaseven Jul 18, 2013
ac6d3a3
Traduction du 35e paragraphe
Astalaseven Jul 18, 2013
266a084
Traduction du 36e paragraphe
Astalaseven Jul 18, 2013
750de89
Traduction du 37e paragraphe
Astalaseven Jul 18, 2013
c909863
Traduction du 38e paragraphe
Astalaseven Jul 18, 2013
2a65588
Traduction du 39e paragraphe
Astalaseven Jul 19, 2013
51cf48e
Traduction du 40e paragraphe
Astalaseven Jul 20, 2013
5afffca
Corrections
Astalaseven Jul 20, 2013
e36b119
Traduction du 42e paragraphe
Astalaseven Jul 20, 2013
d230777
Traduction du 43e paragraphe
Astalaseven Jul 20, 2013
4230b23
Traduction du 44e paragraphe
Astalaseven Jul 20, 2013
a6a820f
Traduction du 44e paragraphe
Astalaseven Jul 20, 2013
469f707
Correction insécable
Astalaseven Jul 20, 2013
ee7b1f3
Corrections
Astalaseven Jul 20, 2013
c4147f1
Relecture du chapitre 5.
progval Aug 8, 2013
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
2 changes: 1 addition & 1 deletion 00-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<meta name=viewport content='initial-scale=1.0'>
<form action=http://www.google.com/cse><div><input type=hidden name=cx value=014021643941856155761:l5eihuescdw><input type=hidden name=ie value=UTF-8><input type=search name=q size=25 placeholder="powered by Google&trade;">&nbsp;<input type=submit name=sa value=Search></div></form>

<p>Vous êtes ici :&nbsp;&nbsp;<span title="Ce n'est pas un point" style='cursor:default'>&bull;</span>
<p>Vous êtes ici&nbsp;:&nbsp;<span title="Ce n'est pas un point" style='cursor:default'>&bull;</span>

<h1>Plongez dans Python 3</h1>

Expand Down
2 changes: 1 addition & 1 deletion 00-whats-new.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Quoi de neuf dans &#8220;Plongez dans Python 3&#8221;
status: Non traduit
status: En cours
permalink: whats-new.html
---
<!DOCTYPE html>
Expand Down
2 changes: 1 addition & 1 deletion 01-installing-python.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Installer Python
status: Non traduit
status: Relecture
permalink: installing-python.html
---
<!DOCTYPE html>
Expand Down
2 changes: 1 addition & 1 deletion 02-your-first-python-program.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Votre premier programme en Python
status: Non traduit
status: En cours
permalink: your-first-python-program.html
---
<!DOCTYPE html>
Expand Down
2 changes: 1 addition & 1 deletion 03-native-datatypes.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Les types prédéfinis
status: Non traduit
status: En cours
permalink: native-datatypes.html
---
<!DOCTYPE html>
Expand Down
269 changes: 135 additions & 134 deletions 05-strings.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion 07-generators.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Fermetures <i class=baa>&amp;</i> Générateurs
status: Non traduit
status: En cours
permalink: generators.html
---
<!DOCTYPE html>
Expand Down
138 changes: 118 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,41 @@ Dive Into Python 3
Projet de traduction fr
-----------------------

TODO: expliquer le projet, comment participer, qui contacter, à quelle on mange, pourquoi les escargots n'ont pas de dents...
TODO: expliquer le projet, à quelle heure on mange, pourquoi les escargots n'ont pas de dents…

Comment participer ?
--------------------

Pour discuter, on a une mailing-list : [email protected]. Inscrivez-vous sur [http://www.framalistes.org/sympa/subscribe/plongez-dans-python-3](http://www.framalistes.org/sympa/subscribe/plongez-dans-python-3).

Ensuite, il faut nous envoyer un petit mail sur cette liste en nous donnant votre pseudo github, qu'on vous ajoute au groupe qui a les droits sur ce dépôt, histoire de pouvoir bosser.

La façon de travailler est assez simple, mais il est primordial de s'y tenir, sinon ça va être le gros bazar.

1. Passer le statut à "En cours" dans l'en-tête du fichier que vous allez traduire, dans la branche master.
2. Pousser cette modification (ou la refaire) dans la branche gh-pages.
3. Créer, à partir de la branche master, une nouvelle branche portant le nom du fichier à traduire.
4. Traduire.
5. Passer le statut du fichier à "Relecture" dans la branche du fichier, la branche master et la branche gh-pages
6. Faire une pull-request pour pousser la branche du fichier dans la branche master
7. Relecture par les autres membres de l'équipe, quand ils sont ok pour pousser, ils mettent un :1 (émoticône pouce vers le haut de github) dans les commentaires de la pull-request
8. Quand on a 4 ou 5 :1 dans les commentaires, le coordinateur (ldidry) pousse dans master, update le statut à "Publié" dans les branches master et gh-pages.
9. goto 1

GIT : petit guide à l'usage du débutant
---------------------------------------

Git est un système de gestion de versions décentralisé [DVCS](https://en.wikipedia.org/wiki/Distributed_revision_control). Voilà pour les gros mots. Passons maintenant à quelque chose de compréhensible pour l'humain courant.
Git est un système de gestion de versions décentralisé [DVCS](https://en.wikipedia.org/wiki/Distributed_revision_control). Voilà pour les gros mots.

Passons maintenant à quelque chose de compréhensible pour l'humain courant. Ce guide doit vous mettre le pied à l'étrier du projet de traduction de Dive Into Python 3.

### Git : kesako ?

Git permet de gérer des versions de fichiers. Grâce à Git, on sait qui a fait quoi et à quel moment. Le savoir c'est bien, mais en faire quelque chose c'est mieux. Grâce à cette faculté de versionning, il est ainsi possible de voyager dans le temps : essayer de nouvelles choses, revenir en arrière... Moultes possibilités à découvrir.

### Je n'y connais rien. Que fais je ?

Eh bien vous apprenez. Pas de panique : inutile d'avoir fait Polytechnique. La courbe d'apprentissage des commandes de base est très rapide.
Eh bien vous apprenez. Pas de panique : inutile d'avoir fait Polytechnique. La courbe d'apprentissage des commandes de base est très rapide. Vous allez apprendre comment fonctionne Git avec des explications pour être humain et comment utiliser les commandes de base de Git : clone, pull, push, log, commit, branch, status...

#### Installation

Expand All @@ -33,13 +54,14 @@ Les principes sont assez simples :
Dans les deux cas, cela revient au même : vous disposez localement d'un dépôt sur lequel vous allez pouvoir travailler.

* Travailler sur votre dépôt.
* Versionner vos modifications -> Créer un commit.

Une fois satisfait de votre modification ou de votre ajout, vous pouvez versionner vos modifications. En langage Git, on parle de commit. Ce commit crée une nouvelle version du fichier. S'il s'agit d'un nouveau fichier, ce sera la première version.

* Publier vos modifications.
* Versionner vos modifications → Créer un commit.

Vos commits sont dans votre dépôt local. Vous avez alors la possibilité de les publier vers le dépôt initial ou même vers un autre dépôt. En langage Git, on parle de push. Si vous ne disposez pas des droit de publication sur dépôt distant, vous pouvez aussi proposer vos modifications au responsable du dépôt. En langage Git on parle de pull request.

* Publier vos modifications.

En résumé, vous créez un dépôt local, vous travaillez, vous committez et vous publiez. Facile, non ?

Expand All @@ -48,7 +70,7 @@ En résumé, vous créez un dépôt local, vous travaillez, vous committez et vo
Concrètement, voici ce que ça donne pour ce projet. Commençons pas cloner joyeusement le projet. Dans votre dossier personnel, placez vous à l'endroit où vous souhaitez créer votre dépôt local puis exécutez la commande de clonage

```bash
git clone https://github.com/framasoft/plongez-dans-python3.git
$ git clone https://github.com/framasoft/plongez-dans-python3.git
```

Vous devriez obtenir le résultat suivant. Vous remarquerez que cette opération crée automatiquement un dossier dans lequel figurera votre dépôt :
Expand All @@ -65,7 +87,7 @@ Resolving deltas: 100% (1587/1587), done.
Faites une modification. Vous pouvez obtenir à tout moment le statut de votre dépôt :

```bash
Blake:plongez-dans-python3 gcoulais$ git status
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
Expand All @@ -89,8 +111,8 @@ Ici un fichier README.md a été ajouté mais n'a pas encore été committé. Gi
Ajoutons maintenant le fichier au suivi de version et committons. L'opération se déroule donc en deux fois : add puis commit. Un commit est toujours accompagné d'un message expliquant ce que vous avez fait.

```bash
Blake:plongez-dans-python3 gcoulais$ git add README.md
Blake:plongez-dans-python3 gcoulais$ git commit -m "Ajout du README.md"
$ git add README.md
$ git commit -m "Ajout du README.md"
[master 2c53431] Ajout du README.md
1 file changed, 80 insertions(+)
create mode 100644 README.md
Expand All @@ -99,7 +121,7 @@ Blake:plongez-dans-python3 gcoulais$ git commit -m "Ajout du README.md"
Il ne reste plus qu'à publier la modification sur le dépôt distant :

```bash
Blake:plongez-dans-python3 gcoulais$ git push origin master
$ git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Expand All @@ -114,7 +136,7 @@ To https://github.com/framasoft/plongez-dans-python3.git
Effectivement, d'autres que vous travaillent sur cette traduction. Il faut donc que vous puissiez récupérer leurs modifications. Encore une fois, c'est un jeu d'enfant. Placez vous simplement dans votre dépôt et magie :

```bash
Blake:plongez-dans-python3 gcoulais$ git pull origin master
$ git pull origin master
From https://github.com/framasoft/plongez-dans-python3
* branch master -> FETCH_HEAD
Already up-to-date.
Expand All @@ -123,21 +145,21 @@ Already up-to-date.
Ici ce n'est pas très parlant : le dépôt local était déjà à jour. Mais c'est bien là que vous verrez apparaître toutes les modifications de vos petits camarades. Attention, si vous avez des modifications en cours, Git refusera de faire l'opération de pull. Il suffit de mettre de côté vos modifications, de récupérer la dernière version du dépôt distant puis d'y appliquer vos modifications en cours. En langage git, ça donne ça :

```bash
Blake:plongez-dans-python3 gcoulais$ git stash
$ git stash
Saved working directory and index state WIP on master: 7583460 README : coloration syntaxique pour les blocs de code
HEAD is now at 7583460 README : coloration syntaxique pour les blocs de code
```

puis
puis :

```bash
Blake:plongez-dans-python3 gcoulais$ git pull origin master
$ git pull origin master
```

et enfin
et enfin :

```bash
Blake:plongez-dans-python3 gcoulais$ git stash apply
$ git stash apply
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
Expand All @@ -150,9 +172,85 @@ no changes added to commit (use "git add" and/or "git commit -a")

#### Origin master : c'est quoi cette bouteille de lait ?

#### À propos des branches
Lors des opérations de récupératio (pull) et publication (push), vous avez utilisé des choses inconnues : origin master. Tout d'abord, c'est dangereux d'exécuter une commande sans savoir ce qu'elle fait :) . Bon, ici aucun chaton n'a été tué, l'honneur est sauf. Mais alors qu'est ce que c'est que ce 'origin master' ?

Votre dépôt local est autonome. Vous pouvez n'utiliser que lui et ne jamais rien publier. Mais si vous souhaitez contribuer à un autre dépôt, il y a un moment où votre votre dépôt local doit connaitre un plusieurs dépôts externes vers lesquels il pourra publier ou desquels il pourra récupérer des mise à jour. En langage Git, cela s'appelle un remote. Un remote est un dépôt distant qui est associé au votre.

TODO: expliquer brièvement les branches.
TODO: expliquer brièvement les remote. Pourquoi origin master
Par ailleurs, votre dépôt local peut être associé à plusieurs remotes. Il faut donc un moyen de différencier ces remotes. Ils sont donc nommés.

Enfin, un remote contient au moins une branche, il faut donc pouvoir identifier la branche distante avec laquelle vous souhaitez communiquer. Comment ça vous ne savez pas ce qu'est une branche ? Un peu de patience, ça vient.

Pour en revenir à ce qui nous intéresse, origin est donc un dépôt distant et master une branche dans ce dépôt. La magie, c'est que vous n'avez rien fait pour créer ou nommer ce remote. En fait, Git l'a fait tout seul comme un grand lorsque vous avez cloné le dépôt. Vous pouvez voir les dépôts auxquels vous être abonnés avec une simple commande :

```bash
$ git remote -v
origin [email protected]:framasoft/plongez-dans-python3.git (fetch)
origin [email protected]:framasoft/plongez-dans-python3.git (push)
no changes added to commit (use "git add" and/or "git commit -a")
```

Il y a beaucoup de choses que l'on peut faire avec les remotes. Il y a cependant de grandes chances que cette simple commande vous soit suffisante dans le cadre de ce projet.

#### Jardinons un peu : les branches

Pour en terminer avec ce petit voyage au pays de Git, soyons un peu bucoliques. Lorsque vous créez ou clonez un dépôt, Git crée une branche par défaut appelée master. Une branche est une sorte de copie du dépôt (en fait Git ne copie pas vraiment les données, mais nous n'irons pas aussi loin). Vous pouvez alors travailler sur cette copie sans impacter les autres branches : toute ce qui est committé dans cette nouvelle branche n'apparaîtra pas dans les autres. Si au final vous êtes satisfaits de votre travail, il ne vous reste plus qu'à commiter vos modifications dans cette branche puis à les rapatrier dans la branche master. En langage Git, on parle de merge. Mais vous pouvez aussi ne pas être content de ce que vous avez fait et ne pas vouloir conserver ces modifications. Il suffit de les committer puis de supprimer la nouvelle branche.

Pour connaitre la liste des branches de votre dépôt local :

```bash
$ git branch
* master
```

Pour créer une nouvelle branche :

```bash
$ git branch maNouvelleBranche
$ git branch
maNouvelleBranche
* master
```

L'astérisque vous indique le dépôt sur lequel vous travaillez. Changeons de branche pour travailler sur maNouvelleBranche :

```bash
$ git checkout maNouvelleBranche
M README.md
Switched to branch 'maNouvelleBranche'
gilles@Arctica:~/Developpement/Python/DiveIntoPython3$ git branch
* maNouvelleBranche
master
```

L'astérisque vous montre que vous êtes désormais sur la branche maNouvelleBranche.

#### Faites le petit chef : lister les commits

Dans votre activité professionnelle, vous avez sûrement un (petit) chef qui vient vous voir 20 fois par jour en vous disant "Alors, t'en es où ?". Oui, c'est énervant.

Mais Git est un gars calme et posé qui répondra toujours à vos sollicitations. Alors n'hésitez pas à faire le chef :

```bash
$ git log
commit 35c2a4c061a953e0ced1f69b0ecaabc1dbb224cd
Author: Sinma <[email protected]>
Date: Sat Jul 6 23:08:02 2013 +0200

Correction d’espace insécable (mode typo nazi)

commit 0262e7670d638e98db2e0aee34592612522da980
Author: Sinma <[email protected]>
Date: Sat Jul 6 22:37:39 2013 +0200

Réorganisation de «Principes de fonctionnement» et simplification de la présentation des commandes

Dans la partie «Principes de fonctionnement», j’ai placé le texte explicatif avant la description pour les deux derniers points de la liste.

J’ai aussi supprimé ce qu’il y avait avant le $ pour les lignes de commandes, ça risque moins de provoquer la confusion (moi-même je n’ai pas comp

commit f38a3530decc51c6ec72163f9595387409e506af
[...]
```
Vous pouvez naviguer dans l'historique des commits avec les flèches haut et bas de votre clavier. Quittez avec q.

Vous avez désormais les armes pour démarrer. Il y a énormément d'autres choses que vous pouvez faire avec Git mais ce n'est pas l'objet de ce tutoriel. Pour savoir comment faire telle ou telle chose, vous pouvez consulter le [Git Book](http://git-scm.com/book/fr/) ou solliciter la [liste de discussion](http://www.framalistes.org/sympa/info/plongez-dans-python-3).