Skip to content

Commit abeb774

Browse files
authored
Merge branch 'master' into master
2 parents 4b473f3 + b98478f commit abeb774

File tree

236 files changed

+3589
-1942
lines changed

Some content is hidden

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

236 files changed

+3589
-1942
lines changed

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Voyons ce qui est spécial à propos de JavaScript, ce qu'il nous permet de fair
66

77
*JavaScript* a été initiallement créé pour *"rendre les pages web vivantes"*.
88

9-
Les programmes dans ce langage sont appelés *scripts*. Ils peuvent être écrits directement dans le code HTML et exécutés automatiquement au chargement des pages.
9+
Les programmes dans ce langage sont appelés *scripts*. Ils peuvent être écrits directement dans une page HTML et exécutés automatiquement au chargement des pages.
1010

1111
Les scripts sont fournis et exécutés en texte brut. Ils n'ont pas besoin d'une préparation spéciale ou d'une compilation pour fonctionner.
1212

@@ -70,9 +70,9 @@ Les exemples de telles restrictions sont:
7070

7171
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).
7272

73-
- 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 s'il provient de sites différents (provenant d'un autre domaine, protocole ou port).
73+
- 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).
7474

75-
C'est ce qu'on appelle la "politique de même origine"(“Same Origin Policy”). Pour contourner cette sécurité, *les deux pages* doivent contenir un code JavaScript spécial qui gère l'échange de données.
75+
C'est ce qu'on appelle la "politique de même origine" (“Same Origin Policy”). Pour contourner cette sécurité, *les deux pages* doivent se mettre d'accord et contenir un code JavaScript spécial qui gère l'échange de données. Nous allons voir cela plus loin dans ce tutoriel.
7676

7777
Cette limitation concerne également la sécurité de l'utilisateur. Une page de `http://autresite.com` qu'un utilisateur a ouverte ne doit pas pouvoir accéder à un autre onglet du navigateur avec l'URL `http://gmail.com` et y voler des informations.
7878

@@ -109,13 +109,14 @@ Donc, récemment, une pléthore de nouveaux langages sont apparus, qui sont *tra
109109

