Skip to content

Commit d63db24

Browse files
authored
Merge pull request #342 from HachemiH/master
Conflicts fixed after sync with upstream @ 4541b7a
2 parents 21dd7dd + 0c269cc commit d63db24

File tree

13 files changed

+24
-133
lines changed

13 files changed

+24
-133
lines changed

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

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,9 @@ Par exemple, JavaScript dans le navigateur est capable de :
6161

6262
## Qu'est-ce que JavaScript ne peut pas faire dans le navigateur ?
6363

64-
Les capacités de JavaScript dans le navigateur sont limitées pour la sécurité de l'utilisateur. L'objectif est d'empêcher une page Web malfaisante d'accéder à des informations privées ou de nuire aux données de l'utilisateur.
64+
Les capacités de JavaScript dans le navigateur sont limitées pour la sécurité de l'utilisateur. L'objectif est d'empêcher une page Web malveillante d'accéder à des informations privées ou de nuire aux données de l'utilisateur.
6565

66-
<<<<<<< HEAD
6766
Les exemples de telles restrictions sont:
68-
=======
69-
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
70-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
7167

7268
- JavaScript sur une page Web ne peut pas lire/écrire des fichiers arbitrairement sur le disque dur, les copier ou exécuter des programmes. Il n'a pas d'accès direct aux fonctions du système d'exploitation.
7369

@@ -92,15 +88,9 @@ De telles limites n'existent pas si JavaScript est utilisé en dehors du navigat
9288
Il y a au moins trois bonnes choses à propos de JavaScript:
9389

9490
```compare
95-
<<<<<<< HEAD
9691
+ Intégration complète avec HTML / CSS.
9792
+ Les choses simples sont faites simplement.
9893
+ Pris en charge par tous les principaux navigateurs et activé par défaut.
99-
=======
100-
+ Full integration with HTML/CSS.
101-
+ Simple things are done simply.
102-
+ Supported by all major browsers and enabled by default.
103-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
10494
```
10595

10696
JavaScript est la seule technologie de navigateur qui combine ces trois éléments.
@@ -132,12 +122,6 @@ Il en existe évidemment bien plus, cela dit, même si nous utilisons un de ces
132122

133123
## Résumé
134124

135-
<<<<<<< HEAD
136125
- JavaScript a été initialement créé en tant que langage de navigateur uniquement, mais il est désormais également utilisé dans de nombreux autres environnements.
137126
- 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.
138127
- 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.
139-
=======
140-
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
141-
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
142-
- 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.
143-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,7 @@ Le fichier de script est attaché à HTML avec l'attribut `src` :
7676
<script src="/chemin/vers/script.js"></script>
7777
```
7878

79-
<<<<<<< HEAD
8079
Ici, `/chemin/vers/script.js` est un chemin absolu du script depuis la racine du site. On peut également fournir un chemin relatif à partir de la page en cours. Par exemple `src="script.js"` signifierait un fichier `"script.js"` dans le dossier courrant.
81-
=======
82-
Here, `/path/to/script.js` is an absolute path to the script from the site root. One can also provide a relative path from the current page. For instance, `src="script.js"`, just like `src="./script.js"`, would mean a file `"script.js"` in the current folder.
83-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
8480

8581
Nous pouvons également donner une URL complète, par exemple :
8682

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

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -79,31 +79,17 @@ Il existe d'autres caractères "spéciaux" moins courants.
7979

8080
Voici la liste complète :
8181

82-
<<<<<<< HEAD
8382
| Caractère | Description |
8483
|----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
8584
| `\n` | Nouvelle ligne |
86-
| `\r` | Retour chariot: non utilisé seul. Les fichiers texte Windows utilisent une combinaison de deux caractères `\r\n` pour représenter un saut de ligne. |
85+
| `\r` | Dans les fichiers texte Windows, une combinaison de deux caractères `\r\n` représente une nouvelle pause, tandis que sur un système d'exploitation non Windows, il s'agit simplement de `\n`. C'est pour des raisons historiques, la plupart des logiciels Windows comprennent également `\n`. |
8786
| `\'`, `\"` | Quotes |
8887
| `\\` | Backslash |
8988
| `\t` | Tab |
9089
| `\b`, `\f`, `\v` | Backspace, Form Feed, Vertical Tab -- conservés pour compatibilité, non utilisés de nos jours. |
9190
| `\xXX` | Caractère Unicode avec l'unicode hexadécimal donné `XX`, par exemple `'\x7A'` est le même que `'z'`. |
9291
| `\uXXXX` | Un symbole Unicode avec le code hexadécimal `XXXX` en encodage UTF-16, par exemple `\u00A9` -- est un unicode pour le symbole de copyright `©`. Ce doit être exactement 4 chiffres hexadécimaux. |
9392
| `\u{X…XXXXXX}` (de 1 à 6 caractères hexadécimaux ) | Un symbole Unicode avec l'encodage UTF-32. Certains caractères rares sont encodés avec deux symboles Unicode, prenant 4 octets. De cette façon, nous pouvons insérer des codes longs. |
94-
=======
95-
| Character | Description |
96-
|-----------|-------------|
97-
|`\n`|New line|
98-
|`\r`|In Windows text files a combination of two characters `\r\n` represents a new break, while on non-Windows OS it's just `\n`. That's for historical reasons, most Windows software also understands `\n`. |
99-
|`\'`, `\"`|Quotes|
100-
|`\\`|Backslash|
101-
|`\t`|Tab|
102-
|`\b`, `\f`, `\v`| Backspace, Form Feed, Vertical Tab -- kept for compatibility, not used nowadays. |
103-
|`\xXX`|Unicode character with the given hexadecimal Unicode `XX`, e.g. `'\x7A'` is the same as `'z'`.|
104-
|`\uXXXX`|A Unicode symbol with the hex code `XXXX` in UTF-16 encoding, for instance `\u00A9` -- is a Unicode for the copyright symbol `©`. It must be exactly 4 hex digits. |
105-
|`\u{X…XXXXXX}` (1 to 6 hex characters)|A Unicode symbol with the given UTF-32 encoding. Some rare characters are encoded with two Unicode symbols, taking 4 bytes. This way we can insert long codes. |
106-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
10793

