Skip to content

Commit 36016a8

Browse files
authored
Merge pull request #469 from ArmandDelessert/patch-2023-06-28
Corrige le terme 'language' en 'langage'
2 parents ae9d921 + 5c09643 commit 36016a8

File tree

17 files changed

+77
-105
lines changed

17 files changed

+77
-105
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Les scripts sont fournis et exécutés en texte brut. Ils n'ont pas besoin d'une
1515
De par cet aspect, JavaScript est très différent d'un autre langage appelé [Java](<https://fr.wikipedia.org/wiki/Java_(langage)>).
1616

1717
```smart header="Pourquoi est-il appelé <u>Java</u>Script ?"
18-
Quand Javascript a été créé, il portait initialement un autre nom : "LiveScript". Mais à cette époque le langage Java était très populaire, il a donc été décidé que positionner un nouveau langage en tant que "petit frère" de Java pourrait aider.
18+
Quand JavaScript a été créé, il portait initialement un autre nom : "LiveScript". Mais à cette époque le langage Java était très populaire, il a donc été décidé que positionner un nouveau langage en tant que "petit frère" de Java pourrait aider.
1919
2020
Mais au fur et à mesure de son évolution, JavaScript est devenu un langage totalement indépendant, avec ses propres spécifications appelées [ECMAScript](https://fr.wikipedia.org/wiki/ECMAScript), aujourd'hui il n'a aucun rapport avec Java.
2121
```

1-js/01-getting-started/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Une introduction
22

3-
A propos du langage Javascript et de l'environnement pour le développeur.
3+
A propos du langage JavaScript et de l'environnement pour le développeur.

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Hello, world!
2-
2+
33
<iframe width="560" height="315" src="https://www.youtube.com/embed/0WS0zqhT5fM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
44

5-
Cette partie du tutoriel est à propos du coeur de JavaScript, le langage lui même.
5+
Cette partie du tutoriel est à propos du coeur de JavaScript, le langage lui même.
66

77
Mais nous avons besoin d'un environnement de travail pour exécuter nos scripts et, étant donné que ce guide est en ligne, le navigateur est un bon choix. Nous allons nous efforcer d'utiliser les commandes spécifiques au navigateur (comme `alert`) au minimum afin de ne pas y consacrer du temps si vous prévoyez de vous concentrer sur un autre environnement tel que Node.JS. Par ailleurs, les détails du navigateur sont expliqués dans [la partie suivante](/ui) du didacticiel.
88

99
Alors, voyons d'abord comment intégrer un script à une page Web. Pour les environnements côté serveur, vous pouvez simplement l'exécuter avec une commande comme `"node mon.js"` pour Node.JS.
1010

1111

12-
## La balise "script"
12+
## La balise "script"
1313

1414
Les programmes JavaScript peuvent être insérés dans n'importe quelle partie d'un document HTML à l'aide de la balise `<script>`.
1515

@@ -50,9 +50,8 @@ La balise `<script>` a quelques attributs qui sont rarement utilisés de nos jou
5050
L'attribut `type` : <code>&lt;script <u>type</u>=...&gt;</code>
5151
: L’ancien standard HTML4, nécessitait pour chaque script d'avoir un `type`. Habiutellement c'était `type="text/javascript"`. Dorénavant ce n’est plus nécessaire. De plus, le standard HTML moderne a totalement changé la signification de cet attribut. Maintenant, il peut être utilisé pour les modules JavaScript. Mais c’est un sujet avancé, nous parlerons de modules dans une autre partie du tutoriel.
5252

53-
5453
L'attribut `language` : <code>&lt;script <u>language</u>=...&gt;</code>
55-
: Cet attribut était destiné à afficher la langue du script. Pour l'instant, cet attribut n'a aucun sens, le langage est le JavaScript par défaut. Pas besoin de l'utiliser.
54+
: Cet attribut était destiné à afficher le langage du script. Pour l'instant, cet attribut n'a aucun sens, le langage est le JavaScript par défaut. Pas besoin de l'utiliser.
5655

