Skip to content

Commit a5c4cde

Browse files
authored
Merge pull request #278 from HachemiH/master
Conflicts fixed after sync with upstream @ 468e355
2 parents 444c6f1 + 10f2e9e commit a5c4cde

File tree

17 files changed

+52
-416
lines changed

17 files changed

+52
-416
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,20 +109,12 @@ Les outils modernes rendent la [transpilation](https://fr.wiktionary.org/wiki/tr
109109

110110
Les exemples de ce genre de langages :
111111

112-
<<<<<<< HEAD
113112
- [CoffeeScript](http://coffeescript.org/) est un "sucre syntaxique" pour JavaScript, il introduit une syntaxe plus courte, permettant d’écrire du code plus précis et plus clair. Habituellement, les développeurs Ruby l'aiment bien.
114113
- [TypeScript](http://www.typescriptlang.org/) se concentre sur l'ajout de "typage strict des données" pour simplifier le développement et la prise en charge de systèmes complexes. Il est développé par Microsoft.
115114
- [Flow](http://flow.org/) ajoute également la saisie de données, mais de manière différente. Développé par Facebook.
116115
- [Dart](https://www.dartlang.org/) est un langage autonome doté de son propre moteur qui s'exécute dans des environnements autres que les navigateurs (comme les applications mobiles), mais peut aussi être transpilé en JavaScript. Développé par Google.
117116
- [Brython](https://brython.info/) est un transpilateur Python vers JavaScript qui permet d'écrire des applications en Python pur sans JavaScript.
118-
=======
119-
- [CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
120-
- [TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
121-
- [Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
122-
- [Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
123-
- [Brython](https://brython.info/) is a Python transpiler to JavaScript that enables the writing of applications in pure Python without JavaScript.
124-
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
125-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
117+
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) est un langage de programmation moderne, concis et sûr qui peut cibler le navigateur ou Node.
126118

127119
Il en existe évidemment bien plus, cela dit, même si nous utilisons un de ces langages, nous devrions également connaître le langage JavaScript, pour bien comprendre ce que nous faisons.
128120

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,7 @@ alert( x ); // 5
220220

221221
Le fait que `=` soit un opérateur, pas une construction de langage "magique" a une implication intéressante.
222222

223-
<<<<<<< HEAD
224-
La plupart des opérateurs en JavaScript renvoient une valeur. C'est évident pour `+` et `-`, mais aussi vrai pour `=`.
225-
=======
226-
All operators in JavaScript return a value. That's obvious for `+` and `-`, but also true for `=`.
227-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
223+
Tous les opérateurs en JavaScript renvoient une valeur. C'est évident pour `+` et `-`, mais aussi vrai pour `=`.
228224
229225
L'appel `x = valeur` écrit la` valeur` dans `x` *puis la renvoie*.
230226

1-js/02-first-steps/18-javascript-specials/article.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,9 @@ Nous avons couvert trois manières de créer une fonction en JavaScript :
272272
```
273273
274274
275-
<<<<<<< HEAD
276-
- Les fonctions peuvent avoir des variables locales: celles déclarées dans son corps. De telles variables ne sont visibles qu'à l'intérieur de la fonction.
275+
- Les fonctions peuvent avoir des variables locales: celles déclarées dans son corps ou sa liste de paramètres. Ces variables ne sont visibles qu'à l'intérieur de la fonction.
277276
- Les paramètres peuvent avoir des valeurs par défaut : `function sum(a = 1, b = 2) {...}`.
278277
- Les fonctions retournent toujours quelque chose. Si aucune instruction `return` n’est renvoyée, le résultat est `undefined`.
279-
=======
280-
- Functions may have local variables: those declared inside its body or its parameter list. Such variables are only visible inside the function.
281-
- Parameters can have default values: `function sum(a = 1, b = 2) {...}`.
282-
- Functions always return something. If there's no `return` statement, then the result is `undefined`.
283-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
284278
285279
Details : voir <info:function-basics>, <info:arrow-functions-basics>.
286280

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,8 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
134134

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

137-
<<<<<<< HEAD
138137
<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`.
139138
: 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.
140-
=======
141-
<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`.
142-
: Similar to the previous "Step" command, but behaves differently if the next statement is a function call. That is: not a built-in, like `alert`, but a function of our own.
143-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
144139

145140
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.
146141

1-js/04-object-basics/07-optional-chaining/article.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,4 @@ Comme nous pouvons le voir, tous sont simples et simples à utiliser. Le `?.` v
234234
Une chaîne de `?.` permet d'accéder en toute sécurité aux propriétés imbriquées.
235235

236236

237-
Néanmoins, nous devons appliquer «?.» Avec soin, uniquement s'il est acceptable que la partie gauche n'existe pas. Pour ne pas nous cacher les erreurs de programmation, si elles se produisent.
238-
239-
<<<<<<< HEAD
240-
=======
241-
Still, we should apply `?.` carefully, only where it's acceptable that the left part doesn't exist. So that it won't hide programming errors from us, if they occur.
242-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
237+
Néanmoins, nous devons appliquer `?.` avec soin, uniquement s'il est acceptable que la partie gauche n'existe pas. Pour ne pas nous cacher les erreurs de programmation, si elles se produisent.

1-js/05-data-types/02-number/article.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -385,11 +385,7 @@ JavaScript a un objet [Math](https://developer.mozilla.org/fr/docs/Web/JavaScrip
385385
Quelques exemples:
386386
387387
`Math.random()`
388-
<<<<<<< HEAD
389388
: Retourne un nombre aléatoire de 0 à 1 (1 non compris)
390-
=======
391-
: Returns a random number from 0 to 1 (not including 1).
392-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
393389
394390
```js run
395391
alert( Math.random() ); // 0.1234567894322
@@ -405,13 +401,8 @@ Quelques exemples:
405401
alert( Math.min(1, 2) ); // 1
406402
```
407403
408-
<<<<<<< HEAD
409-
`Math.pow(n, puissance)`
410-
: Retourne `n` par la puissance donnée
411-
=======
412404
`Math.pow(n, power)`
413-
: Returns `n` raised to the given power.
414-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
405+
: Renvoie `n` élevé à la puissance `power` donnée.
415406
416407
```js run
417408
alert( Math.pow(2, 10) ); // 2 puissance 10 = 1024

1-js/05-data-types/06-iterable/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,7 @@ Lorsque nous utilisons JavaScript pour des tâches pratiques dans un navigateur
174174

175175
Par exemple, les chaînes de caractères sont à la fois iterables (`for..of` fonctionne dessus) et des array-likes (elles ont des index numériques et une longueur).
176176

177-
<<<<<<< HEAD
178-
Mais un itérable peut ne pas ressembler à un tableau. Et inversement, un tableau peut ne pas être itérable.
179-
=======
180-
But an iterable may be not array-like. And vice versa an array-like may be not iterable.
181-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
177+
Mais un itérable peut ne pas ressembler à un array-like. Et inversement, un array-like peut ne pas être itérable.
182178

183179
Par exemple, la `range` dans l'exemple ci-dessus est itérable, mais pas comme un array-like (comme-un-tableau), car elle n'a pas de propriétés indexées et de `length`.
184180

1-js/05-data-types/10-destructuring-assignment/article.md

Lines changed: 23 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,22 @@
22

33
Les deux structures de données les plus utilisées en JavaScript sont `Object` et `Array`.
44

5-
<<<<<<< HEAD
6-
Les objets nous permettent de créer une seule entité qui stocke les éléments de données par clé, et les tableaux nous permettent de rassembler des éléments de données dans une collection ordonnée.
5+
- Les objets nous permettent de créer une seule entité qui stocke les éléments de données par clé.
6+
- Les tableaux nous permettent de rassembler des éléments de données dans une liste ordonnée.
77

88
Mais lorsque nous transmettons ceux-ci à une fonction, il se peut que celle-ci n'ait pas besoin d'un objet / tableau dans son ensemble, mais plutôt de morceaux individuels.
99

10-
*L'affectation par décomposition* est une syntaxe spéciale qui nous permet de "décompresser" des tableaux ou des objets dans un ensemble de variables, ce qui est parfois plus pratique. La décomposition fonctionne également très bien avec des fonctions complexes comportant de nombreux paramètres, valeurs par défaut, etc.
11-
=======
12-
- Objects allow us to create a single entity that stores data items by key.
13-
- Arrays allow us to gather data items into an ordered list.
10+
*L'affectation par décomposition* est une syntaxe spéciale qui nous permet de "décompresser" des tableaux ou des objets dans un ensemble de variables, ce qui est parfois plus pratique.
1411

15-
Although, when we pass those to a function, it may need not an object/array as a whole. It may need individual pieces.
16-
17-
*Destructuring assignment* is a special syntax that allows us to "unpack" arrays or objects into a bunch of variables, as sometimes that's more convenient.
18-
19-
Destructuring also works great with complex functions that have a lot of parameters, default values, and so on. Soon we'll see that.
20-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
12+
La décomposition fonctionne également très bien avec des fonctions complexes comportant de nombreux paramètres, valeurs par défaut, etc.
2113

2214
## Décomposition d'un tableau
2315

24-
<<<<<<< HEAD
25-
Un exemple de la façon dont un tableau est décomposé en variables :
16+
Voici un exemple de la façon dont un tableau est décomposé en variables :
2617

2718
```js
28-
// nous avons un tableau avec le nom et le prénom
29-
let arr = ["Ilya", "Kantor"]
30-
=======
31-
Here's an example of how an array is destructured into variables:
32-
33-
```js
34-
// we have an array with the name and surname
19+
// nous avons un tableau avec le prénom et le nom
3520
let arr = ["John", "Smith"]
36-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
3721

3822
*!*
3923
// l'affectation par décomposition
@@ -56,15 +40,10 @@ alert(firstName); // John
5640
alert(surname); // Smith
5741
```
5842

59-
<<<<<<< HEAD
60-
````smart header="\"Décomposition\" ne veut pas dire \"destruction\"."
61-
Cette manipulation est appelée "affectation par décomposition"", car elle "se décompose"" en copiant ses éléments dans des variables. Mais le tableau lui-même n'est pas modifié.
62-
=======
63-
As you can see, the syntax is simple. There are several peculiar details though. Let's see more examples, to better understand it.
43+
Comme vous pouvez le voir, la syntaxe est simple. Il y a cependant plusieurs détails particuliers. Voyons plus d'exemples, pour mieux le comprendre.
6444

65-
````smart header="\"Destructuring\" does not mean \"destructive\"."
66-
It's called "destructuring assignment," because it "destructurizes" by copying items into variables. But the array itself is not modified.
67-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
45+
````smart header="\"Décomposition\" ne veut pas dire \"destruction\"."
46+
Cette manipulation est appelée "affectation par décomposition", car elle "se décompose" en copiant ses éléments dans des variables. Mais le tableau lui-même n'est pas modifié.
6847
6948
C’est juste une façon plus courte d’écrire :
7049
```js
@@ -101,14 +80,9 @@ That works, because internally a destructuring assignment works by iterating ove
10180
````
10281

10382

104-
<<<<<<< HEAD
105-
````smart header="Attribuer à n'importe quoi à gauche"
83+
````smart header="Attribuer à n'importe quoi à la partie gauche"
10684
10785
Nous pouvons utiliser n'importe quel "assignable" à gauche.
108-
=======
109-
````smart header="Assign to anything at the left-side"
110-
We can use any "assignables" at the left side.
111-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
11286
11387
Par exemple, une propriété d'objet :
11488
```js run
@@ -121,14 +95,9 @@ alert(user.surname); // Smith
12195
12296
````
12397

124-
<<<<<<< HEAD
12598
````smart header="Boucler avec .entries()"
12699
127-
Dans le chapitre précédent, nous avons vu les méthodes [Object.entries(obj)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/entries).
128-
=======
129-
````smart header="Looping with .entries()"
130-
In the previous chapter we saw the [Object.entries(obj)](mdn:js/Object/entries) method.
131-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
100+
Dans le chapitre précédent, nous avons vu la méthode [Object.entries(obj)](mdn:js/Object/entries).
132101
133102
Nous pouvons l'utiliser avec la décomposition pour boucler sur les clés et valeurs d'un objet :
134103
@@ -146,11 +115,7 @@ for (let [key, value] of Object.entries(user)) {
146115
}
147116
```
148117
149-
<<<<<<< HEAD
150-
...Et la même chose pour un map :
151-
=======
152-
The similar code for a `Map` is simpler, as it's iterable:
153-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
118+
Le code similaire pour un `Map` est plus simple, car il est itérable :
154119
155120
```js run
156121
let user = new Map();
@@ -166,22 +131,14 @@ for (let [key, value] of user) {
166131
```
167132
````
168133

169-
<<<<<<< HEAD
170134
```smart header="Astuce d'échange de variables"
171-
Une astuce bien connue pour permuter les valeurs de deux variables :
172-
=======
173-
````smart header="Swap variables trick"
174-
There's a well-known trick for swapping values of two variables using a destructuring assignment:
175-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
135+
Il existe une astuce bien connue pour permuter les valeurs de deux variables à l'aide d'une affectation de déstructuration :
176136
177137
```js run
178138
let guest = "Jane";
179139
let admin = "Pete";
180140
181-
<<<<<<< HEAD
182-
// Permuter les valeurs : faire guest=Pete, admin=Jane
183-
=======
184-
// Let's swap the values: make guest=Pete, admin=Jane
141+
// Permutons les valeurs : make guest=Pete, admin=Jane
185142
*!*
186143
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
187144
[guest, admin] = [admin, guest];
@@ -192,23 +149,15 @@ alert(`${guest} ${admin}`); // Pete Jane (échangé avec succès !)
192149

193150
Ici, nous créons un tableau temporaire de deux variables et le déstructurons immédiatement dans l'ordre permuté.
194151

195-
<<<<<<< HEAD
196152
Nous pouvons échanger plus de deux variables de cette façon.
197153

198-
=======
199-
We can swap more than two variables this way.
200154
````
201-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
202155
203156
### Le rest '...'
204157
205-
<<<<<<< HEAD
206-
Si nous voulons non seulement obtenir les premières valeurs, mais aussi rassembler tout ce qui suit, nous pouvons ajouter un paramètre supplémentaire qui obtient "le reste" à l'aide de trois points `"..."`:
207-
=======
208-
Usually, if the array is longer when the list at the left, the "extra" items are omitted.
158+
Habituellement, si le tableau est plus long lorsque la liste est à gauche, les éléments "supplémentaires" sont omis.
209159
210-
For example, here only two items are taken, and the rest is just ignored:
211-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
160+
Par exemple, ici, seuls deux éléments sont pris et le reste est simplement ignoré :
212161
213162
```js run
214163
let [name1, name2] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
@@ -231,26 +180,18 @@ alert(rest.length); // 2
231180
*/!*
232181
```
233182
234-
<<<<<<< HEAD
235-
La valeur de `rest` est le tableau des éléments du tableau restants. Nous pouvons utiliser n’importe quel autre nom de variable à la place de `rest`, assurez-vous simplement qu’il a trois points devant lui et soit placé en dernier dans l’affectation par décomposition.
236-
=======
237-
The value of `rest` is the array of the remaining array elements.
183+
La valeur de `rest` est le tableau des éléments du tableau restants.
238184
239-
We can use any other variable name in place of `rest`, just make sure it has three dots before it and goes last in the destructuring assignment.
185+
Nous pouvons utiliser n’importe quel autre nom de variable à la place de `rest`, assurez-vous simplement qu’il a trois points devant lui et soit placé en dernier dans l’affectation par décomposition.
240186
241187
```js run
242188
let [name1, name2, *!*...titles*/!*] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
243189
// now titles = ["Consul", "of the Roman Republic"]
244190
```
245-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
246191
247192
### Les valeurs par défaut
248193
249-
<<<<<<< HEAD
250-
S'il y a moins de valeurs dans le tableau que de variables dans l'affectation, il n'y aura pas d'erreur. Les valeurs absentes sont considérées comme non définies :
251-
=======
252-
If the array is shorter than the list of variables at the left, there'll be no errors. Absent values are considered undefined:
253-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
194+
Si le tableau est plus court que la liste des variables à gauche, il n'y aura aucune erreur. Les valeurs absentes sont considérées comme non définies :
254195
255196
```js run
256197
*!*
@@ -275,11 +216,7 @@ alert(surname); // Anonymous (default used)
275216
276217
Les valeurs par défaut peuvent être des expressions plus complexes ou même des appels de fonction. Ils ne sont évalués que si la valeur n'est pas fournie.
277218
278-
<<<<<<< HEAD
279-
Par exemple, nous utilisons ici la fonction `prompt` pour deux valeurs par défaut. Mais cela ne fonctionnera que pour celle qui manque :
280-
=======
281-
For instance, here we use the `prompt` function for two defaults:
282-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
219+
Par exemple, nous utilisons ici la fonction `prompt` pour deux valeurs par défaut :
283220
284221
```js run
285222
// runs only prompt for surname
@@ -301,11 +238,7 @@ La syntaxe de base est la suivante :
301238
let {var1, var2} = {var1:…, var2:…}
302239
```
303240
304-
<<<<<<< HEAD
305-
Nous avons un objet existant à droite que nous souhaitons scinder en variables. Le côté gauche contient un "pattern" pour les propriétés correspondantes. Dans ce cas simple, c’est une liste de noms de variables dans `{...}`.
306-
=======
307-
We should have an existing object at the right side, that we want to split into variables. The left side contains an object-like "pattern" for corresponding properties. In the simplest case, that's a list of variable names in `{...}`.
308-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
241+
Nous devrions avoir un objet existant sur le côté droit, que nous voulons diviser en variables. La partie gauche contient un "modèle" de type objet pour les propriétés correspondantes. Dans le cas le plus simple, c'est une liste de noms de variables dans `{...}`.
309242
310243
Par exemple :
311244
@@ -325,13 +258,9 @@ alert(width); // 100
325258
alert(height); // 200
326259
```
327260
328-
<<<<<<< HEAD
329-
Les propriétés `options.title`, `options.width` et `options.height` sont affectés aux variables correspondantes. L'ordre n'a pas d'importance. Cela fonctionne aussi :
330-
=======
331-
Properties `options.title`, `options.width` and `options.height` are assigned to the corresponding variables.
261+
Les propriétés `options.title`, `options.width` et `options.height` sont affectées aux variables correspondantes.
332262
333-
The order does not matter. This works too:
334-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
263+
L'ordre n'a pas d'importance. Cela fonctionne aussi :
335264
336265
```js
337266
// changé l'ordre dans let {...}
@@ -340,11 +269,7 @@ let {height, width, title} = { title: "Menu", height: 200, width: 100 }
340269
341270
Le pattern à gauche peut être plus complexe et spécifier le mapping entre propriétés et variables.
342271
343-
<<<<<<< HEAD
344272
Si nous voulons affecter une propriété à une variable portant un autre nom, par exemple, `options.width` pour aller dans la variable nommée `w`, alors nous pouvons la définir en utilisant deux points :
345-
=======
346-
If we want to assign a property to a variable with another name, for instance, make `options.width` go into the variable named `w`, then we can set the variable name using a colon:
347-
>>>>>>> 468e3552884851fcef331fbdfd58096652964b5f
348273
349274
```js run
350275
let options = {

0 commit comments

Comments
 (0)