Skip to content

Commit 78b5d32

Browse files
authored
Merge pull request #248 from HachemiH/master
Conflicts fixed after sync with upstream @ 181cc78
2 parents fe055dd + 40d3eab commit 78b5d32

File tree

8 files changed

+16
-96
lines changed

8 files changed

+16
-96
lines changed

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

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
# Une Introduction à JavaScript
22

3-
<<<<<<< HEAD
43
Voyons ce qui est spécial à propos de JavaScript, ce qu'il nous permet de faire et avec quelles autres technologies il s'accorde bien.
5-
=======
6-
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
7-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
84

95
## Qu'est-ce que JavaScript?
106

@@ -71,12 +67,7 @@ Les exemples de telles restrictions sont:
7167

7268
Les navigateurs modernes lui permettent de fonctionner avec des fichiers, mais l'accès est limité et n'est fourni que si l'utilisateur effectue certaines actions, comme «déposer» un fichier dans une fenêtre de navigateur ou le sélectionner via une balise `<input>`.
7369

74-
<<<<<<< HEAD
75-
Il existe des moyens d’interagir avec une webcam / microphone et d’autres appareils, mais ils nécessitent une autorisation explicite de l’utilisateur. Ainsi, une page compatible avec JavaScript ne permet pas d'activer une caméra Web, d'observer l'environnement et d'envoyer les informations à la [NSA](https://fr.wikipedia.org/wiki/National_Security_Agency).
76-
=======
77-
There are ways to interact with camera/microphone and other devices, but they require a user's explicit permission. So a JavaScript-enabled page may not sneakily enable a web-camera, observe the surroundings and send the information to the [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
78-
- Different tabs/windows generally do not know about each other. Sometimes they do; for example when one window uses JavaScript to open the other one. But even in this case, JavaScript from one page may not access the other if they come from different sites (from a different domain, protocol or port).
79-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
70+
Il existe des moyens d’interagir avec une webcam/microphone et d’autres appareils, mais ils nécessitent une autorisation explicite de l’utilisateur. Ainsi, une page compatible avec JavaScript ne permet pas d'activer une caméra Web, d'observer l'environnement et d'envoyer les informations à la [NSA](https://fr.wikipedia.org/wiki/National_Security_Agency).
8071

8172
- Différents onglets / fenêtres ne se connaissent généralement pas. Parfois, ils se croisent, par exemple lorsqu'une fenêtre utilise JavaScript pour ouvrir l'autre. Mais même dans ce cas, le JavaScript d'une page ne peut pas accéder à l'autre si elle provient de sites différents (provenant d'un autre domaine, protocole ou port).
8273

@@ -128,12 +119,6 @@ Il en existe évidemment bien plus, cela dit, même si nous utilisons un de ces
128119

129120
## Résumé
130121

131-
<<<<<<< HEAD
132122
- JavaScript a été initialement créé en tant que langage de navigateur uniquement, mais il est désormais également utilisé dans de nombreux autres environnements.
133-
- En ce moment, JavaScript occupe une position unique en tant que langage de navigateur le plus largement adopté avec une intégration complète avec HTML / CSS.
123+
- En ce moment, JavaScript occupe une position unique en tant que langage de navigateur le plus largement adopté avec une intégration complète avec HTML/CSS.
134124
- De nombreux langages sont "transpilés" en JavaScript et fournissent certaines fonctionnalités. Il est recommandé d'y jeter un coup d'œil, au moins brièvement, après avoir maîtrisé JavaScript.
135-
=======
136-
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
137-
- Today, JavaScript has a unique position as the most widely-adopted browser language with full integration in HTML/CSS.
138-
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
139-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,7 @@ Affectations
144144
: Il y a une assignation simple : `a = b` et des combinés comme `a *= 2`.
145145

146146
Bitwise
147-
<<<<<<< HEAD
148-
: Les opérateurs au niveau des bits fonctionnent avec des entiers de niveau binaire : voir la [doc](mdn:/JavaScript/Reference/Operators/Bitwise_Operators) quand ils sont nécessaires.
149-
=======
150-
: Bitwise operators work with 32-bit integers at the lowest, bit-level: see the [docs](mdn:/JavaScript/Guide/Expressions_and_Operators#Bitwise) when they are needed.
151-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
147+
: Les opérateurs au niveau du bit fonctionnent avec des entiers 32 bits au niveau du bit le plus bas : voir la [doc](mdn:/JavaScript/Reference/Operators/Bitwise_Operators#Bitwise)) quand ils sont nécessaires.
152148

153149
Conditionnel
154150
: Le seul opérateur avec trois paramètres : `cond ? resultA : resultB`. Si `cond` est vrai, retourne `resultA`, autrement `resultB`.

1-js/04-object-basics/01-object/8-multiply-numeric/task.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,9 @@ importance: 3
22

33
---
44

5-
<<<<<<< HEAD
6-
# Multipliez les propriétés numériques par 2
5+
# Multipliez les valeurs de propriétés numériques par 2
76

8-
Créez une fonction `multiplyNumeric(obj)` qui multiplie toutes les propriétés numériques de `obj` par `2`.
9-
=======
10-
# Multiply numeric property values by 2
11-
12-
Create a function `multiplyNumeric(obj)` that multiplies all numeric property values of `obj` by `2`.
13-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
7+
Créez une fonction `multiplyNumeric(obj)` qui multiplie toutes les valeurs de propriétés numériques de `obj` par `2`.
148

159
Par exemple :
1610

1-js/04-object-basics/04-object-methods/article.md

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,11 @@ user.sayHi = function() {
3232
user.sayHi(); // Hello!
3333
```
3434

35-
<<<<<<< HEAD
36-
Ici, nous venons d'utiliser une expression de fonction pour créer la fonction et l'affecter à la propriété `user.sayHi` de l'objet.
35+
Ici, nous venons d'utiliser une fonction expression pour créer la fonction et l'affecter à la propriété `user.sayHi` de l'objet.
3736

38-
Ensuite, nous pouvons l'appeler. L'utilisateur peut maintenant parler!
37+
Ensuite, nous pouvons l'appeler comme `user.sayHi()`. L'utilisateur peut maintenant parler!
3938

4039
Une fonction qui est la propriété d'un objet s'appelle sa *méthode*.
41-
=======
42-
Here we've just used a Function Expression to create a function and assign it to the property `user.sayHi` of the object.
43-
44-
Then we can call it as `user.sayHi()`. The user can now speak!
45-
46-
A function that is a property of an object is called its *method*.
47-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
4840

4941
Nous avons donc ici une méthode `sayHi` de l’objet `user`.
5042

@@ -168,24 +160,16 @@ let user = {
168160
let admin = user;
169161
user = null; // écraser pour rendre les choses évidentes
170162

171-
<<<<<<< HEAD
172-
admin.sayHi(); // Oups ! Dans sayHi(), l'ancien nom est utilisé ! Erreur !
173-
=======
174163
*!*
175164
admin.sayHi(); // TypeError: Cannot read property 'name' of null
176165
*/!*
177-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
178166
```
179167

180168
Si nous utilisions `this.name` au lieu de `user.name` dans l'`alert`, le code fonctionnerait.
181169

182170
## "this" n'est pas lié
183171

184-
<<<<<<< HEAD
185-
En JavaScript, le mot clé `this` se comporte différemment de la plupart des autres langages de programmation. Il peut être utilisé dans n'importe quelle fonction.
186-
=======
187-
In JavaScript, keyword `this` behaves unlike most other programming languages. It can be used in any function, even if it's not a method of an object.
188-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
172+
En JavaScript, le mot clé `this` se comporte différemment de la plupart des autres langages de programmation. Il peut être utilisé dans n'importe quelle fonction, même si ce n'est pas une méthode d'un objet.
189173

190174
Il n’y a pas d’erreur de syntaxe dans le code suivant :
191175

1-js/05-data-types/03-string/article.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,7 @@ alert( 'I*!*\'*/!*m the Walrus!' ); // *!*I'm*/!* the Walrus!
111111

112112
Comme vous pouvez le constater, nous devons précéder le simple quote intérieure du backslash `\'`, sinon, cela indiquerait la fin de la chaîne de caractères.
113113

114-
<<<<<<< HEAD
115114
Bien sûr, il ne faut échapper que les guillemets identiques à ceux qui les entourent. Donc, comme solution plus élégante, nous pourrions passer aux guillemets doubles ou aux backticks :
116-
=======
117-
Of course, only the quotes that are the same as the enclosing ones need to be escaped. So, as a more elegant solution, we could switch to double quotes or backticks instead:
118-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
119115

120116
```js run
121117
alert( `I'm the Walrus!` ); // I'm the Walrus!
@@ -318,13 +314,9 @@ if (str.indexOf("Widget") != -1) {
318314
```
319315

320316
#### L'astuce du NON binaire
317+
321318
L’un des vieux trucs utilisés ici est l'opérateur [NON binaire](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Op%C3%A9rateurs_binaires#(NON_binaire)) `~`. Il convertit le nombre en un entier de 32 bits (supprime la partie décimale, s'elle existe), puis inverse tous les bits de sa représentation binaire.
322319

323-
<<<<<<< HEAD
324-
Pour les entiers 32 bits, l'appel `~n` signifie exactement la même chose que `-(n+1)` (en raison du format IEEE-754).
325-
=======
326-
One of the old tricks used here is the [bitwise NOT](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT) `~` operator. It converts the number to a 32-bit integer (removes the decimal part if exists) and then reverses all bits in its binary representation.
327-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
328320

329321
En pratique, cela signifie une chose simple: pour les entiers 32 bits, `~n` est égal à `-(n + 1)`.
330322

@@ -357,11 +349,7 @@ Il n'est généralement pas recommandé d'utiliser les fonctionnalités du langa
357349

358350
Rappelez-vous juste que : `if (~str.indexOf(...))` se lit "si trouvé".
359351

360-
<<<<<<< HEAD
361-
Pour être précis cependant, les grands nombres sont tronqués à 32 bits par l'opérateur `~`. Il existe donc d'autres gros nombres qui donnent `0`, le plus petit correspondant à `~4294967295 = 0`. Cela rend cette vérification est correcte que si une chaîne n'est pas si longue.
362-
=======
363-
To be precise though, as big numbers are truncated to 32 bits by `~` operator, there exist other numbers that give `0`, the smallest is `~4294967295=0`. That makes such check correct only if a string is not that long.
364-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
352+
Pour être précis cependant, les grands nombres sont tronqués à 32 bits par l'opérateur `~`. Il existe donc d'autres gros nombres qui donnent `0`, le plus petit correspondant à `~4294967295=0`. Cela fait que cette vérification est correcte que si une chaîne de caractères n'est pas aussi longue.
365353

366354
Pour le moment, nous ne voyons cette astuce que dans l'ancien code, car JavaScript fournit une méthode `.includes` (voir ci-dessous).
367355

1-js/05-data-types/05-array-methods/8-sort-objects/solution.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
```js run no-beautify
2-
<<<<<<< HEAD
3-
function sortByName(arr) {
4-
arr.sort((a, b) => a.name > b.name);
5-
=======
62
function sortByAge(arr) {
73
arr.sort((a, b) => a.age - b.age);
8-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
94
}
105

116
let john = { name: "John", age: 25 };

3-frames-and-windows/01-popup-windows/article.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,17 @@ Le code suivant:
77
window.open('https://javascript.info/')
88
```
99

10-
<<<<<<< HEAD
11-
...Ouvrira simplement une nouvelle fenêtre avec l'url renseignée. La plupart des navigateurs modernes sont configurés pour ouvrir un nouvel onglet plutôt qu'une nouvelle feneêtre.
12-
=======
13-
...And it will open a new window with given URL. Most modern browsers are configured to open url in new tabs instead of separate windows.
14-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
10+
... Et cela Ouvrira simplement une nouvelle fenêtre avec l'url renseignée. La plupart des navigateurs modernes sont configurés pour ouvrir un nouvel onglet plutôt qu'une nouvelle feneêtre.
1511

1612
Les pop-up existent depuis longtemps. L'idée initiale était de montrer du contenu supplémentaire sans fermer la fenêtre principale. Désormais, il y a d'autres manières de faire ça : on peut charger du contenu dynamiquement avec [fetch](info:fetch) et l'afficher dans une `<div>` générée dynamiquement. Les pop-up ne sont donc plus des choses utilisées de nos jours.
1713

1814
Les pop-up sont également délicate sur les appareils mobiles puis que ces derniers ne peuvent pas afficher plusieurs fenêtres simultanément.
1915

2016
Pourtant, il y a quelques tâches où les pop-up sont toujours utilisées, par exemple pour les authentifications OAuth (se connecter avec Google/Facebook..) pour les raisons suivantes :
2117

22-
<<<<<<< HEAD
2318
1. Une pop-up est une fenêtre séparée avec son environnement JavaScript indépendant. Donc ouvrir une pop-up d'une tierce partie venant d'un site peu fiable est sécurisé.
2419
2. Il est très facile d'ouvrir une pop-up.
2520
3. Une pop-up peut naviguer, changer d'url et envoyer des messages à la fenêtre qui l'a ouverte.
26-
=======
27-
1. A popup is a separate window which has its own independent JavaScript environment. So opening a popup from a third-party, non-trusted site is safe.
28-
2. It's very easy to open a popup.
29-
3. A popup can navigate (change URL) and send messages to the opener window.
30-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
3121

3222

3323
## Bloquage de pop-up
@@ -103,11 +93,7 @@ Il existe également certains paramètres spécifiques aux navigateurs qui sont
10393

10494
## Exemple: une fenêtre minimaliste
10595

106-
<<<<<<< HEAD
107-
Ouvrons une fenêtre avec le minimum de paramètres fonctionnels juste pour voir quels navigateurs nous autorise à les désactiver:
108-
=======
109-
Let's open a window with minimal set of features, just to see which of them browser allows to disable:
110-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
96+
Ouvrons une fenêtre avec le minimum de paramètres fonctionnels juste pour voir quels navigateurs nous autorise à les désactiver :
11197

11298
```js run
11399
let params = `scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,

README.md

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
# Le tutoriel JavaScript moderne
22

3-
<<<<<<< HEAD
4-
Ce repository héberge la traduction de <https://javascript.info> en français.
5-
=======
6-
This repository hosts the English content of the Modern JavaScript Tutorial, published in [https://javascript.info](https://javascript.info).
7-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
3+
Ce dépôt héberge le contenu français du tutoriel JavaScript moderne, publié à l'adresse [https://javascript.info](https://javascript.info).
84

95
Aidez-nous à améliorer la traduction.
106

@@ -108,13 +104,9 @@ Si un article lié n'a pas de version traduite, laissez le lien "tel quel".
108104

109105
## Exécuter une version locale
110106

111-
<<<<<<< HEAD
112-
Vous pouvez exécuter le tutoriel localement pour voir immédiatement les modifications sur site.
113-
=======
114-
- `index.md` stands for a chapter
115-
- `article.md` stands for an article
116-
- `task.md` stands for a task (solution must be provided in `solution.md` file as well)
117-
>>>>>>> 0599d07b3c13ee25f583fc091cead3c17a7e7779
107+
- `index.md` représente un chapitre
108+
- `article.md` représente un article
109+
- `task.md` représente un exercice (la solution doit également être fournie dans le fichier `solution.md`)
118110

119111
Le serveur est disponible à cette adresse : <https://github.com/javascript-tutorial/server>.
120112
Chacun de ces fichiers commence à partir du `# titre principal`.

0 commit comments

Comments
 (0)