5756
Commentaires avant et après les scripts.
5857
: Dans des livres et des guides vraiment anciens, on peut trouver des commentaires dans `<script>`, comme ceci :

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Outre les nombres réguliers, il existe des "valeurs numériques spéciales" qui
4141
```js run
4242
alert( Infinity ); // Infinity
4343
```
44+
4445
- `NaN` représente une erreur de calcul. C'est le résultat d'une opération mathématique incorrecte ou non définie, par exemple :
4546

4647
```js run
@@ -57,7 +58,6 @@ Outre les nombres réguliers, il existe des "valeurs numériques spéciales" qui
5758

5859
Donc, s'il y a `NaN` quelque part dans une expression mathématique, il se propage à l'ensemble du résultat (il n'y a qu'une seule exception : `NaN ** 0` vaut `1`).
5960

60-
6161
```smart header="Les opérations mathématiques sont sûres"
6262
Faire des maths est sans danger en JavaScript. Nous pouvons faire n'importe quoi : diviser par zéro, traiter les chaînes non numériques comme des nombres, etc.
6363
@@ -135,14 +135,15 @@ alert( `the result is *!*${1 + 2}*/!*` ); // le résultat est 3
135135
L'expression à l'intérieur de `${…}` est évaluée et le résultat devient une partie de la chaîne. On peut y mettre n'importe quoi : une variable comme `name` ou une expression arithmétique comme `1 + 2` ou quelque chose de plus complexe.
136136
137137
Veuillez noter que cela ne peut être fait que dans les backticks. Les autres guillemets ne permettent pas une telle intégration !
138+
138139
```js run
139140
alert( "the result is ${1 + 2}" ); // le résultat est ${1 + 2} (les doubles quotes ne font rien)
140141
```
141142
142143
Nous couvrirons les chaînes de caractères plus en détails dans le chapitre <info:string>.
143144
144145
```smart header="Il n'y a pas de type *character*."
145-
Dans certaines langues, il existe un type spécial "character" pour un seul caractère. Par exemple, en langage C et en Java, il s'agit de "char".
146+
Dans certains langages, il existe un type spécial "character" pour un seul caractère. Par exemple, en langage C et en Java, il s'agit de "char".
146147
147148
En JavaScript, ce type n'existe pas. Il n'y a qu'un seul type: `string`. Une chaîne de caractères peut être composée de zéro caractère (être vide), d'un caractère ou de plusieurs d'entre eux.
148149
```
@@ -170,7 +171,7 @@ alert( isGreater ); // true (le résultat de la comparaison est "oui")
170171
171172
Nous couvrirons plus profondément les booléens plus tard dans le chapitre <info:logical-operators>.
172173
173-
## La valeur "null"
174+
## La valeur "null"
174175
175176
La valeur spéciale `null` n'appartient à aucun type de ceux décrits ci-dessus.
176177
@@ -186,7 +187,7 @@ C’est juste une valeur spéciale qui a le sens de "rien", "vide" ou "valeur in
186187
187188
Le code ci-dessus indique que l'`age` est inconnu.
188189
189-
## La valeur "undefined"
190+
## La valeur "undefined"
190191
191192
La valeur spéciale `undefined` se distingue des autres. C'est un type à part entière, comme `null`.
192193
@@ -217,7 +218,7 @@ alert(age); // "undefined"
217218
218219
Le type `object` est spécial.
219220
220-
Tous les autres types sont appelés "primitifs", car leurs valeurs ne peuvent contenir qu’une seule chose (que ce soit une chaîne de caractères, un nombre ou autre). À contrario, les objets servent à stocker des collections de données et des entités plus complexes.
221+
Tous les autres types sont appelés "primitifs", car leurs valeurs ne peuvent contenir qu’une seule chose (que ce soit une chaîne de caractères, un nombre ou autre). À contrario, les objets servent à stocker des collections de données et des entités plus complexes.
221222
222223
Étant aussi important, les objets méritent un traitement spécial. Nous les traiterons plus tard dans le chapitre <info:object>, après en savoir plus sur les primitifs.
223224
@@ -227,7 +228,6 @@ Le type `symbol` est utilisé pour créer des identificateurs uniques pour les o
227228
228229
L'opérateur `typeof` renvoie le type de l'argument. Il est utile lorsqu'on souhaite traiter différemment les valeurs de différents types ou de faire une vérification rapide.
229230
230-
231231
L'appel `typeof x` renvoie une chaîne de caractères avec le nom du type :
232232
233233
```js
@@ -262,8 +262,6 @@ Les trois dernières lignes peuvent nécessiter des explications supplémentaire
262262
2. Le résultat de `typeof null` est `"object"`. C'est une erreur officiellement reconnue dans `typeof`, datant des premiers jours de JavaScript et conservée pour compatibilité. Bien sûr, `null` n'est pas un objet. C'est une valeur spéciale avec un type distinct qui lui est propre. Le comportement de `typeof` est incorrect ici.
263263
3. Le résultat de `typeof alert` est `"function"`, car `alert` est une fonction. Nous étudierons les fonctions dans les chapitres suivants, et nous verrons qu’il n’y a pas de type "fonction" en JavaScript. Les fonctions appartiennent au type `object`. Mais `typeof` les traite différemment, en retournant `"fonction"`. Cela vient également des débuts de JavaScript. Techniquement ce n’est pas tout à fait correct, mais très pratique à l'usage.
264264
265-
266-
267265
```smart header="La syntaxe `typeof(x)`"
268266
Vous pouvez également rencontrer une autre syntaxe : `typeof(x)`. C'est la même chose que `typeof x`.
269267

