====== JavaScript ====== Dans son usage original, JavaScript est un langage qui **s'utilise côté client dans les navigateurs Web**. Dans cet univers, plusieurs usages courants peuvent être considérés : * Traitements évènementiels : intégrer du **dynamisme dans les interfaces graphiques** pour les rendre réactives en fonction des actions initiées par l'utilisateur (afficher une zone masquée, masquer une zone affichée, produire des notifications, ouvrir des fenêtres enfants, etc.) ; * Traitements évènementiels : intégrer une **logique de traitement** au plus près de l'utilisateur (contrôle du déroulement, calculs, validation des données saisies dans les formulaires) ; * Facilitation de la présentation : au moyen de frameworks dédiés (JQuery, Qooxdoo, etc.), offre de **composants graphiques prêts à l'emploi** qui minimisent l'effort et la compétence HTML/CSS ; ===== Architecture ===== Dans une architecture structurée, on prendra soin de stocker le code JavaScript dans des fichiers séparés. La balise HTML script y donnera accès : ... ==== Validation à la soumission ==== ...
===== Evolutions ===== Par rapport aux usages initiaux de JavaScript, deux évolutions notables sont à relever : * L'utilisation d'Ajax : [[bloc2:prog:web:ajax|Ajax]] s'inscrit dans la dynamisation du fonctionnement des interfaces ; * L'utilisation de JavaScript dans des implémentations côté serveur (Node.js et dérivés) qui permet de viser une sorte de langage universel ;