Skip to content

Commit 6c7210b

Browse files
committed
merging all conflicts
2 parents c02fa1d + 035c526 commit 6c7210b

File tree

54 files changed

+2697
-77
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+2697
-77
lines changed

Diff for: .github/FUNDING.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: iliakan

Diff for: 1-js/02-first-steps/04-variables/article.md

+48
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,26 @@ Dans les anciens scripts, vous pouvez également trouver un autre mot-clé : `v
8888
*!*var*/!* message = 'Hello';
8989
```
9090

91+
<<<<<<< HEAD
9192
Le mot-clé `var` est *presque* identique à `let`. Il déclare également une variable, mais d'une manière légèrement différente, à la mode "old school".
9293

9394
Il y a des différences subtiles entre `let` et `var`, mais elles n'ont pas encore d'importance pour nous. Nous les couvrirons en détails plus tard, dans le chapitre <info:var>.
95+
=======
96+
The `var` keyword is *almost* the same as `let`. It also declares a variable but in a slightly different, "old-school" way.
97+
98+
There are subtle differences between `let` and `var`, but they do not matter to us yet. We'll cover them in detail in the chapter <info:var>.
99+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
94100
````
95101
96102
## Une analogie avec la vie réelle
97103
98104
Nous pouvons facilement saisir le concept d'une "variable" si nous l'imaginons comme une "boîte" pour les données, avec un autocollant portant un nom unique.
99105
106+
<<<<<<< HEAD
100107
Par exemple, la variable message peut être imaginée comme une boîte étiquetée "message" avec la valeur "Hello!" à l'intérieur :
108+
=======
109+
For instance, the variable `message` can be imagined as a box labelled `"message"` with the value `"Hello!"` in it:
110+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
101111
102112
![](variable.svg)
103113
@@ -197,16 +207,25 @@ let mon-nom; // un trait d'union '-' n'est pas autorisé dans le nom
197207
Des variables nommées `apple` et `APPLE` sont deux variables différentes.
198208
```
199209

210+
<<<<<<< HEAD
200211
````smart header="Les lettres non latines sont autorisées mais non recommandées"
201212
Il est possible d'utiliser n'importe quelle langue, y compris les lettres cyrilliques, les logogrammes chinois, etc., comme ceci :
213+
=======
214+
````smart header="Non-Latin letters are allowed, but not recommended"
215+
It is possible to use any language, including Cyrillic letters, Chinese logograms and so on, like this:
216+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
202217
203218
```js
204219
let имя = '...';
205220
let 我 = '...';
206221
```
207222
223+
<<<<<<< HEAD
208224
Techniquement, il n'y a pas d'erreur ici, ces noms sont autorisés, mais il existe une convention internationale d'utiliser l'anglais dans les noms de variables. Même si nous écrivons un petit script, sa vie peut être longue. Les personnes d'autres pays peuvent avoir besoin de les lire quelque temps.
209225
226+
=======
227+
Technically, there is no error here. Such names are allowed, but there is an international convention to use English in variable names. Even if we're writing a small script, it may have a long life ahead. People from other countries may need to read it sometime.
228+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
210229
````
211230

212231
````warn header="Noms réservés"
@@ -262,10 +281,18 @@ const myBirthday = '18.04.1982';
262281
myBirthday = '01.01.2001'; // erreur, ne peut pas réaffecter la constante !
263282
```
264283
284+
<<<<<<< HEAD
265285
Lorsqu'un programmeur est certain que la variable ne doit jamais changer, il peut utiliser `const` pour le garantir et également le montrer clairement à tout le monde.
286+
=======
287+
When a programmer is sure that a variable will never change, they can declare it with `const` to guarantee and communicate that fact to everyone.
288+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
266289
267290
291+
<<<<<<< HEAD
268292
### Les constantes en majuscules
293+
=======
294+
There is a widespread practice to use constants as aliases for difficult-to-remember values that are known before execution.
295+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
269296
270297
Il existe une pratique répandue d’utiliser des constantes comme alias pour des valeurs difficiles à mémoriser, qui sont connues avant leur exécution.
271298
@@ -292,15 +319,23 @@ Bénéfices:
292319
293320
Quand devrions-nous utiliser les majuscules pour une constante et quand devrions-nous les nommer normalement ? Soyons clairs.
294321
322+
<<<<<<< HEAD
295323
Être une "constante" signifie simplement que la valeur ne change jamais. Mais il existe des constantes connues avant l'exécution (comme une valeur hexadécimale pour le rouge), et il y a celles qui sont *calculées* en temps réel, pendant l'exécution, mais ne changent pas après l'affectation.
324+
=======
325+
Being a "constant" just means that a variable's value never changes. But some constants are known before execution (like a hexadecimal value for red) and some constants are *calculated* in run-time, during the execution, but do not change after their initial assignment.
326+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
296327
297328
Par exemple :
298329
299330
```js
300331
const pageLoadTime = /* temps pris par une page Web pour charger */;
301332
```
302333
334+
<<<<<<< HEAD
303335
La valeur de `pageLoadTime` n’est pas connue avant le chargement de la page, elle est donc nommée normalement. Mais cela reste une constante, car elle ne change pas après l’affectation.
336+
=======
337+
The value of `pageLoadTime` is not known before the page load, so it's named normally. But it's still a constant because it doesn't change after the assignment.
338+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
304339
305340
En d'autres termes, les constantes nommées en majuscules ne sont utilisées que comme alias pour les valeurs "codées en dur".
306341
@@ -310,18 +345,31 @@ En parlant de variables, il y a une autre chose extrêmement importante.
310345
311346
Un nom de variable doit avoir une signification claire et évidente, décrivant les données qu'elle stocke.
312347
348+
<<<<<<< HEAD
313349
Le nommage de variables est l’une des compétences les plus importantes et les plus complexes de la programmation. Un rapide coup d’œil sur les noms de variables peut révéler quel code est écrit par un débutant et par un développeur expérimenté.
314350
315351
Dans un projet réel, la majeure partie du temps est consacrée à la modification et à l'extension de la base de code existant, plutôt que d'écrire quelque chose de complètement séparé de zéro. Et lorsque nous revenons au code après un certain temps, il est beaucoup plus facile de trouver des informations bien étiquetées. Ou, en d'autres termes, lorsque les variables ont de bons noms.
352+
=======
353+
Variable naming is one of the most important and complex skills in programming. A glance at variable names can reveal which code was written by a beginner versus an experienced developer.
354+
355+
In a real project, most of the time is spent modifying and extending an existing code base rather than writing something completely separate from scratch. When we return to some code after doing something else for a while, it's much easier to find information that is well-labelled. Or, in other words, when the variables have good names.
356+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
316357
317358
Veuillez prendre le temps de réfléchir à un nom pertinent pour une variable avant de la déclarer. Cela vous facilitera énormément la vie.
318359
319360
Voici quelques règles à suivre :
320361
362+
<<<<<<< HEAD
321363
- Utilisez des noms lisibles par des humains comme `userName` ou `shoppingCart`.
322364
- Restez à l’écart des abréviations ou des noms courts tels que `a`, `b`, `c`, à moins que vous ne sachiez vraiment ce que vous faites.
323365
- Faire en sorte que le nom soit le plus descriptif et concis possible. Des exemples de noms incorrects sont `data` et `value`. Un tel nom ne dit rien. C’est tout à fait acceptable de les utiliser si le contexte dans lequel les données ou les valeurs sont impliquées est particulièrement évident.
324366
- S'accorder avec son équipe (et soi-même) sur les termes utilisés. Si un visiteur du site est appelé un "utilisateur", nous devrions nommer les variables connexes comme `currentUser` ou `newUser`, mais non `currentVisitor` ou encore `newManInTown`.
367+
=======
368+
- Use human-readable names like `userName` or `shoppingCart`.
369+
- Stay away from abbreviations or short names like `a`, `b`, and `c`, unless you know what you're doing.
370+
- Make names maximally descriptive and concise. Examples of bad names are `data` and `value`. Such names say nothing. It's only okay to use them if the context of the code makes it exceptionally obvious which data or value the variable is referencing.
371+
- Agree on terms within your team and in your mind. If a site visitor is called a "user" then we should name related variables `currentUser` or `newUser` instead of `currentVisitor` or `newManInTown`.
372+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
325373
326374
Cela semble simple ? En effet, ça l'est, mais la création de noms descriptifs et concis dans la pratique ne l'est pas. Fonce.
327375

