Salut! Bienvenue dans ce premier article, qui servira d’introduction à ce langage de programmation important, polyvalent et reconnu avec lequel vous augmenterez vos opportunités en tant que programmeur ou développeur Web. Nous allons commencer!
Qu’est-ce que JavaScript ?
Le langage de programmation JavaScript a été créé à l’origine pour «donner vie aux pages web», c’est-à-dire qu’il donne aujourd’hui un dynamisme aux pages web HTML. Il existe de nombreux cas d’utilisation différents pour ce langage de programmation, du scraping Web à l’aide de JavaScript à la création de sites de conversion, les opportunités sont illimitées.
Les programmes créés dans ce langage sont appelés scripts. Ces programmes peuvent être écrits directement dans notre HTML car nous pouvons l’intégrer dans notre mise en page HTML initiale, soit en tant qu’appel à un document externe, soit en appelant une autre section du même document, et cela est exécuté automatiquement lors du chargement de la page Web.
Les scripts sont fournis et exécutés en texte brut. Cela signifie que le navigateur est capable d’interpréter le code JS immédiatement, il n’a donc pas besoin de préparation ou de compilation spéciale pour s’exécuter.
Par là, on peut dire que JavaScript est différent de Java, puisque ce dernier nécessite un compilateur pour être exécuté.
Actuellement, JavaScript peut s’exécuter non seulement dans le navigateur, mais également sur le serveur ou sur tout appareil doté d’un programme spécial appelé moteur JavaScript.
Le navigateur a un moteur intégré, parfois il est aussi appelé «machine virtuelle JavaScript».
Différents moteurs ont des «noms de code» différents, par exemple :
V8 – dans Chrome et Opera.
SpiderMonkey – dans Firefox.
… Il existe d’autres noms de code comme «Trident», «Chakra» pour différentes versions d’IE, «ChakraCore» pour Microsoft Edge, «Nitro» et «SquirrelFish» pour Safari, etc.
Les termes ci-dessus sont bons à retenir, car ils sont utilisés dans les articles de développeurs sur Internet. Et peut-être qu’un jour vous en aurez besoin aussi. Par exemple, si «une fonctionnalité X est prise en charge par V8», cela fonctionne probablement dans Chrome et Opera.
Que peut faire JavaScript dans votre navigateur ?
JavaScript moderne est un langage de programmation que nous pouvons appeler « sûr ». JS ne fournit pas d’accès de bas niveau à la mémoire ou au processeur, car il a été initialement créé pour les navigateurs qui n’en ont pas besoin.
Les capacités dépendent fortement de l’environnement exécutant JavaScript. Par exemple, Node.JS prend en charge des fonctions qui permettent à JavaScript de lire et/ou d’écrire des fichiers arbitraires, de faire des requêtes réseau, etc.
JavaScript dans le navigateur peut faire tout ce qui concerne la manipulation de la page Web, l’interaction avec l’utilisateur et le serveur Web.
Par exemple, JavaScript dans le navigateur est capable d’effectuer les opérations suivantes :
- Ajoutez un nouveau code HTML à la page, modifiez le contenu existant, modifiez les styles, etc.
Réagit aux actions de l’utilisateur, exécute des clics de souris, des mouvements de pointeur, des frappes, entre autres. - Il envoie des requêtes sur le réseau à des serveurs distants, téléchargeant et téléversant des fichiers (technologies dites AJAX et COMET).
- Il obtient et définit des cookies, il peut poser des questions au visiteur de la page Web et peut même afficher des messages.
- Enregistrez les données côté client («stockage local»).
Qu’est-ce que JavaScript NE PEUT PAS faire dans le navigateur ?
Les capacités JavaScript dans le navigateur sont limitées pour des raisons de sécurité des utilisateurs. L’objectif est d’empêcher un site Web malveillant d’accéder à des informations privées ou d’endommager les données des utilisateurs.
Ci-dessous, je répertorie certaines des restrictions que JS a dans votre navigateur.
JavaScript sur une page Web peut ne pas être en mesure de lire/écrire des fichiers arbitraires sur le disque dur, de les copier ou d’exécuter des programmes. Et vous n’avez pas non plus d’accès direct aux fonctions du système d’exploitation.
Les navigateurs modernes vous permettent de travailler avec des fichiers, mais l’accès est limité et uniquement fourni si l’utilisateur effectue certaines actions, telles que «déposer» un fichier dans une fenêtre de navigateur ou le sélectionner à l’aide d’une balise <input>.
Il existe des moyens d’interagir avec la caméra et/ou le microphone et d’autres appareils, mais ils nécessitent une autorisation explicite de l’utilisateur. Par conséquent, une page JavaScript peut ne pas activer sournoisement une webcam, observer l’environnement et soumettre les informations à la NSA.
Les différents onglets ou fenêtres ne se connaissent généralement pas. Parfois, ils le font, par exemple lorsqu’une fenêtre utilise JavaScript pour ouvrir l’autre. Mais même dans ce cas, le JavaScript d’une page peut ne pas être en mesure d’accéder à l’autre s’il provient de sites différents (d’un domaine, d’un protocole ou d’un port différent). C’est ce qu’on appelle la « politique de même origine ». Pour éviter cela, les deux pages doivent contenir un code JavaScript spécial qui prend en charge l’échange de données.
La limitation est à nouveau pour la sécurité de l’utilisateur. Une page sur http://anysite.com qu’un utilisateur a ouverte ne doit pas pouvoir accéder