Skip to content

Commit a761d2b

Browse files
authored
Merge pull request #368 from HachemiH/master
Conflicts fixed after sync with upstream @ 45934de
2 parents b13d5bc + 4ef8491 commit a761d2b

File tree

10 files changed

+46
-236
lines changed

10 files changed

+46
-236
lines changed

1-js/02-first-steps/08-operators/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,7 @@ Un extrait du [tableau de précédence](https://developer.mozilla.org/en-US/docs
205205
| 2 | affectation | `=` |
206206
| ... | ... | ... |
207207

208-
<<<<<<< HEAD
209-
Comme on peut le voir, le "plus unaire" a une priorité de `15`, ce qui est supérieur à `12` pour "l'addition" (plus binaire). C’est pourquoi, dans l’expression `"+apples + +oranges"`, les plus unaires fonctionnent en premier, puis l’addition.
210-
=======
211-
As we can see, the "unary plus" has a priority of `15` which is higher than the `12` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
212-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
208+
Comme on peut le voir, le "plus unaire" a une priorité de `15`, ce qui est supérieur à `12` pour "l'addition" (plus binaire). C’est pourquoi, dans l’expression `"+apples + +oranges"`, les plus unaires fonctionnent avant l’addition.
213209

214210
## Affectation
215211

1-js/02-first-steps/17-arrow-functions-basics/article.md

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ Comme vous pouvez le voir `(a, b) => a + b` représente une fonction qui accepte
4848
alert( double(3) ); // 6
4949
```
5050

51-
<<<<<<< HEAD
52-
- Sans arguments, les parenthèses seront alors vides (mais elles doivent êtres présentes) :
53-
=======
54-
- If there are no arguments, parentheses are empty, but they must be present:
55-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
51+
- S’il n’y a pas d’arguments, les parenthèses seront alors vides, mais elles doivent êtres présentes :
5652

5753
```js run
5854
let sayHi = () => alert("Hello!");
@@ -80,15 +76,9 @@ Elles sont très utile pour des actions sur une ligne et que l'on est juste pare
8076

8177
## Les fonctions fléchées multiligne
8278

83-
<<<<<<< HEAD
84-
L'exemple ci-dessous prend les arguments sur la gauche de `=>` et évalue le coté droit avec ces arguments.
79+
Les fonctions fléchées que nous avons vues jusqu'à présent étaient très simples. Elles ont pris des arguments à gauche de `=>`, les ont évalués et ont renvoyé l'expression de droite avec eux.
8580

8681
Parfois nous avons besoin de plus de compléxité, comme des expressions multiples ou des déclarations. Cela est possible avec des accolades les délimitant. Il faut ensuite utiliser un `return` à l'intérieur de celles-ci.
87-
=======
88-
The arrow functions that we've seen so far were very simple. They took arguments from the left of `=>`, evaluated and returned the right-side expression with them.
89-
90-
Sometimes we need a more complex function, with multiple expressions and statements. In that case, we can enclose them in curly braces. The major difference is that curly braces require a `return` within them to return a value (just like a regular function does).
91-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
9282
9383
Comme cela :
9484
@@ -115,14 +105,7 @@ Pour l'instant, nous pouvons les utiliser pour des actions sur une ligne ou des
115105

116106
## Résumé
117107

118-
<<<<<<< HEAD
119-
Les fonctions fléchées sont pratiques pour les déclarations sur une ligne. Elles ont deux syntaxes :
120-
121-
1. Sans accolades : `(...args) => expression` -- le coté droit est une expression : la fonction l'évalue et retourne le résultat.
122-
2. Avec accolades : `(...args) => { body }` -- les accolades nous permet des déclarations multiples au sein de la fonction, mais nous devons ajouter un `return` pour retourner quelque chose.
123-
=======
124-
Arrow functions are handy for simple actions, especially for one-liners. They come in two flavors:
108+
Les fonctions fléchées sont pratiques pour des actions simples, en particulier pour les one-liners. Ils se déclinent en deux variantes :
125109

126-
1. Without curly braces: `(...args) => expression` -- the right side is an expression: the function evaluates it and returns the result. Parentheses can be omitted, if there's only a single argument, e.g. `n => n*2`.
127-
2. With curly braces: `(...args) => { body }` -- brackets allow us to write multiple statements inside the function, but we need an explicit `return` to return something.
128-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
110+
1. Sans accolades : `(...args) => expression` -- le coté droit est une expression : la fonction l'évalue et retourne le résultat. Les parenthèses peuvent être omises s'il n'y a qu'un seul argument, par ex. `n => n*2`.
111+
2. Avec accolades : `(...args) => { body }` -- les accolades nous permet des déclarations multiples au sein de la fonction, mais nous devons ajouter un `return` explicite pour retourner quelque chose.

1-js/03-code-quality/01-debugging-chrome/article.md

Lines changed: 8 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ Si nous appuyons sur `key:Esc`, une console s'ouvre ci-dessous. Nous pouvons tap
3838

3939
Une fois une instruction exécutée, son résultat est présenté ci-dessous.
4040

41-
<<<<<<< HEAD
42-
Par exemple, ici `1+2` donne `3`, et `hello("débogueur")` ne renvoie rien, le résultat est donc `undefined` :
43-
=======
44-
For example, here `1+2` results in `3`, while the function call `hello("debugger")` returns nothing, so the result is `undefined`:
45-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
41+
Par exemple, ici `1+2` donne `3`, tandis que l'appel de fonction `hello("debugger")` ne renvoie rien, donc le résultat est `undefined` :
4642

4743
![](chrome-sources-console.svg)
4844

@@ -66,22 +62,13 @@ Nous pouvons toujours trouver une liste de points d'arrêt dans le volet de droi
6662
- Supprimer le point d'arrêt en cliquant avec le bouton droit de la souris et en sélectionnant Supprimer.
6763
- … Et ainsi de suite
6864

69-
<<<<<<< HEAD
7065
```smart header="Points d'arrêt conditionnels"
71-
Un *clic droit* sur le numéro de ligne permet de créer un point d'arrêt conditionnel. Cela ne se déclenche que lorsque l'expression donnée est vraie.
72-
=======
73-
```smart header="Conditional breakpoints"
74-
*Right click* on the line number allows to create a *conditional* breakpoint. It only triggers when the given expression, that you should provide when you create it, is truthy.
75-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
66+
*Clic droit* sur le numéro de ligne permet de créer un point d'arrêt *conditionnel*. Il ne se déclenche que lorsque l'expression donnée, que vous devez fournir lors de sa création, est vraie.
7667
7768
C’est pratique lorsque nous devons nous arrêter uniquement pour une certaine valeur de variable ou pour certains paramètres de fonction.
7869
```
7970

80-
<<<<<<< HEAD
81-
## Commande du débogueur
82-
=======
83-
## The command "debugger"
84-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
71+
## La commande "debugger"
8572

8673
Nous pouvons également suspendre le code en utilisant la commande `debugger`, comme ceci :
8774

@@ -97,12 +84,8 @@ function hello(name) {
9784
}
9885
```
9986

100-
<<<<<<< HEAD
101-
C’est très pratique lorsque vous utilisez un éditeur de code et que vous ne souhaitez pas passer au navigateur et rechercher le script dans les outils de développement pour définir le point d’arrêt.
87+
Une telle commande ne fonctionne que lorsque les outils de développement sont ouverts, sinon le navigateur l'ignore.
10288

103-
=======
104-
Such command works only when the development tools are open, otherwise the browser ignores it.
105-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
10689

10790
## Pause et regarder autour
10891

@@ -116,11 +99,7 @@ Veuillez ouvrir les menus déroulants d’information à droite (indiqués par d
11699

117100
1. **`Watch` -- affiche les valeurs actuelles pour toutes les expressions.**
118101

119-
<<<<<<< HEAD
120-
Vous pouvez cliquer sur le plus `+` et entrer une expression. Le débogueur affichera sa valeur à tout moment, en la recalculant automatiquement au cours de l'exécution.
121-
=======
122-
You can click the plus `+` and input an expression. The debugger will show its value, automatically recalculating it in the process of execution.
123-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
102+
Vous pouvez cliquer sur le plus `+` et saisir une expression. Le débogueur affichera sa valeur, la recalculant automatiquement dans le processus d'exécution.
124103

125104
2. **`Call Stack` -- affiche la chaîne des appels imbriqués.**
126105

@@ -155,21 +134,12 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
155134

156135
En cliquant dessus encore et encore, vous parcourrez toutes les instructions de script une par une.
157136

158-
<<<<<<< HEAD
159137
<span class="devtools" style="background-position:-62px -192px"></span> -- "Step over": lance la commande suivante, mais *n'entre pas dans une fonction*, raccourci clavier `key:F10`.
160-
: Semblable à la précédente commande "Step", mais se comporte différemment si l'instruction suivante est un appel de fonction. C’est-à-dire qu’il ne s’agit pas d’une fonction intégrée, comme `alert`, mais d’une fonction propre.
138+
 : Similaire à la commande "Step" précédente, mais se comporte différemment si l'instruction suivante est un appel de fonction (pas une fonction intégrée, comme `alert`, mais une fonction qui nous est propre).
161139

162-
La commande "Step" y pénètre et met en pause l'exécution à la première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible, en ignorant les éléments internes de la fonction.
140+
Si nous les comparons, la commande "Step" entre dans un appel de fonction imbriqué et interrompt l'exécution à sa première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible pour nous, en sautant les fonctions internes.
163141

164142
L'exécution est alors suspendue immédiatement après cette fonction.
165-
=======
166-
<span class="devtools" style="background-position:-62px -192px"></span> -- "Step over": run the next command, but *don't go into a function*, hotkey `key:F10`.
167-
: Similar to the previous "Step" command, but behaves differently if the next statement is a function call (not a built-in, like `alert`, but a function of our own).
168-
169-
If we compare them, the "Step" command goes into a nested function call and pauses the execution at its first line, while "Step over" executes the nested function call invisibly to us, skipping the function internals.
170-
171-
The execution is then paused immediately after that function call.
172-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
173143

174144
C'est bien si nous ne sommes pas intéressés à voir ce qui se passe dans l'appel de fonction.
175145

@@ -184,13 +154,8 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
184154
<span class="devtools" style="background-position:-61px -74px"></span> -- active / désactive tous les points d'arrêt.
185155
: Ce bouton ne déplace pas l'exécution. Juste un ensemble de on/off pour les points d'arrêt.
186156

187-
<<<<<<< HEAD
188157
<span class="devtools" style="background-position:-90px -146px"></span> -- active/désactive la pause automatique en cas d'erreur.
189-
: Lorsque cette option est activée et que les outils de développement sont ouverts, une erreur de script interrompt automatiquement l'exécution. Ensuite, nous pouvons analyser les variables pour voir ce qui ne va pas. Donc, si notre script meurt avec une erreur, nous pouvons ouvrir le débogueur, activer cette option et recharger la page pour voir où il meurt et quel est le contexte à ce moment.
190-
=======
191-
<span class="devtools" style="background-position:-90px -146px"></span> -- enable/disable automatic pause in case of an error.
192-
: When enabled, if the developer tools is open, an error during the script execution automatically pauses it. Then we can analyze variables in the debugger to see what went wrong. So if our script dies with an error, we can open debugger, enable this option and reload the page to see where it dies and what's the context at that moment.
193-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
158+
: Lorsqu'il est activé, si les outils de développement sont ouverts, une erreur lors de l'exécution du script le met automatiquement en pause. Ensuite, nous pouvons analyser les variables dans le débogueur pour voir ce qui n'a pas fonctionné. Donc, si notre script s’arrête avec une erreur, nous pouvons ouvrir le débogueur, activer cette option et recharger la page pour voir où il s’arrête et quel est le contexte à ce moment-là.
194159

195160
```smart header="Continue to here"
196161
Un clic droit sur une ligne de code ouvre le menu contextuel avec une excellente option appelée "Continue to here".
@@ -222,11 +187,7 @@ Comme nous pouvons le constater, il existe trois méthodes principales pour susp
222187
2. Les instructions du `debugger`.
223188
3. Une erreur (si les outils de développement sont ouverts et le bouton <span class="devtools" style="background-position:-90px -146px"></span> est "on")
224189

225-
<<<<<<< HEAD
226190
En pause, nous pouvons déboguer -- examiner les variables et suivre le code pour voir où l’exécution s’est mal passée.
227-
=======
228-
When paused, we can debug: examine variables and trace the code to see where the execution goes wrong.
229-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
230191

231192
Il y a beaucoup plus d'options dans les outils de développement que celles couvertes ici. Le manuel complet est ici <https://developers.google.com/web/tools/chrome-devtools>.
232193

1-js/03-code-quality/06-polyfills/article.md

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# Polyfills and transpilers
2+
# Polyfills et transpilers
33

44
Le langage JavaScript évolue régulièrement. De nouvelles propositions pour le langage apparaissent régulièrement, elles sont analysées et, si elles sont jugées utiles, elles sont ajoutées à la liste dans <https://tc39.github.io/ecma262/> et ensuite progressent vers la [specification officielle](http://www.ecma-international.org/publications/standards/Ecma-262.htm).
55

@@ -9,7 +9,7 @@ Il est donc assez courant pour un moteur de ne mettre en œuvre qu'une partie de
99

1010
Une bonne page pour voir l’état actuel de la prise en charge des fonctionnalités du langage est <https://kangax.github.io/compat-table/es6/> (c’est énorme, nous avons encore beaucoup à étudier).
1111

12-
As programmers, we'd like to use most recent features. The more good stuff - the better!
12+
En tant que programmeurs, nous aimerions utiliser les fonctionnalités les plus récentes. Plus il y a de bonnes choses, mieux c'est !
1313

1414
D'un autre côté, comment faire fonctionner le code moderne sur des moteurs plus anciens qui ne comprennent pas encore les fonctionnalités récentes ?
1515

@@ -42,11 +42,7 @@ Habituellement, un développeur exécute le transpiler sur son propre ordinateur
4242
4343
En parlant de noms, [Babel](https://babeljs.io) est l'un des transpileurs les plus connus.
4444
45-
<<<<<<< HEAD
46-
Les systèmes de construction de projets modernes, tels que [webpack](http://webpack.github.io/), fournissent des moyens pour exécuter un transpiler automatiquement à chaque changement de code, il est donc très facile à intégrer dans le processus de développement.
47-
=======
48-
Modern project build systems, such as [webpack](https://webpack.js.org/), provide means to run transpiler automatically on every code change, so it's very easy to integrate into development process.
49-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
45+
Les systèmes de construction de projets modernes, tels que [webpack](http://webpack.js.org/), fournissent des moyens pour exécuter un transpiler automatiquement à chaque changement de code, il est donc très facile à intégrer dans le processus de développement.
5046
5147
## Les polyfills
5248
@@ -86,11 +82,7 @@ Dans ce chapitre, nous aimerions vous motiver à étudier les fonctionnalités d
8682
8783
N'oubliez pas d'utiliser un transpiler (si vous utilisez une syntaxe ou des opérateurs modernes) et des polyfills (pour ajouter des fonctions qui peuvent manquer). Et ils veilleront à ce que le code fonctionne.
8884
89-
<<<<<<< HEAD
90-
Par exemple, plus tard, lorsque vous serez familiarisé avec JavaScript, vous pourrez configurer un système de création de code basé sur [webpack](http://webpack.github.io/) avec le plugin [babel-loader](https://github.com/babel/babel-loader).
91-
=======
92-
For example, later when you're familiar with JavaScript, you can setup a code build system based on [webpack](https://webpack.js.org/) with [babel-loader](https://github.com/babel/babel-loader) plugin.
93-
>>>>>>> 45934debd9bb31376ea5da129e266df5b43e545f
85+
Par exemple, plus tard, lorsque vous serez familiarisé avec JavaScript, vous pourrez configurer un système de création de code basé sur [webpack](http://webpack.js.org/) avec le plugin [babel-loader](https://github.com/babel/babel-loader).
9486
9587
De bonnes ressources qui montrent l'état actuel de la prise en charge de diverses fonctionnalités :
9688
- <https://kangax.github.io/compat-table/es6/> - pour du pur JavaScript.

0 commit comments

Comments
 (0)