Skip to content

Commit 02e2d44

Browse files
authored
Merge pull request #418 from HachemiH/master
Conflicts fixed after Sync with upstream @ 5dff42b
2 parents 9b72616 + cc3053d commit 02e2d44

File tree

22 files changed

+45
-228
lines changed

22 files changed

+45
-228
lines changed

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,22 @@ La principale différence entre un "éditeur léger" et un "IDE" réside dans le
3131

3232
En pratique, les éditeurs légers peuvent avoir beaucoup de plug-ins, y compris des analyseurs de syntaxe au niveau des répertoires et des autocompléteurs. Il n’ya donc pas de frontière stricte entre un éditeur léger et un IDE.
3333

34-
Les options suivantes méritent votre attention :
34+
Il existe de nombreuses options, par exemple :
3535

36-
<<<<<<< HEAD
3736
- [Sublime Text](http://www.sublimetext.com) (multiplateforme, payant).
3837
- [Notepad++](https://notepad-plus-plus.org/) (Windows, gratuit).
39-
- [Vim](http://www.vim.org/) et [Emacs](https://www.gnu.org/software/emacs/) sont également cool, si vous savez comment les utiliser.
38+
- [Vim](https://www.vim.org/) et [Emacs](https://www.gnu.org/software/emacs/) sont également cool, si vous savez comment les utiliser.
4039

41-
=======
42-
There are many options, for instance:
43-
44-
- [Sublime Text](https://www.sublimetext.com/) (cross-platform, shareware).
45-
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
46-
- [Vim](https://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
47-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
4840

4941
## Ne discutons pas
5042

5143
Les éditeurs des listes ci-dessus sont ceux que moi-même ou mes amis, que je considère comme de bons développeurs, utilisent depuis longtemps et en sont satisfaits.
5244

5345
Il y a d'autres grands éditeurs dans notre vaste monde. Veuillez choisir celui que vous aimez le plus.
5446

55-
<<<<<<< HEAD
5647
Le choix d'un éditeur, comme tout autre outil, est individuel et dépend de vos projets, de vos habitudes, de vos préférences personnelles.
57-
=======
58-
The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences.
5948

60-
The author's personal opinion:
49+
L'avis personnel de l'auteur :
6150

62-
- I'd use [Visual Studio Code](https://code.visualstudio.com/) if I develop mostly frontend.
63-
- Otherwise, if it's mostly another language/platform and partially frontend, then consider other editors, such as XCode (Mac), Visual Studio (Windows) or Jetbrains family (Webstorm, PHPStorm, RubyMine etc, depending on the language).
64-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
51+
- J'utilise [Visual Studio Code](https://code.visualstudio.com/) si je développe principalement du frontend.
52+
- Sinon, s'il s'agit principalement d'un autre langage/plate-forme et partiellement d'un frontend, envisagez d'autres éditeurs, tels que XCode (Mac), Visual Studio (Windows) ou la famille Jetbrains (Webstorm, PHPStorm, RubyMine, etc., selon le langage).

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

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,8 @@ let message = "That"; // SyntaxError: 'message' has already been declared
150150
Donc, nous devrions déclarer une variable une fois et y faire référence sans `let`.
151151
````
152152

153-
<<<<<<< HEAD
154153
```smart header="Langages fonctionnels"
155-
Il peut être intéressant de savoir qu'il existe aussi des langages de [programmation fonctionelle](https://fr.wikipedia.org/wiki/Programmation_fonctionnelle), comme [Scala](http://www.scala-lang.org/) ou [Erlang](http://www.erlang.org/) qui interdisent de modifier une valeur de variable.
156-
=======
157-
```smart header="Functional languages"
158-
It's interesting to note that there exist [functional](https://en.wikipedia.org/wiki/Functional_programming) programming languages, like [Scala](https://www.scala-lang.org/) or [Erlang](https://www.erlang.org/) that forbid changing variable values.
159-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
154+
Il peut être intéressant de savoir qu'il existe aussi des langages de [programmation fonctionelle](https://fr.wikipedia.org/wiki/Programmation_fonctionnelle), comme [Scala](https://www.scala-lang.org/) ou [Erlang](https://www.erlang.org/) qui interdisent de modifier une valeur de variable.
160155
161156
Dans ce genre de langage, une fois la valeur stockée dans la boîte, elle est là pour toujours. Si nous devons stocker autre chose, le langage nous oblige à créer une nouvelle boîte (déclarer une nouvelle variable). Nous ne pouvons pas réutiliser l’ancienne.
162157
@@ -202,13 +197,8 @@ let mon-nom; // un trait d'union '-' n'est pas autorisé dans le nom
202197
Des variables nommées `apple` et `APPLE` sont deux variables différentes.
203198
```
204199

205-
<<<<<<< HEAD
206200
````smart header="Les lettres non latines sont autorisées mais non recommandées"
207-
Il est possible d'utiliser n'importe quel langage, y compris les lettres cyrilliques ou même les hiéroglyphes, comme ceci :
208-
=======
209-
````smart header="Non-Latin letters are allowed, but not recommended"
210-
It is possible to use any language, including cyrillic letters, Chinese logograms and so on, like this:
211-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
201+
Il est possible d'utiliser n'importe quelle langue, y compris les lettres cyrilliques, les logogrammes chinois, etc., comme ceci :
212202
213203
```js
214204
let имя = '...';

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,7 @@ alert( 8 ** (1/3) ); // 2 (la puissance de 1/3 équivaut à une racine cubique)
7979
8080
## Concaténation de chaînes de caractères, binaire `+`
8181
82-
<<<<<<< HEAD
83-
Voyons maintenant les caractéristiques spéciales des opérateurs JavaScript qui sont au-delà de l’arithmétique scolaire.
84-
=======
85-
Let's meet the features of JavaScript operators that are beyond school arithmetics.
86-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
82+
Découvrons les fonctionnalités des opérateurs JavaScript qui vont au-delà de l'arithmétique scolaire.
8783

8884
Habituellement, l'opérateur `+` additionne des chiffres.
8985

1-js/02-first-steps/15-function-basics/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -461,11 +461,7 @@ Ces exemples supposent des significations communes de préfixes. Vous et votre
461461
```smart header="Noms de fonction ultra-courts"
462462
Les fonctions utilisées *très souvent* portent parfois des noms ultra-courts.
463463
464-
<<<<<<< HEAD
465-
Par exemple le framework [jQuery](http://jquery.com) définit une fonction avec `$`. La librairie [LoDash](http://lodash.com/) a nommé sa fonction principale `_`.
466-
=======
467-
For example, the [jQuery](https://jquery.com/) framework defines a function with `$`. The [Lodash](https://lodash.com/) library has its core function named `_`.
468-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
464+
Par exemple le framework [jQuery](https://jquery.com) définit une fonction avec `$`. La librairie [LoDash](https://lodash.com/) a nommé sa fonction principale `_`.
469465
470466
Ce sont des exceptions. En règle générale, les noms de fonctions doivent être concis et descriptifs.
471467
```

1-js/03-code-quality/05-testing-mocha/article.md

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,13 @@ La spécification peut être exécutée et le test spécifié dans le bloc `it`
6868

6969
Le flux de développement ressemble généralement à ceci :
7070

71-
<<<<<<< HEAD
7271
1. Une spécification initiale est écrite, avec des tests pour les fonctionnalités les plus élémentaires.
7372
2. Une implémentation initiale est créée.
74-
3. Pour vérifier si cela fonctionne, nous exécutons le framework de test [Mocha](http://mochajs.org/) (plus de détails bientôt) qui exécute la spécification. Tant que la fonctionnalité n'est pas complète, des erreurs sont affichées. Nous apportons des corrections jusqu'à ce que tout fonctionne.
73+
3. Pour vérifier si cela fonctionne, nous exécutons le framework de test [Mocha](https://mochajs.org/) (plus de détails bientôt) qui exécute la spécification. Tant que la fonctionnalité n'est pas complète, des erreurs sont affichées. Nous apportons des corrections jusqu'à ce que tout fonctionne.
7574
4. Nous avons maintenant une implémentation initiale de travail avec des tests.
7675
5. Nous ajoutons d'autres cas d'utilisation à la spécification, probablement pas encore pris en charge par les implémentations. Les tests commencent à échouer.
7776
6. Passez à l'étape 3, mettez à jour l'implémentation jusqu'à ce que les tests ne génèrent aucune erreur.
7877
7. Répétez les étapes 3 à 6 jusqu'à ce que la fonctionnalité soit prête.
79-
=======
80-
1. An initial spec is written, with tests for the most basic functionality.
81-
2. An initial implementation is created.
82-
3. To check whether it works, we run the testing framework [Mocha](https://mochajs.org/) (more details soon) that runs the spec. While the functionality is not complete, errors are displayed. We make corrections until everything works.
83-
4. Now we have a working initial implementation with tests.
84-
5. We add more use cases to the spec, probably not yet supported by the implementations. Tests start to fail.
85-
6. Go to 3, update the implementation till tests give no errors.
86-
7. Repeat steps 3-6 till the functionality is ready.
87-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
8878

8979
Donc, le développement est *itératif*. Nous écrivons la spécification, la mettons en œuvre, nous nous assurons que les tests réussissent, puis rédigeons d'autres tests, nous nous assurons qu'ils fonctionnent, etc. À la fin, nous avons une implémentation qui fonctionne et des tests.
9080

@@ -96,15 +86,9 @@ La première étape est déjà terminée : nous avons une spécification initial
9686

9787
Dans ce tutoriel, nous utiliserons les bibliothèques JavaScript suivantes pour les tests :
9888

99-
<<<<<<< HEAD
100-
- [Mocha](http://mochajs.org/) -- le framework central : il fournit des fonctions de test communes, y compris `describe`, et `it` ainsi que la fonction principale qui exécute les tests.
101-
- [Chai](http://chaijs.com) -- la bibliothèque avec de nombreuses affirmations. Elle permet d’utiliser beaucoup d’affirmations différentes, pour le moment nous n’avons besoin que de `assert.equal`.
102-
- [Sinon](http://sinonjs.org/) -- une bibliothèque pour espionner des fonctions, émuler des fonctions intégrées et plus encore, nous en aurons besoin beaucoup plus tard.
103-
=======
104-
- [Mocha](https://mochajs.org/) -- the core framework: it provides common testing functions including `describe` and `it` and the main function that runs tests.
105-
- [Chai](https://www.chaijs.com/) -- the library with many assertions. It allows to use a lot of different assertions, for now we need only `assert.equal`.
106-
- [Sinon](https://sinonjs.org/) -- a library to spy over functions, emulate built-in functions and more, we'll need it much later.
107-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
89+
- [Mocha](https://mochajs.org/) -- le framework central : il fournit des fonctions de test communes, y compris `describe`, et `it` ainsi que la fonction principale qui exécute les tests.
90+
- [Chai](https://chaijs.com) -- la bibliothèque avec de nombreuses affirmations. Elle permet d’utiliser beaucoup d’affirmations différentes, pour le moment nous n’avons besoin que de `assert.equal`.
91+
- [Sinon](https://sinonjs.org/) -- une bibliothèque pour espionner des fonctions, émuler des fonctions intégrées et plus encore, nous en aurons besoin beaucoup plus tard.
10892

10993
Ces bibliothèques conviennent aux tests sur le navigateur et sur le serveur. Ici, nous allons considérer la variante du navigateur.
11094

@@ -356,25 +340,14 @@ Les tests récemment ajoutés échouent car notre implémentation ne les prend p
356340
357341
Veuillez noter l'affirmation `assert.isNaN` : elle vérifie `NaN`.
358342
359-
<<<<<<< HEAD
360-
Il y a aussi d'autres affirmations dans [Chai](http://chaijs.com), par exemple :
343+
Il y a aussi d'autres affirmations dans [Chai](https://chaijs.com), par exemple :
361344
362345
- `assert.equal(value1, value2)` -- vérifie l'égalité `value1 == value2`.
363346
- `assert.strictEqual(value1, value2)` -- vérifie la stricte égalité `value1 === value2`.
364347
- `assert.notEqual`, `assert.notStrictEqual` -- contrôles inverses à ceux ci-dessus.
365348
- `assert.isTrue(value)` -- vérifie que `value === true`
366349
- `assert.isFalse(value)` -- vérifie que `value === false`
367-
- … la liste complète est dans la [doc](http://chaijs.com/api/assert/)
368-
=======
369-
There are other assertions in [Chai](https://www.chaijs.com/) as well, for instance:
370-
371-
- `assert.equal(value1, value2)` -- checks the equality `value1 == value2`.
372-
- `assert.strictEqual(value1, value2)` -- checks the strict equality `value1 === value2`.
373-
- `assert.notEqual`, `assert.notStrictEqual` -- inverse checks to the ones above.
374-
- `assert.isTrue(value)` -- checks that `value === true`
375-
- `assert.isFalse(value)` -- checks that `value === false`
376-
- ...the full list is in the [docs](https://www.chaijs.com/api/assert/)
377-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
350+
- … la liste complète est dans la [doc](https://chaijs.com/api/assert/)
378351
```
379352

380353
Donc, nous devrions ajouter quelques lignes à `pow`:

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

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

22
# Polyfills et transpilers
33

4-
<<<<<<< HEAD
5-
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).
6-
=======
7-
The JavaScript language steadily evolves. New proposals to the language appear regularly, they are analyzed and, if considered worthy, are appended to the list at <https://tc39.github.io/ecma262/> and then progress to the [specification](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/).
8-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
4+
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](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/).
95

106
Les équipes derrière les moteurs JavaScript ont leurs propres idées sur ce qu'il faut d'abord mettre en œuvre. Elles peuvent décider de mettre en œuvre des propositions qui sont en projet et reporter des éléments qui figurent déjà dans les spécifications, car ils sont moins intéressants ou tout simplement plus difficiles à faire.
117

@@ -75,15 +71,9 @@ if (!Math.trunc) { // si une telle fonction n'existe pas
7571
7672
JavaScript est un langage très dynamique, les scripts peuvent ajouter/modifier toutes les fonctions, y compris celles intégrées.
7773
78-
<<<<<<< HEAD
7974
Deux librairies intéressantes de polyfills sont :
8075
- [core js](https://github.com/zloirock/core-js) qui prend en charge beaucoup, permet d'inclure uniquement les fonctionnalités nécessaires.
81-
- [polyfill.io](http://polyfill.io) est un service qui fournit un script avec des polyfills, en fonction des fonctionnalités et du navigateur de l'utilisateur.
82-
=======
83-
Two interesting polyfill libraries are:
84-
- [core js](https://github.com/zloirock/core-js) that supports a lot, allows to include only needed features.
85-
- [polyfill.io](https://polyfill.io/) service that provides a script with polyfills, depending on the features and user's browser.
86-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
76+
- [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.
8777
8878
8979
## Résumé

1-js/04-object-basics/03-garbage-collection/article.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,8 @@ Les moteurs modernes implémentent des algorithmes avancés de récupération de
205205

206206
Un livre général intitulé "The Garbage Collection Handbook: The Art of Automatic Memory Management" (R. Jones et al.) En parle.
207207

208-
<<<<<<< HEAD
209-
Si vous êtes familiarisé avec la programmation de bas niveau, les informations plus détaillées sur le garbage collecor V8 se trouvent dans l'article [A tour of V8: Garbage Collection](http://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection).
208+
Si vous êtes familiarisé avec la programmation de bas niveau, les informations plus détaillées sur le garbage collector V8 se trouvent dans l'article [A tour of V8: Garbage Collection](https://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection).
210209

211-
[V8 blog](https://v8.dev) publie également des articles sur les modifications de la gestion de la mémoire de temps à autre. Naturellement, pour apprendre la récupération de place, vous feriez mieux de vous préparer en vous renseignant sur les éléments internes de V8 en général et en lisant le blog de [Vyacheslav Egorov](http://mrale.ph) qui a travaillé comme l'un des ingénieurs V8. Je dis: «V8», car c'est le plus couvert d'articles sur Internet. Pour d'autres moteurs, de nombreuses approches sont similaires, mais la récupération de place diffère à de nombreux égards.
212-
=======
213-
If you are familiar with low-level programming, more detailed information about V8's garbage collector is in the article [A tour of V8: Garbage Collection](https://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection).
214-
215-
The [V8 blog](https://v8.dev/) also publishes articles about changes in memory management from time to time. Naturally, to learn more about garbage collection, you'd better prepare by learning about V8 internals in general and read the blog of [Vyacheslav Egorov](https://mrale.ph) who worked as one of the V8 engineers. I'm saying: "V8", because it is best covered by articles on the internet. For other engines, many approaches are similar, but garbage collection differs in many aspects.
216-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
210+
Le [blog V8](https://v8.dev) publie également des articles sur les modifications de la gestion de la mémoire de temps à autre. Naturellement, pour apprendre la récupération de place, vous feriez mieux de vous préparer en vous renseignant sur les éléments internes de V8 en général et en lisant le blog de [Vyacheslav Egorov](https://mrale.ph) qui a travaillé comme l'un des ingénieurs V8. Je dis: «V8», car c'est le plus couvert d'articles sur Internet. Pour d'autres moteurs, de nombreuses approches sont similaires, mais la récupération de place diffère à de nombreux égards.
217211

218212
Une connaissance approfondie des moteurs est utile lorsque vous avez besoin d'optimisations de bas niveau. Il serait sage de planifier cela comme prochaine étape après la connaissance du langage.

1-js/05-data-types/11-date/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -382,11 +382,7 @@ for (let i = 0; i < 10; i++) {
382382
```warn header="Faites attention au micro-benchmarking"
383383
Les moteurs JavaScript modernes effectuent de nombreuses optimisations. Ils peuvent modifier les résultats des «tests artificiels» par rapport à «l'utilisation normale», en particulier lorsque nous comparons quelque chose de très petit. Donc, si vous voulez sérieusement comprendre les performances, alors étudiez le fonctionnement du moteur JavaScript. Et puis vous n’aurez probablement pas besoin de micro-points de repère.
384384
385-
<<<<<<< HEAD
386-
Un bon paquet d'article a propos de V8 se trouve ici <http://mrale.ph>.
387-
=======
388-
The great pack of articles about V8 can be found at <https://mrale.ph>.
389-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
385+
Un bon paquet d'article a propos de V8 se trouve ici <https://mrale.ph>.
390386
```
391387
392388
## Date.parse d'une chaîne de caractère

1-js/05-data-types/12-json/article.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -451,11 +451,7 @@ let json = `{
451451

452452
En outre, JSON ne prend pas en charge les commentaires. L'ajout d'un commentaire à JSON le rend invalide.
453453

454-
<<<<<<< HEAD
455-
Il y a un autre format nommé [JSON5](http://json5.org/),qui autorise les clés non commentées, les commentaires, etc. Mais il s’agit d’une bibliothèque autonome, pas dans la spécification du langage.
456-
=======
457-
There's another format named [JSON5](https://json5.org/), which allows unquoted keys, comments etc. But this is a standalone library, not in the specification of the language.
458-
>>>>>>> 5dff42ba283bce883428c383c080fa9392b71df8
454+
Il y a un autre format nommé [JSON5](https://json5.org/),qui autorise les clés non commentées, les commentaires, etc. Mais il s’agit d’une bibliothèque autonome, pas dans la spécification du langage.
459455

460456
Le JSON standard est très strict, non pas parce que ses développeurs sont paresseux, mais pour permettre une implémentation facile, fiable et très rapide de l'algorithme de conversion.
461457

0 commit comments

Comments
 (0)