Introduction

Dans cette leçon nous présentons plusieurs généralités qui vous permettront de mieux comprendre les concepts introduits dans les leçons subséquentes.  Nous survolerons rapidement les sujets suivants:

Généralités

Le langage JavaScript n'est pas compilé i.e. qu'il n'y a jamais de phase de traduction en langage machine (fichier .EXE).  Il est plutôt interprété directement par un autre programme comme par exemple:

Contrairement à ses ancêtres: C, C++ et Java, JavaScript n'est pas un langage strictement typé.  Il ne fait pas beaucoup de différences entre un nombre ou une chaîne de caractères ou entre un tableau et un objet.  Cela semble bizarre à première vue mais nous verrons qu'il y a certains avantages à ce genre de "délinquance".

Bien que possédant plusieurs types et objets intrinsèques (natifs), JavaScript doit, pour être d'une utilité pratique, agir, créer ou modifier des objets fournis par le programme hôte.

Dans ce cours, nous nous limiterons à la manipulation des objets fournis par les navigateurs.

Petit historique de la famille

Bien que l'on associe souvent JavaScript au langage Java, cela n'a qu'une connotation de ressemblance syntaxique et une complémentarité avec les applets Java.  Sans faire la genèse des langages de programmation voici quand même quelques événements importants:

Dans ce cours nous nous contenterons de vous présenter le langage JavaScript tel que supporté par le navigateur le plus répandu: Internet Explorer.  Nous pourrons toutefois discuter de certaines caractéristiques de Netscape Navigator.

 

Introduction aux réseaux informatiques

Nomenclature

système informatique
Ensemble des composantes d'un système de traitement de l'information.  Il comprend:
le matériel, le logiciel, les données, les procédures et les individus.
 
télécommunication
technologie permettant la transmission de messages au moyen de signaux électromagnétiques.
 