Diff for: 1-js/02-first-steps/05-types/article.md

+3
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,15 @@ const bigInt = 1234567890123456789012345678901234567890n;
9696
9797
Comme les chiffres `BigInt` sont rarement nécessaires, nous leur avons consacré un chapitre dédié <info:bigint>. Lisez-le lorsque vous avez besoin d'aussi gros chiffres.
9898
99+
<<<<<<< HEAD
99100
```smart header="Problèmes de compatibilité"
100101
À l'heure actuelle, `BigInt` est pris en charge dans Firefox/Chrome/Edge/Safari, mais pas dans IE.
101102
```
102103
103104
You can check [*MDN* BigInt compatibility table](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#Browser_compatibility) to know which versions of a browser are supported.
104105
106+
=======
107+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
105108
## String
106109
107110
Une chaîne de caractères en JavaScript doit être entre guillemets.

Diff for: 1-js/02-first-steps/16-function-expressions/article.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ let sayHi = function() { // (1) create
8484
alert( "Hello" );
8585
};
8686

87-
let func = sayHi;
87+
let func = sayHi; //(2)
8888
// ...
8989
```
9090

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

+16
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ Les équipes derrière les moteurs JavaScript ont leurs propres idées sur ce qu
77

88
Il est donc assez courant pour un moteur de ne mettre en œuvre qu'une partie du standard.
99

10+
<<<<<<< HEAD
1011
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).
12+
=======
13+
A good page to see the current state of support for language features is <https://compat-table.github.io/compat-table/es6/> (it's big, we have a lot to study yet).
14+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
1115
1216
En tant que programmeurs, nous aimerions utiliser les fonctionnalités les plus récentes. Plus il y a de bonnes choses, mieux c'est !
1317

@@ -71,10 +75,14 @@ if (!Math.trunc) { // si une telle fonction n'existe pas
7175
7276
JavaScript est un langage très dynamique, les scripts peuvent ajouter/modifier toutes les fonctions, y compris celles intégrées.
7377
78+
<<<<<<< HEAD
7479
Deux librairies intéressantes de polyfills sont :
7580
- [core js](https://github.com/zloirock/core-js) qui prend en charge beaucoup de choses et permet d'inclure uniquement les fonctionnalités nécessaires.
7681
- [polyfill.io](https://polyfill.io) est un service qui fournit un script avec des polyfills, en fonction des fonctionnalités et du navigateur de l'utilisateur.
7782
83+
=======
84+
One interesting polyfill library is [core-js](https://github.com/zloirock/core-js), which supports a wide range of features and allows you to include only the ones you need.
85+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
7886
7987
## Résumé
8088
@@ -84,8 +92,16 @@ N'oubliez pas d'utiliser un transpiler (si vous utilisez une syntaxe ou des opé
8492
8593
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).
8694
95+
<<<<<<< HEAD
8796
De bonnes ressources qui montrent l'état actuel de la prise en charge de diverses fonctionnalités :
8897
- <https://kangax.github.io/compat-table/es6/> - pour du pur JavaScript.
8998
- <https://caniuse.com/> - pour les fonctions liées au navigateur.
99+
=======
100+
Good resources that show the current state of support for various features:
101+
- <https://compat-table.github.io/compat-table/es6/> - for pure JavaScript.
102+
- <https://caniuse.com/> - for browser-related functions.
103+
104+
P.S. Google Chrome is usually the most up-to-date with language features, try it if a tutorial demo fails. Most tutorial demos work with any modern browser though.
105+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
90106
91107
P.S. Google Chrome est généralement le plus à jour avec les fonctionnalités du langage, essayez-le si une démonstration d'un tutoriel échoue. La plupart des démos de didacticiels fonctionnent avec n'importe quel navigateur moderne.

Diff for: 1-js/04-object-basics/04-object-methods/8-chain-calls/task.md

+16
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ importance: 2
44

55
# Chaining
66

7+
<<<<<<< HEAD
78
Il y a un objet `ladder` qui permet de monter et descendre :
9+
=======
10+
There's a `ladder` object that allows you to go up and down:
11+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
812
913
```js
1014
let ladder = {
@@ -21,7 +25,11 @@ let ladder = {
2125
};
2226
```
2327

28+
<<<<<<< HEAD
2429
Maintenant, si nous devons faire plusieurs appels en séquence, nous pouvons le faire comme ceci :
30+
=======
31+
Now, if we need to make several calls in sequence, we can do it like this:
32+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
2533
2634
```js
2735
ladder.up();
@@ -32,10 +40,18 @@ ladder.down();
3240
ladder.showStep(); // 0
3341
```
3442

43+
<<<<<<< HEAD
3544
Modifiez le code de `up` et `down` pour rendre les appels chaînables, comme ceci :
45+
=======
46+
Modify the code of `up`, `down`, and `showStep` to make the calls chainable, like this:
47+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
3648
3749
```js
3850
ladder.up().up().down().showStep().down().showStep(); // shows 1 then 0
3951
```
4052

53+
<<<<<<< HEAD
4154
Cette approche est largement utilisée dans les bibliothèques JavaScript.
55+
=======
56+
Such an approach is widely used across JavaScript libraries.
57+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9

Diff for: 1-js/04-object-basics/09-object-toprimitive/article.md

+4
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,11 @@ let obj = {
256256
}
257257
};
258258

259+
<<<<<<< HEAD
259260
alert(obj + 2); // 22 ("2" + 2), la conversion en primitive a renvoyé une chaîne de caractères => concaténation
261+
=======
262+
alert(obj + 2); // "22" ("2" + 2), conversion to primitive returned a string => concatenation
263+
>>>>>>> 035c5267ba80fa7b55878f7213cbde449b4092d9
260264
```
261265

262266
## Résumé

0 commit comments

Comments
 (0)