next up previous
suivant: Compilation et documentation monter: IFT6891 : Projet intégrateur précédent: Terminaison

Client

Vous devez aussi implanter un client (un mini fureteur internet) qui permettra de visualiser des pages html (par exemple celles qui sont envoyées par votre serveur HTTP). Ce client doit être une application Java (pas d'applet) avec une interface graphique. La fenêtre pourrait être de dimension fixe (vous fixez une taille d'avance) ou encore permettre à l'usager de modifier la taille de la fenêtre (voir la section ``améliorations possibles'').

Pour faire votre interface graphique, nous vous recommendons fortement d'utiliser les classes swing de l'API de Java. En particulier, vous devez faire le rendu de vos fichiers HTML soit dans un objet JTextPane, soit dans un objet de type java.awt.canvas (voir la section ``améliorations possibles''). Vous pouvez faire un choix entre ces deux mode d'affichage uniquement.

Pour simplifier les choses, vous devez reconnaître uniquement un sous-ensemble strict du langage HTML (autrement dit, les documents qui suivent cette syntaxe pourraient être visualisés sans problèmes avec Netscape).

  1. Le document commence par $ <$HTML$ >$ et se termine par $ <$/HTML$ >$. Si ce n'est pas le cas, on l'affiche en entier comme s'il s'agissait d'un simple fichier texte.

  2. Ensuite, il doit y avoir la sequence de balise suivantes

    <head>
    <title>Un titre</title>
    </head>
    

    Le titre ``Un titre'' est le titre de la page et il devra etre affiche dans la barre de titre (en haut de la fenêtre) de votre navigateur.

  3. Le texte du document est contenu entre $ <$body$ >$ et $ <$/body$ >$. Ces balise doivent absolument se trouver après le $ <$/head$ >$.

  4. Dans le corps du document (i.e entre $ <$body$ >$ et $ <$/body$ >$), on peut trouver les balises suivantes qui servent à formater le texte :
    1. $ <$P$ >$ et $ <$/P$ >$ servent a encadrer un paragraphe. Il faudra donc afficher le texte compris entre ces balises en laissant une ligne blanche au debut. L'attribut ``align'', qui est optionnel sert à indiquer l'alignement du texte. Les valeurs qui sont permises sont ``center'' et ``left''. Par exemple, si on a

       <P align=''center''>texte1</P>
      

      Cela signifie que le texte ``texte1'' doit être centré dans l'écran. Notez que l'attribut se trouve dans la balise de départ et pas dans la balise de fin. Par defaut, si aucun attribut n'est spécifié, l'alignement se fait a gauche.

    2. $ <$B$ >$ et $ <$/B$ >$ servent à encadrer un texte en caractères gras.

    3. $ <$I$ >$ et $ <$/I$ >$ servent à encadrer un texte en caractères italiques.

    4. $ <$H1$ >$ et $ <$/H1$ >$ servent à encadrer le titre du texte. Celui-ci sera écrit en gros caractères, suivi d'un retour de ligne.

    5. $ <$H2$ >$ et $ <$/H2$ >$ même chose que $ <$H1$ >$, sauf que le texte est un peu moins gros.

    6. $ <$A href=''URL''$ >$ et $ <$/a$ >$ sert à encadrer un lien vers le document dont l'URL est donné en paramètre. Si on clique sur ce lien avec la sourie, cela devrait nous permettre d'afficher ce document à la place de la page actuelle. Le document qui est appelé par le lien doit remplacer celui qui était affiché au départ dans votre fureteur.

      Si le lien fait référence à un document PDF, il faut l'ouvrir dans le logiciel Acrobat Reader (la commande, sous Linux, est acroread). De même, les fichiers de types texte (.txt, .c et .java) devront être ouvert avec Emacs.

    7. $ <$IMG width="nombre_entier" height="nombre_entier" src=''URL''$ >$ (sans balise de fin) sert à insérer une image, dont l'URL est donnée en paramêtre, dans votre document. Ces images devront être en format gif ou jpeg. Les attributs width et height servent à indiquer la largeur et la hauteur de l'image2

  5. De façon générale, les retours de chariot (fin de lignes) et les tabulations qui se trouvent dans le code HTML d'un document devront être affichés comme un simple espace.

  6. Les balises peuvent être imbriquées. Par exemple $ <$B$ >$$ <$I$ >$Un texte$ <$/B$ >$$ <$/I$ >$, donne un texte en italique et en gras. L'ordre n'a pas d'importance. Le résultat aurait été le même si on avait fait $ <$I$ >$$ <$B$ >$Un texte$ <$/I$ >$$ <$/B$ >$ ou encore $ <$I$ >$$ <$B$ >$Un texte$ <$/B$ >$$ <$/I$ >$.

  7. Si votre fureteur rencontre un balise inconnue (elle ne fait pas partie de la liste ci-dessus), il faut l'ignorer. Votre fureteur ne doit pas reconnaître d'autres balises que celles énumérées plus haut.

Dans votre interface graphique, il doit y avoir au moins les éléments suivants :

  1. Une zone de saisie pour tapper l'URL du document
  2. Un bouton ``recharger'' qui permet de recharger le document (il faut faire une nouvelle requête au serveur).

Si la page web est trop longue, il faut un ``scrollbar'' pour pouvoir la visionner au complet. Ce ``scrollbar'' doit être affiché seulement si la page est trop longue pour etre contenu entièrement dans la fenêtre du fureteur.


next up previous
suivant: Compilation et documentation monter: IFT6891 : Projet intégrateur précédent: Terminaison
Victor Ostromoukhov 2001-12-03