1-js/06-advanced-functions/03-closure/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ Tout semble simple pour l'instant, non ?
197197
- Travailler avec des variables, c'est travailler avec les propriétés de cet objet.
198198

199199
```smart header="L'environnement lexical est un objet de spécification"
200-
"L'environnement lexical" est un objet de spécification : il n'existe que "théoriquement" dans la [spécification du language](https://tc39.es/ecma262/#sec-lexical-environments) pour décrire comment les choses fonctionnent. nous ne pouvons pas obtenir cet objet dans notre code et le manipuler directement.
200+
"L'environnement lexical" est un objet de spécification : il n'existe que "théoriquement" dans la [spécification du langage](https://tc39.es/ecma262/#sec-lexical-environments) pour décrire comment les choses fonctionnent. nous ne pouvons pas obtenir cet objet dans notre code et le manipuler directement.
201201
202202
Les moteurs JavaScript peuvent également l'optimiser, supprimer les variables inutilisées pour économiser de la mémoire et effectuer d'autres opérations internes, tant que le comportement visible reste conforme à la description.
203203

1-js/11-async/02-promise-basics/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ C'est une analogie réelle à un problème courant de programmation :
1010

1111
1. Un "producteur de code" qui réalise quelque chose mais nécessite du temps. Par exemple, un code qui charge des données à travers un réseau. C'est le "chanteur".
1212
2. Un "consommateur de code" qui attend un résultat du "producteur de code" quand il est prêt. Beaucoup de fonctions peuvent avoir besoin de ce résultat. Ces fonctions sont les "fans".
13-
3. Une *promesse* (promise) est un objet spécial en Javascript qui lie le "producteur de code" et le "consommateur de code" ensemble. En comparant à notre analogie c'est la "liste d'abonnement". Le "producteur de code" prend le temps nécessaire pour produire le résultat promis, et la "promesse" donne le résultat disponible pour le code abonné quand c'est prêt.
13+
3. Une *promesse* (promise) est un objet spécial en JavaScript qui lie le "producteur de code" et le "consommateur de code" ensemble. En comparant à notre analogie c'est la "liste d'abonnement". Le "producteur de code" prend le temps nécessaire pour produire le résultat promis, et la "promesse" donne le résultat disponible pour le code abonné quand c'est prêt.
1414

1515

16-
L'analogie n'est pas la plus correcte, car les promesses en Javascript sont un peu plus complexes qu'une simple liste d'abonnement : elles ont d'autres possibilités mais aussi certaines limitations. Toutefois c'est suffisant pour débuter.
16+
L'analogie n'est pas la plus correcte, car les promesses en JavaScript sont un peu plus complexes qu'une simple liste d'abonnement : elles ont d'autres possibilités mais aussi certaines limitations. Toutefois c'est suffisant pour débuter.
1717

1818

1919
La syntaxe du constructeur pour une promesse est :
@@ -26,7 +26,7 @@ let promise = new Promise(function(resolve, reject) {
2626

2727
La fonction passée à `new Promise` est appelée l'*exécuteur*. Quand `new Promise` est créée, elle est lancée automatiquement. Elle contient le producteur de code, qui doit produire un résulat final. Dans l'analogie ci-dessus : l'exécuteur est le "chanteur".
2828

29-
Ses arguments `resolve` (tenir) et `reject` (rompre) sont les fonctions de retour directement fournies par Javascript. Notre code est inclus seulement dans l'exécuteur.
29+
Ses arguments `resolve` (tenir) et `reject` (rompre) sont les fonctions de retour directement fournies par JavaScript. Notre code est inclus seulement dans l'exécuteur.
3030

3131
Quand l'exécuteur obtient un résultat, qu'il soit rapide ou pas, cela n'a pas d'importance, il appellera une des deux fonctions de retour :
3232

@@ -59,7 +59,7 @@ let promise = new Promise(function(resolve, reject) {
5959
On peut voir deux choses en lançant le code ci-dessus :
6060

6161
1. L'exécuteur est appelé automatiquement et immédiatement (avec `new Promise`).
62-
2. L'exécuteur reçoit deux arguments : `resolve` et `reject` - ces deux fonctions sont pré-définies par le moteur Javascript, ainsi nous n'avons pas besoin de les créer. Nous devons seulement appeler l'une ou l'autre quand le résultat est prêt.
62+
2. L'exécuteur reçoit deux arguments : `resolve` et `reject` - ces deux fonctions sont pré-définies par le moteur JavaScript, ainsi nous n'avons pas besoin de les créer. Nous devons seulement appeler l'une ou l'autre quand le résultat est prêt.
6363

6464
Après une seconde de "traitement" l'exécuteur appelle `resolve("done")` pour produire le résultat. Cela change l'état de l'objet `promise` :
6565

1-js/11-async/07-microtask-queue/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ Ainsi, les gestionnaires `.then/catch/finally` sont toujours appelés une fois l
109109

110110
Si nous devons garantir qu'un morceau de code est exécuté après `.then/catch/finally`, nous pouvons l'ajouter à un appel `.then` enchaîné.
111111

112-
Dans la plupart des moteurs Javascript, y compris les navigateurs et Node.js, le concept de micro-tâches est étroitement lié à la "boucle d'événement" et aux "macrotaches". Comme elles n’ont pas de relation directe avec les promesses, elles sont décrites dans une autre partie du didacticiel, au chapitre <info:event-loop>.
112+
Dans la plupart des moteurs JavaScript, y compris les navigateurs et Node.js, le concept de micro-tâches est étroitement lié à la "boucle d'événement" et aux "macrotaches". Comme elles n’ont pas de relation directe avec les promesses, elles sont décrites dans une autre partie du didacticiel, au chapitre <info:event-loop>.

2-ui/1-document/04-searching-elements-dom/article.md

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

33
Les outils de navigation du DOM sont très pratiques quand les éléments sont proches les uns des autres. Mais s'ils ne le sont pas ? Comment atteindre un élément arbitraire de la page ?
44

5-
Il existe d'autres méthodes de recherche pour cela.
5+
Il existe d'autres méthodes de recherche pour cela.
66

77
## document.getElementById ou juste id
88

@@ -41,7 +41,7 @@ Il y a aussi une variable globale nommée selon l'`id` qui référence l'éléme
4141
</script>
4242
```
4343

