JavaScript, à ne pas confondre avec Java, est un langage de programmation inventé pour le web. Son utilisation principale se fait suivant le terme consacré, coté client, c’est à dire dans le navigateur de l’internaute.
Son utilité est d’apporter tout ce que le HTML n’apporte pas : l’interactivité de l’utilisateur avec la page. Pour le résumer succinctement, tout ce qui se produit après le chargement d’une page est lié à un script JavaScript : chargement d’éléments, mise à jour, animations ...
Parmi ces événements, ceux liés à ce qu’on appelle l’Ajax, c’est-à-dire le fait de pouvoir faire circuler des données entre le navigateur et le serveur sans avoir à provoquer un rechargement global de la page. On parle de processus asynchrone dans ce cas. Ces mécanismes sont aujourd’hui très importants et très employés puisqu’ils sont à la base même de la transformation des pages web, qu’on pouvait comparer initialement à des pages de livres avec des liens, en véritables logiciels utilisables dans tous les domaines.
En termes de développement, il faut garder à l’esprit que tout ce qui est JavaScript sera potentiellement visible par l’utilisateur final. En effet, c’est le navigateur qui exécute les fichiers reçus du serveur et ceux-ci ne sont pas chiffrés. Il n’est donc pas question d’inclure dans des scripts JavaScript ce qui relèverait de secret de fabrication et encore moins des données confidentielles type mot de passe.
Il faut noter qu’il est devenu maintenant anecdotique d’utiliser JavaScript de façon brute pour le développement de page web. De nombreuses librairies sont disponibles et rendent la tâche bien plus aisée. Elles proposent des fonctions préfabriquées qui évitent de réinventer les bases et de partir de zéro à chaque projet.
La plus populaire de ces librairies généralistes est sûrement jQuery, mais il en existe d’autres plus spécifiques, comme par exemple Momentjs qui se consacre uniquement à la gestion du temps (manipulation dates et heures).
Enfin un dernier mot pour évoquer le fait que JavaScript voit son utilisation déborder maintenant coté serveur avec des technologies comme nodejs. Une recherche sur le sujet vous permettra d’en apprendre plus.