10894
Exemples avec unicode :
10995

1-js/09-classes/06-instanceof/article.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,11 @@ let rabbit = new Rabbit();
9393
alert(rabbit instanceof Animal); // true
9494
*/!*
9595

96-
<<<<<<< HEAD
97-
// rabbit.__proto__ === Rabbit.prototype
96+
// rabbit.__proto__ === Animal.prototype (no match)
9897
*!*
9998
// rabbit.__proto__.__proto__ === Animal.prototype (match!)
10099
*/!*
101100
```
102-
=======
103-
// rabbit.__proto__ === Animal.prototype (no match)
104-
*!*
105-
// rabbit.__proto__.__proto__ === Animal.prototype (match!)
106-
*/!*
107-
```
108-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
109101
110102
Voici l'illustration de ce que `rabbit instanceof Animal` compare avec `Animal.prototype`:
111103

1-js/11-async/03-promise-chaining/article.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,11 @@ new Promise(function(resolve, reject) {
3434

3535
L'idée est que le résultat est transmis à travers la chaîne de gestionnaires `.then`.
3636

37-
<<<<<<< HEAD
3837
Ici, le flux est :
3938
1. La promesse initiale est résolue en 1 seconde `(*)`,
4039
2. Ensuite, le gestionnaire `.then` est appelé `(**)`, qui à son tour crée une nouvelle promesse (résolue avec la valeur `2`).
41-
3. Le `then` suivant `(***)` obtient le résultat du précédent, le traite (double) et passe le gestionnaire suivant.
40+
3. Le `then` suivant `(***)` obtient le résultat du précédent, le traite (double) et le passe au gestionnaire suivant.
4241
4. ...et ainsi de suite.
43-
=======
44-
Here the flow is:
45-
1. The initial promise resolves in 1 second `(*)`,
46-
2. Then the `.then` handler is called `(**)`, which in turn creates a new promise (resolved with `2` value).
47-
3. The next `then` `(***)` gets the result of the previous one, processes it (doubles) and passes it to the next handler.
48-
4. ...and so on.
49-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
5042

5143
Lorsque le résultat est transmis le long de la chaîne de gestionnaires, nous pouvons voir une séquence d'appels `alert`: `1` -> `2` -> `4`.
5244

1-js/11-async/08-async-await/article.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,8 @@ Le mot-clé `async` devant une fonction a deux effets:
303303
304304
Le mot-clé `await` devant une promesse fait en sorte que JavaScript attende jusqu'à ce que cette promesse se règle, puis:
305305
306-
<<<<<<< HEAD
307306
1. Si c'est une erreur, l'exception est générée - comme si `throw error` était appelé à cet endroit précis.
308307
2. Sinon, il renvoie le résultat.
309-
=======
310-
1. If it's an error, an exception is generated — same as if `throw error` were called at that very place.
311-
2. Otherwise, it returns the result.
312-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
313308
314309
Ensemble, ils fournissent un cadre idéal pour écrire du code asynchrone facile à lire et à écrire.
315310

1-js/13-modules/01-modules-intro/article.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,7 @@ Comparez-le à des scripts sans module, là où il est un object global:
261261
262262
Il existe également plusieurs différences de scripts spécifiques au navigateur avec `type="module"` par rapport aux scripts classiques.
263263
264-
<<<<<<< HEAD
265264
Vous devriez peut-être ignorer cette section pour l'instant si vous lisez pour la première fois ou si vous n'utilisez pas JavaScript dans un navigateur.
266-
=======
267-
You may want to skip this section for now if you're reading for the first time, or if you don't use JavaScript in a browser.
268-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
269265
270266
### Les modules sont différés
271267

2-ui/1-document/05-basic-dom-node-properties/article.md

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,16 @@ Voici l'image, les explications à suivre :
1818

1919
Les classes sont :
2020

21-
<<<<<<< HEAD
2221
- [EventTarget](https://dom.spec.whatwg.org/#eventtarget) -- est la classe racine "abstraite". Les objets de cette classe ne sont jamais créés. Il sert de base, de sorte que tous les nœuds DOM prennent en charge les soi-disant "événements", nous les étudierons plus tard.
2322
- [Node](http://dom.spec.whatwg.org/#interface-node) -- est également une classe "abstraite", servant de base aux nœuds DOM. Elle fournit la fonctionnalité d'arborescence de base : `parentNode`, `nextSibling`, `childNodes` et ainsi de suite (ce sont des getters). Les objets de la classe `Node` ne sont jamais créés. Mais il existe des classes de nœuds concrets qui en héritent, à savoir: `Text` pour les nœuds texte, `Element` pour les nœuds élément et plus exotiques comme `Comment` pour les nœuds commentaire.
2423
- [Element](http://dom.spec.whatwg.org/#interface-element) -- est une classe de base pour les éléments DOM. Elle fournit une navigation au niveau des éléments comme `nextElementSibling`, `children` et des méthodes de recherche comme `getElementsByTagName`, `querySelector`. Un navigateur prend en charge non seulement HTML, mais aussi XML et SVG. La classe `Element` sert de base à des classes plus spécifiques : `SVGElement`, `XMLElement` et `HTMLElement`.
2524
- [HTMLElement](https://html.spec.whatwg.org/multipage/dom.html#htmlelement) -- est enfin la classe de base pour tous les éléments HTML. Elle est héritée d'éléments concrets HTML :
2625
- [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) -- la classe pour les éléments `<input>`,
2726
- [HTMLBodyElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlbodyelement) -- la classe pour les éléments `<body>`,
2827
- [HTMLAnchorElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlanchorelement) -- la classe pour les éléments `<a>`,
29-
- ...et ainsi de suite, chaque balise a sa propre classe qui peut fournir des propriétés et des méthodes spécifiques.
30-
=======
31-
- [EventTarget](https://dom.spec.whatwg.org/#eventtarget) -- is the root "abstract" class. Objects of that class are never created. It serves as a base, so that all DOM nodes support so-called "events", we'll study them later.
32-
- [Node](http://dom.spec.whatwg.org/#interface-node) -- is also an "abstract" class, serving as a base for DOM nodes. It provides the core tree functionality: `parentNode`, `nextSibling`, `childNodes` and so on (they are getters). Objects of `Node` class are never created. But there are concrete node classes that inherit from it, namely: `Text` for text nodes, `Element` for element nodes and more exotic ones like `Comment` for comment nodes.
33-
- [Element](http://dom.spec.whatwg.org/#interface-element) -- is a base class for DOM elements. It provides element-level navigation like `nextElementSibling`, `children` and searching methods like `getElementsByTagName`, `querySelector`. A browser supports not only HTML, but also XML and SVG. The `Element` class serves as a base for more specific classes: `SVGElement`, `XMLElement` and `HTMLElement`.
34-
- [HTMLElement](https://html.spec.whatwg.org/multipage/dom.html#htmlelement) -- is finally the basic class for all HTML elements. It is inherited by concrete HTML elements:
35-
- [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) -- the class for `<input>` elements,
36-
- [HTMLBodyElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlbodyelement) -- the class for `<body>` elements,
37-
- [HTMLAnchorElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlanchorelement) -- the class for `<a>` elements,
38-
- ...and so on.
39-
40-
There are many other tags with their own classes that may specific properties and methods, while some elements, such as `<span>`, `<section>`, `<article>` do not have any specific properties, so they are instances of `HTMLElement` class.
41-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
28+
- ...et ainsi de suite.
29+
30+
Il existe de nombreuses autres balises avec leurs propres classes qui peuvent des propriétés et des méthodes spécifiques, tandis que certains éléments, tels que `<span>`, `<section>`, `<article>` n'ont pas de propriétés spécifiques, ce sont donc des instances de la classe `HTMLElement`.
4231

4332
Ainsi, l'ensemble complet des propriétés et des méthodes d'un nœud donné est le résultat de l'héritage.
4433

2-ui/1-document/09-size-and-scroll/article.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,7 @@ function isHidden(elem) {
116116
}
117117
```
118118
119-
<<<<<<< HEAD
120119
Veuillez noter qu'un `isHidden` renvoie `true` pour les éléments qui sont à l'écran, mais qui ont des tailles nulles (comme une `<div>` vide).
121-
=======
122-
Please note that such `isHidden` returns `true` for elements that are on-screen, but have zero sizes.
123-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
124120
````
125121

126122
## clientTop/Left

2-ui/5-loading/02-script-async-defer/article.md

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@ Donc, si nous avons plusieurs scripts `async`, ils peuvent s'exécuter dans n'im
120120
<p>...content after scripts...</p>
121121
```
122122

123-
1. Le contenu de la page apparaît immédiatement: `async` ne la bloque pas.
124-
2. `DOMContentLoaded` peut arriver soit avant ou après `async`, aucune garantie ici.
125-
3. Les scripts asynchrones n'attendent pas les uns les autres. Un script plus petit `small.js` passe en second, mais se charge probablement avant `long.js`, donc s'exécute en premier. C'est ce qu'on appelle une commande "load-first".
123+
- Le contenu de la page apparaît immédiatement: `async` ne la bloque pas.
124+
- `DOMContentLoaded` peut arriver soit avant ou après `async`, aucune garantie ici.
125+
- Les scripts asynchrones n'attendent pas les uns les autres. Un script plus petit `small.js` passe en second, mais se charge probablement avant `long.js`, donc s'exécute en premier. C'est ce qu'on appelle une commande "load-first".
126126

127127
Les scripts asynchrones sont parfaits lorsque nous intégrons un script tiers indépendant dans la page: compteurs, publicités, etc., car ils ne dépendent pas de nos scripts et nos scripts ne doivent pas les attendre:
128128

@@ -131,19 +131,14 @@ Les scripts asynchrones sont parfaits lorsque nous intégrons un script tiers in
131131
<script async src="https://google-analytics.com/analytics.js"></script>
132132
```
133133

134-
<<<<<<< HEAD
135-
=======
136-
```smart header="The `async` attribute is only for external scripts"
137-
Just like `defer`, the `async` attribute is ignored if the `<script>` tag has no `src`.
134+
```smart header="L'attribut `async` est uniquement pour les scripts externes"
135+
Tout comme `defer`, l'attribut `async` est ignoré si la balise `<script>` n'a pas de `src`.
138136
```
139137
140-
## Dynamic scripts
141-
142-
There's one more important way of adding a script to the page.
143-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
144-
145138
## Les scripts dynamiques
146139
140+
Il existe un autre moyen important d'ajouter un script à la page.
141+
147142
Nous pouvons également ajouter un script dynamiquement en utilisant JavaScript:
148143
149144
```js run
@@ -197,17 +192,11 @@ Mais il existe également des différences essentielles entre eux:
197192

198193
| | L'ordre | `DOMContentLoaded` |
199194
|---------|---------|---------|
200-
<<<<<<< HEAD
201195
| `async` | *Load-first*. Leur ordre dans le document n'a pas d'importance -- premier chargé, premier exécuté | Sans importance. Peut se charger et s'exécuter alors que le document n'a pas encore été entièrement téléchargé. Cela se produit si les scripts sont petits ou mis en cache et que le document est suffisamment long. |
202-
| `defer` | *L'ordre du Document*. | Exécute après le chargement et l'analyse du document (ils attendent si nécessaire), juste avant `DOMContentLoaded`. |
203-
=======
204-
| `async` | *Load-first order*. Their document order doesn't matter -- which loads first runs first | Irrelevant. May load and execute while the document has not yet been fully downloaded. That happens if scripts are small or cached, and the document is long enough. |
205-
| `defer` | *Document order* (as they go in the document). | Execute after the document is loaded and parsed (they wait if needed), right before `DOMContentLoaded`. |
206-
207-
In practice, `defer` is used for scripts that need the whole DOM and/or their relative execution order is important.
208-
>>>>>>> 4541b7af7584014a676da731f6e8774da5e059f6
196+
| `defer` | *Ordre de document* (tel qu'il apparaît dans le document).| Exécute après le chargement et l'analyse du document (ils attendent si nécessaire), juste avant `DOMContentLoaded`. |
209197

210198
En pratique, `defer` est utilisé pour les scripts qui ont besoin de tout le DOM et/ou leur ordre d'exécution relatif est important.
199+
211200
Et `async` est utilisé pour des scripts indépendants, comme des compteurs ou des publicités. Et leur ordre d'exécution relatif n'a pas d'importance.
212201

213202
```warn header="La page sans scripts devrait être utilisable"

0 commit comments

Comments
 (0)