44-
...A moins qu'on déclare une variable Javascript avec le même nom, auquel cas celle-ci obtient la priorité :
44+
...A moins qu'on déclare une variable JavaScript avec le même nom, auquel cas celle-ci obtient la priorité :
4545

4646
```html run untrusted height=0
4747
<div id="elem"></div>
@@ -144,9 +144,9 @@ Les *ancêtres* d'un élément sont : le parent, le parent du parent, son propre
144144

145145
La méthode `elem.closest(css)` cherche l'ancêtre le plus proche qui correspond au sélecteur CSS. L'élément `elem` est lui-même inclus dans la recherche.
146146

147-
En d'autres mots, la méthode `closest` part de l'élément et remonte en regardant chacun des parents. S'il correspond au sélecteur, la recherche s'arrête et l'ancêtre est renvoyé.
147+
En d'autres mots, la méthode `closest` part de l'élément et remonte en regardant chacun des parents. S'il correspond au sélecteur, la recherche s'arrête et l'ancêtre est renvoyé.
148148

149-
Par exemple :
149+
Par exemple :
150150

151151
```html run
152152
<h1>Contenu</h1>
@@ -174,15 +174,15 @@ Il y a aussi d'autres méthodes pour rechercher des balises par tag, classe, etc
174174

175175
Aujourd'hui, elles sont principalement de l'histoire ancienne, car `querySelector` est plus puissante et plus courte à écrire.
176176