110110
Les outils modernes rendent la [transpilation](https://fr.wiktionary.org/wiki/transpilation) très rapide et transparente, permettant aux développeurs de coder dans une autre langue et de la convertir automatiquement "sous le capot".
111111

112-
Exemples de ce genre de langages :
112+
Les exemples les plus courants de ce genre de langages :
113113

114114
- [CoffeeScript](http://coffeescript.org/) est un "sucre syntaxique" pour JavaScript, il introduit une syntaxe plus courte, permettant d’écrire du code plus précis et plus clair. Habituellement, les développeurs Ruby l'aiment bien.
115115
- [TypeScript](http://www.typescriptlang.org/) se concentre sur l'ajout de "typage strict des données" pour simplifier le développement et la prise en charge de systèmes complexes. Il est développé par Microsoft.
116+
- [Flow](http://flow.org/) ajoute également la saisie de données, mais de manière différente. Développé par Facebook.
116117
- [Dart](https://www.dartlang.org/) est un langage autonome doté de son propre moteur qui s'exécute dans des environnements autres que les navigateurs (comme les applications mobiles). Il était initialement proposé par Google en remplacement de JavaScript, mais pour le moment, les navigateurs exigent qu’il soit transposé en JavaScript, tout comme ceux ci-dessus.
117118

118-
Il y en a plus. Bien sûr, même si nous utilisons un de ces langages, nous devrions également connaître le langage JavaScript, pour bien comprendre ce que nous faisons.
119+
Il en existe évidemment bien plus, cela dit, même si nous utilisons un de ces langages, nous devrions également connaître le langage JavaScript, pour bien comprendre ce que nous faisons.
119120

120121
## Résumé
121122

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
# Manuels et spécifications
3+
4+
Ce livre est un *tutoriel*. Il vise à vous aider à apprendre progressivement le langage. Mais une fois que vous maîtriserez les bases, vous aurez besoin d’autres ressources.
5+
6+
7+
## Spécification
8+
9+
**La spécification ECMA-262** contient les informations les plus détaillées et formalisées sur JavaScript. C'est elle qui définit le langage.
10+
11+
Mais cela étant formalisé, elle est difficile à comprendre au début. Si vous avez besoin de la source d’informations la plus fiable sur les détails du langage, c’est le bon endroit. Mais ce n’est pas très pratique pour un usage quotidien.
12+
13+
La dernière version de la spécification est disponible à cette adresse : <https://tc39.es/ecma262/>.
14+
15+
Pour en savoir plus sur les fonctionnalités à venir, vous pouvez consulter les propositions à cette adresse : <https://github.com/tc39/proposals>.
16+
17+
Si vous développez spécifiquement pour le navigateur, il existe d’autres spécifications couvertes dans la [seconde partie](info:browser-environment) du tutoriel.
18+
19+
## Manuels
20+
21+
- **La référence MDN (Mozilla) JavaScript** est un manuel avec des exemples et d’autres informations. C’est une excellente source pour obtenir des informations détaillées sur les fonctions linguistiques, les méthodes, etc.
22+
23+
On peut la trouver à cette adresse : <https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference>.
24+
25+
Cependant, il est souvent préférable d’utiliser une recherche sur Internet. Utilisez simplement "MDN [terme]" dans la requête, par exemple <https://google.com/search?q=MDN+parseInt> pour rechercher la fonction `parseInt`.
26+
27+
28+
- **MSDN** – Manuel Microsoft contenant de nombreuses informations, y compris sur JavaScript (souvent appelé JScript). Si vous avez besoin de quelque chose de spécifique à Internet Explorer, c'est l'endroit qu'il vous faut : <http://msdn.microsoft.com/>.
29+
30+
Nous pouvons également utiliser une recherche sur Internet avec des expressions telles que "RegExp MSDN" ou encore "RegExp MSDN jscript".
31+
32+
## Support des fonctionnalités
33+
34+
JavaScript est un langage en développement, de nouvelles fonctionnalités sont ajoutées régulièrement.
35+
36+
Pour voir si elles sont supportées dans les moteurs, au sein des navigateurs et autres, voir :
37+
38+
- <http://caniuse.com> - tables de prise en charge par fonctionnalité, par exemple pour voir quels moteurs supportent les fonctions de cryptographie modernes : <http://caniuse.com/#feat=cryptography>.
39+
- <https://kangax.github.io/compat-table> - un tableau avec les fonctionnalités linguistiques et les moteurs qui les prennent en charge ou non.
40+
41+
Toutes ces ressources sont utiles dans le quotidien des développeurs, parce qu'elles contiennent des informations précieuses sur les fonctionnalités du langage, leur support, etc.
42+
43+
Veuillez vous en souvenir (ou de cette page) pour les cas où vous avez besoin d'informations détaillées sur une fonctionnalité particulière.

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

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ Il existe deux archétypes: IDE et les éditeurs légers. Beaucoup de personnes
88

99
Le terme [IDE](https://fr.wikipedia.org/wiki/Environnement_de_développement) (Integrated Development Environment) signifie un éditeur puissant avec de nombreuses fonctionnalités qui fonctionne généralement sur un "projet entier". Comme son nom l’indique, ce n’est pas seulement un éditeur, mais un environnement de développement complet.
1010

11-
Un IDE charge le projet (peut contenir de nombreux fichiers), permet la navigation entre les fichiers, fournit une auto-complétion basée sur l'ensemble du projet (pas seulement le fichier ouvert), s'intègre à un système de gestion de version (comme git), un environnement de test et d’autres éléments au niveau du projet.
11+
Un IDE charge le projet (peut contenir de nombreux fichiers), permet la navigation entre les fichiers, fournit une auto-complétion basée sur l'ensemble du projet (pas seulement le fichier ouvert), s'intègre à un système de gestion de version (comme [git](https://git-scm.com/)), un environnement de test et d’autres éléments au niveau du projet.
1212

1313
Si vous n'avez pas encore pensé à sélectionner un IDE, examinez les variantes suivantes :
1414

15+
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free).
1516
- [WebStorm](http://www.jetbrains.com/webstorm/) pour le développement frontend et autres éditeurs de la même société si vous avez besoin de langues supplémentaires.
16-
- Visual Studio convient parfaitement si vous êtes un développeur .NET, une version gratuite est disponible ([Visual Studio Community](https://www.visualstudio.com/vs/community/))
17-
- [Netbeans](http://netbeans.org/).
1817

19-
Tous les IDE, à l'exception de Visual Studio, sont disponibles sous Windows, MacOs et Linux. Visual Studio ne fonctionne pas sous Linux.
18+
Pour Windows, il existe également "Visual Studio", à ne pas confondre avec "Visual Studio Code ". "Visual Studio" est un éditeur payant et puissant, uniquement conçu pour Windows, bien adapté à la plate-forme .NET. C’est aussi bon en JavaScript. Il y a aussi une version gratuite [Visual Studio Community](https://www.visualstudio.com/vs/community/).
2019

2120
La plupart des IDE sont payants, mais ont une période d'essai. Leur coût est généralement négligeable par rapport au salaire d’un développeur qualifié, alors choisissez le meilleur pour vous.
2221

@@ -32,24 +31,16 @@ En pratique, les éditeurs légers peuvent avoir beaucoup de plug-ins, y compris
3231

3332
Les options suivantes méritent votre attention :
3433

35-
- [Visual Studio Code](https://code.visualstudio.com/) (multiplateforme, gratuit).
3634
- [Atom](https://atom.io/) (multiplateforme, gratuit).
3735
- [Sublime Text](http://www.sublimetext.com) (multiplateforme, payant).
3836
- [Notepad++](https://notepad-plus-plus.org/) (Windows, gratuit).
3937
- [Vim](http://www.vim.org/) et [Emacs](https://www.gnu.org/software/emacs/) sont également cool, si vous savez comment les utiliser.
4038

41-
## Mes favoris
4239

43-
La préférence personnelle de l'auteur est d'avoir à la fois un IDE pour les projets et un éditeur léger pour l'édition rapide et facile des fichiers.
44-
45-
J'utilise :
46-
47-
- [WebStorm](http://www.jetbrains.com/webstorm/) pour JS, et s'il y a une autre langue dans le projet, je passe alors à l'une des autres offres Jetbrains répertoriées ci-dessus.
48-
- En tant qu'éditeur léger -- [Sublime Text](http://www.sublimetext.com) et [Atom](https://atom.io/).
4940

5041
## Ne discutons pas
5142

52-
Les éditeurs des listes ci-dessus sont ceux que mes amis ou moi-même, que je considère comme de bons développeurs, utilisent depuis longtemps et en sont satisfaits.
43+
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.
5344

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

1-js/01-getting-started/3-devtools/article.md renamed to 1-js/01-getting-started/4-devtools/article.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,18 @@ Ouvrez les préférences et accédez au volet "Avancé". Il y a une case à coch
5050

5151
Maintenant `key:Cmd+Opt+C` peut activer la console. Notez également que le nouvel élément de menu supérieur nommé "Développement" est apparu. Il a beaucoup de commandes et d'options.
5252

53+
## Entrée multiligne
54+
55+
Habituellement, lorsque nous insérons une ligne de code dans la console, puis que nous appuyons sur Entrée, la procédure s’exécute.
56+
57+
Pour insérer plusieurs lignes, appuyez sur `key:Shift+Enter`.
58+
59+
60+
5361
## Résumé
5462

5563
- Les outils de développement nous permettent de voir les erreurs, d'exécuter des commandes, d'examiner des variables et bien plus encore.
5664
- Ils peuvent être ouverts avec `key:F12` pour la plupart des navigateurs sous Windows. Chrome pour Mac necessite la combinaison `key:Cmd+Opt+J`, Safari: `key:Cmd+Opt+C` (doit être activé avant).
5765

58-
<<<<<<< HEAD
59-
Nous avons maintenant notre environnement prêt. Dans la section suivante, nous passerons à JavaScript.
60-
=======
61-
To insert multiple lines, press `key:Shift+Enter`.
62-
63-
## Summary
6466

65-
- Developer tools allow us to see errors, run commands, examine variables, and much more.
66-
- They can be opened with `key:F12` for most browsers on Windows. Chrome for Mac needs `key:Cmd+Opt+J`, Safari: `key:Cmd+Opt+C` (need to enable first).
67-
68-
Now we have the environment ready. In the next section, we'll get down to JavaScript.
69-
>>>>>>> 19223ae762f03cdff4e83f6f963f4f427af93847
67+
Nous avons maintenant notre environnement prêt. Dans la section suivante, nous passerons à JavaScript.

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

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
11
# Hello, world!
22

3-
<<<<<<< HEAD
4-
Le tutoriel que vous êtes en train de lire est à propos du coeur de JavaScript, qui est indépendant des plateformes de développement. Plus loins, vous allez apprendre Node.JS qui est une plateforme qui l'utilise.
3+
Le tutoriel que vous êtes en train de lire est à propos du coeur de JavaScript, le langage lui même. Plus loins, vous allez apprendre Node.JS qui est une plateforme qui l'utilise.
54

65
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.
76

87
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.
9-
=======
10-
The tutorial that you're reading is about core JavaScript, which is platform-independent. Later on, you'll learn about Node.js and other platforms that use it.
11-
12-
But we need a working environment to run our scripts and, since this book is online, the browser is a good choice. We'll keep the amount of browser-specific commands (like `alert`) to a minimum so that you don't spend time on them if you plan to concentrate on another environment (like Node.js). We'll focus on JavaScript in the browser in the [next part](/ui) of the tutorial.
13-
14-
So first, let's see how we attach a script to a webpage. For server-side environments (like Node.js), you can execute the script with a command like `"node my.js"`.
15-
>>>>>>> 19223ae762f03cdff4e83f6f963f4f427af93847
168

179

1810
## La balise "script"
@@ -27,15 +19,15 @@ Par exemple :
2719

2820
<body>
2921

30-
<p>Avant le script ...</p>
22+
<p>Before the script...</p>
3123

3224
*!*
3325
<script>
3426
alert( 'Hello, world!' );
3527
</script>
3628
*/!*
3729

38-
<p>... Après le script.</p>
30+
<p>...After the script.</p>
3931

4032
</body>
4133

@@ -55,7 +47,7 @@ La balise `<script>` a quelques attributs qui sont rarement utilisés de nos jou
5547

5648
L'attribut `type` : <code>&lt;script <u>type</u>=...&gt;</code>
5749

58-
: L'ancien standard HTML4 nécessitait pour un script d'avoir un type. En général, il s'agissait de `type = "text / javascript"`. Il n’est plus nécessaire. En outre, la norme moderne a totalement changé la signification de cet attribut. Maintenant, il peut être utilisé pour les modules Javascript. Mais c’est un sujet avancé, mais nous parlerons des modules plus tard dans une autre partie du tutoriel.
50+
: L'ancien standard HTML4 nécessitait pour un script d'avoir un `type`. En général, il s'agissait de `type = "text / javascript"`. Dorénavant il n’est plus nécessaire. En outre, le standard moderne HTML5 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 des modules plus tard dans une autre partie du tutoriel.
5951

6052
L'attribut `language` : <code>&lt;script <u>language</u>=...&gt;</code>
6153
: 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.

1-js/02-first-steps/03-strict-mode/article.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,23 @@ Pour l’avenir, lorsque vous utilisez une console de navigation pour tester des
5252
5353
Parfois, lorsque `use strict` fait une différence, vous obtenez des résultats incorrects.
5454
55-
Même si nous appuyons sur la touche `key:Shift+Entrée` pour saisir plusieurs lignes et que `use strict` est placé en haut, cela ne fonctionne pas. Cela est dû à la manière dont la console exécute le code en interne.
55+
Vous pouvez essayer d'appuyer sur `key:Shift+Enter` pour saisir plusieurs lignes et mettre `use strict` en haut comme cela :
5656
57-
Le moyen fiable pour vous assurer d'utiliser `use strict` serait de saisir le code dans la console de la manière suivante :
57+
```js
58+
'use strict'; <Shift+Enter for a newline>
59+
// ...votre code
60+
<Enter to run>
61+
```
62+
63+
Cela fonctionne dans la plupart des navigateurs, à savoir Firefox et Chrome.
64+
65+
Si ce n’est pas le cas, le moyen le plus fiable d’assurer `use strict` serait d'entrer le code dans la console comme ceci :
5866

5967
```js
6068
(function() {
6169
'use strict';
6270

63-
// ...your code...
71+
// ...votre code...
6472
})()
6573
```
6674

@@ -75,4 +83,4 @@ Dans les chapitres suivants, au fur et à mesure que nous apprendrons les foncti
7583
1. La directive `"use strict"` fait passer le moteur en mode "moderne", modifiant le comportement de certaines fonctionnalités intégrées. Nous les verrons en détails pendant que nous étudions.
7684
2. Le mode strict est activé par `"use strict"` en haut du fichier. Il existe également plusieurs fonctionnalités de langage telles que "classes" et "modules" qui permettent un mode strict automatiquement.
7785
3. Le mode strict est pris en charge par tous les navigateurs modernes.
78-
4. Il est toujours recommandé de lancer les scripts avec `"use strict"`. Tous les exemples de ce tutoriel le supposent, sauf si (très rarement) c'est spécifié autrement.
86+
4. Il est toujours recommandé de lancer les scripts avec `"use strict"`. Tous les exemples de ce tutoriel le supposent, sauf si (très rarement) c'est spécifié autrement.

0 commit comments

Comments
 (0)