protocole
ensemble des règles la communication entre les ordinateurs (et les humains d'ailleurs!)
 
Internet (info route, autoroute électronique)
ensemble des communications informatiques entre les ordinateurs et les réseaux d'ordinateurs.

 

Exemples d'organisation des réseaux

Le réseau en étoile

  • Topologie simple

  • Capacité de l'ordinateur central très grande

  • Contrôle du trafic centralisé

  • Grande vulnérabilité à cause de l'ordinateur central

  • Trafic un peu plus lent

 

Le réseau en ligne

  • Pas d'ordinateur spécial

  • Simple à implanter

  • Très utilisé pour des réseaux locaux

  • Problème des collisions

Le réseaux en anneau

  • Pas de problème de collisions

  • Protocole assez complexe

 


Le réseau maillé

  • Aucune contrainte topologique

  • Très complexe à gérer

 


De réseaux en réseaux

  • Problème de traduction des divers protocoles

  • Problème de calcul des routes

Passerelle
Ordinateur reliant deux réseaux d'organisations différentes (A3, A5, B4, D6)
Routeur
Service d'optimisation des trajets des paquets de données selon les disponibilités et les contraintes (B5, B7, C1, C3, C4, C7, C9, C10, D9)

Le protocole TCP/IP

Les adresses Internet (adresse IP)

Le «World Wide Web»

Hypertextes et hypermédias

La navigation

Ressource Internet

http:// Document hypertexte
file:// Fichier local
mailto: Envoi d'un message électronique
ftp:// Transfert de fichiers
telnet:// Branchement sur un autre ordinateur
news: Babillards électroniques
gopher:// wais:// nntp:// Autres vieux protocoles

Les pages WEB

 

Le langage HTML

Syntaxe générale et terminologie

HTML

HTML signifie «Hyper Text Markup Language».   C'est une application SGML («Standard Generalized Markup Language») conforme au standard ISO 8879.  Il est décrit entièrement dans la recommandation du W3C (Le World Wide WEB Consortium).

Entité

Une entité est un nom symbolique ou numérique donné à un caractère spécial.  Par exemple: l'entité é donnera un é tandis que l'entité © donnera le symbole ©.  On pourrait aussi avoir le Þ (THORN islandais). Si votre navigateur est vraiment moderne, l'entité € donnera €, l'euro bien connu maintenant.   L'annexe B de votre manuel de référence vous donne quelques explications supplémentaires sur les entités de caractères.  J'ai aussi produit une table assez complète des différents codes numériques des entités de caractères.

Balise

Une balise est un code représentant un élément du langage.   On utilise un mot (ou une séquence de mots) délimité par les caractères "<" et ">".  Par exemple: <HTML>, <TITLE>, <BR>, <font color=red>, </Title>, </P>, etc.  Vous remarquerez que la case des caractères n'a pas d'importance.

Marqueur

Un marqueur est une balise simple comme une fin de paragraphe (<BR>) par exemple.

Conteneur

Un conteneur est composé d'une balise d'ouverture ou balise initiale (<xYZ>) et d'une balise de fermeture ou balise terminale (</xYZ>).

Élément

Un élément représente la structure d'une partie d'un document HTML.  C'est soit un marqueur simple, soit une partie du document dans un conteneur.   Par exemple: <TITLE>Voici un beau titre pour mon document</TITLE>.   Si un élément n'est pas reconnu par le navigateur, il sera simplement ignoré; aucun message d'erreur ne sera donné.

Attribut

Un attribut est une propriété rattachée à un élément qui en décrira certaines caractéristiques.  Par exemple: <div ALIGN=right> ou <font COLOR=red>.

Commentaires

Un commentaire est une portion de texte qui sera ignoré par le navigateur.  Par exemple: <!-- Ce bout de texte sera complètement ignoré du navigateur. -->.  On remarquera les balises de début et de fin un peu spéciales.  Certains programmes de service utilisent les commentaires.

SGML

Pour la plupart, des navigateurs sont incapables de traiter directement le SGML.  Nous laissons ça aux théoriciens de la chose!

 

En guise de rappel voici un aide-mémoire des balises HTML.

 

La programmation

La programmation consiste à créer des instructions qui indiquent comment obtenir les résultats attendus à partir des données fournies ou comment réagir à certains événements.

Nous pouvons définir plusieurs genres de programmation:

Nous y reviendrons plus tard.

Dans le cas spécifique des pages WEB, nous pourrons donc programmer le comportement du navigateur en réaction à des  événements comme le chargement d'une page ou un "clique" de souris par exemple ou bien valider les données saisies dans un formulaire.

Le langage JavaScript

JavaScript est un langage de script.  Il est donc interprété par un programme qu'on nomme moteur de script.

Il existe plusieurs saveurs du langage:

JavaScript se subdivise en trois parties:

Navigateurs et versions

Programme 1.0 1.1 1.2 1.3 1.4 1.5
Navigator 2.0x Oui
3.0x Oui
4.0-4.05 Oui
4.06-4.61 Oui
5.0 Oui
7.0 Oui
Explorer 3.0x Oui ±
4.0x Oui
5.0x Oui ±
6.0x Oui ± ±

 

Premiers programmes

Appel direct

Il est possible d'insérer des instructions JavaScript directement dans les balises HTML.  Par exemple:

<a href="javascript:alert("Allo!");">ici</a>

Nous avons utilisé un protocole spécial qui permet d'introduire du code JavaScript dans un hyperlien.  Pour le voir en action cliquez ici.

Le conteneur <SCRIPT>

On peut aussi écrire le code dans un conteneur <SCRIPT> et utiliser un événement pour en provoquer l'exécution comme dans cette exemple.  Vous n'avez qu'à cliquer dans le rectangle blanc.

<script>
  function bonjour() {
     alert("Bonjour");
  }
</script>

Les attributs du conteneur <SCRIPT>

L'attribut SRC

Il est aussi possible d'écrire le code dans un fichier indépendant et de l'obtenir avec:

<script src="fichier.js"></script>

Il est alors inutile d'utiliser le conteneur <SCRIPT>.  Le fichier contiendra du JavaScript pur.

L'attribut LANGUAGE

L'attribut LANGUAGE permet de spécifier la version désirée.  Par exemple:

<script language="JavaScript1.4"> ... </script>

Lectures suggérées