177-
Donc ici, on va surtout en parler dans le souci d'être complet, comme elles peuvent encore se retrouver dans des vieux scripts.
177+
Donc ici, on va surtout en parler dans le souci d'être complet, comme elles peuvent encore se retrouver dans des vieux scripts.
178178

179179
- `elem.getElementsByTagName(tag)` cherche les éléments avec le tag donné et renvoie l'ensemble de ces éléments. Le paramètre `tag` peut aussi être une étoile `"*"` pour signifier n'importe quel tag.
180180
- `elem.getElementsByClassName(className)` renvoie les éléments qui ont la classe CSS donnée.
181181
- `document.getElementsByName(name)` renvoie les éléments qui ont l'attribut `name`, dans tout le document. Très rarement utilisé.
182182

183183
Par exemple:
184184
```js
185-
// récupérer tous les divs du document.
185+
// récupérer tous les divs du document.
186186
let divs = document.getElementsByTagName('div');
187187
```
188188

@@ -225,14 +225,14 @@ La lettre `"s"` letter n'apparait pas dans `getElementById`, car cette méthode
225225
```
226226
227227
````warn header="Elle renvoie un ensemble, pas un élément !"
228-
Une autre erreur répandue parmi les débutants est d'écrire :
228+
Une autre erreur répandue parmi les débutants est d'écrire :
229229
230230
```js
231-
// ne fonctionne pas :
231+
// ne fonctionne pas :
232232
document.getElementsByTagName('input').value = 5;
233233
```
234234

235-
Cela ne va pas marcher, parce qu'on essaie d'affecter une valeur à un ensemble d'objets plutôt qu'à un élément de cet ensemble.
235+
Cela ne va pas marcher, parce qu'on essaie d'affecter une valeur à un ensemble d'objets plutôt qu'à un élément de cet ensemble.
236236
On devrait plutôt itérer sur l'ensemble ou récupérer un élément par son index, et lui affecter la valeur, comme ceci :
237237

238238
```js
@@ -263,7 +263,7 @@ Recherche des éléments `.article` :
263263
264264
Toutes les méthodes `"getElementsBy*"` renvoient l'ensemble *courant*. De tels ensembles montrent toujours l'état courant du document and se mettent à jour automatiquement quand celui-ci change.
265265
266-
Dans l'exemple ci-dessous, il y a deux scripts :
266+
Dans l'exemple ci-dessous, il y a deux scripts :
267267
268268
1. Le premier crée une référence à l'ensemble des `<div>`. Maintenant, sa longueur est `1`.
269269
2. Le second se lance après que le navigateur aie rencontré un autre `<div>`, donc sa longueur est `2`.
@@ -311,7 +311,7 @@ Maintenant, on voit facilement la différence. L'ensemble statique ne s'est pas
311311
312312
## Résumé
313313
314-
Il y a 6 principales méthodes pour rechercher des balises dans le DOM :
314+
Il y a 6 principales méthodes pour rechercher des balises dans le DOM :
315315
316316
<table>
317317
<thead>
@@ -362,7 +362,7 @@ Il y a 6 principales méthodes pour rechercher des balises dans le DOM :
362362
</tbody>
363363
</table>
364364
365-
De loin, les plus utilisées sont `querySelector` et `querySelectorAll`, mais `getElement(s)By*` peut être de temps en temps utile ou rencontrée dans de vieux scripts.
365+
De loin, les plus utilisées sont `querySelector` et `querySelectorAll`, mais `getElement(s)By*` peut être de temps en temps utile ou rencontrée dans de vieux scripts.
366366
367367
A part ça :
368368

0 commit comments

Comments
 (0)