Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Ce
premier TD vise à vous familiariser avec HTML aussi au moyen de logiciel auteur
que rédigeant directement le source HTML.
Durée : 3
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Conseil : Des
nombreuses solutions à ce TD se trouvent dans les exemples !!!
Recommandations : Tester votre code HTML, vos CSS et vos
scripts à la fois sur Internet Explorer et Netscape !
Logiciels : Internet Explorer 5, Netscape Communicator
4
Parcourez les exemples vus en cours
Ils sont présents sur http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Réalisez une présentation de vous même au travers d'une page personnelle (cursus dans une table, loisirs, sports, langues parlées …) en version multilingue et une présentation de votre promotion.
Organisez votre page personnelle avec des Frames (Bannière, Sommaire, Rubrique)
N'oubliez pas que quelques navigateurs antédiluviens ne supportent pas les frames.
Définissez une feuille de style CSS commun pour personnaliser la mise en page de votre “ collection ” de documents. Vous en trouverez une certaines nombres depuis www.w3.org/CSS
Organisez votre sommaire au moyen d'une image sensible.
Prévoyez un livre d'or (guestbook) pour les visiteurs de votre site. Intégrez le à vos frames.
Il sera constitué d'un formulaire demandant au visiteur son nom, son sexe (RADIO), son email, son pays d'origine (parmi une liste de pays) et un commentaire (TEXTAREA) et un bouton de validation et de remise à zéro.
Reprenez le formulaire de votre livre d'or.
Ajoutez un ou plusieurs scripts JavaScript qui vérifient si le visiteur a complètement rempli les entrées du formulaire et notamment si le email semble correct (pas d'espace, un mot suivi d'un @ suivi d'une chaîne de mots séparés par des points et dont le dernier est soit .fr, .gb, .com, .org, .net (la liste n'est pas limitative)).
Ajoutez ensuite un script JavaScript qui à la soumission du formulaire, génère (à la volée) un nouveau document HTML à la place du formulaire (ce document contient les textes entrés dans le formulaires).
Utilisez une police dynamique publique (Dynamic Font : http://www.truedoc.com) pour les titres de type H1 dans votre CSS. (Ne fonctionne qu’avec Netscape)
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Programmation
en JavaScript et manipulation d’applets
Durée : 3
heures (gérez votre temps !)
Documents : http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Conseil : Des
nombreuses solutions à ce TD se trouvent dans les exemples !!!
Logiciels : J2SE 1.2+, Internet Explorer 5, Netscape
Communicator
Parcourez les exemples vus en cours
Ils sont présents sur http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Consultez également les exemples du site développeur de Netscape (. N'y passez pas trop de temps (maximum 30 minutes) !
Organisez votre sommaire avec des boutons sensibles.
Un bouton sensible offre plusieurs fonctionnalités combinables:
· Surbrillance: il passe en surbrillance quand le pointeur passe dessus.
· Déactivation après suivi : il se déactive jusqu'à la prochaine session quand l'utilisateur veut suivre le lien.
· Mémoire de suivi sur plusieurs sessions: il se déactive jusqu'à la prochaine session quand l'utilisateur veut suivre le lien.
Programmez ces boutons en JavaScript et de manière réutilisable (prototype et script séparé).
L’exemple http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb/js_navbar présente d’utilisation d’une barre de menu déroulant.
Remplacer le sommaire par une barre de menu horizontale.
Trouvez le répertoire d’un JDK (Java Development Kit).ou installez le si vous ne le trouvez pas : http://java.sun.com/products
Testez les applets en démonstration dans le répertoire $JAVA_HOME/demo/applets/ sur Unix et %JAVA_HOME%\demo\applets
Je vous recommande TicTacToe, ImageMap, MoleculeViewer, WireFrame, GraphLayout, SimpleGraph
Et bien sur NervousText
Pour cela, visualisez les documents HTML présents dans ces réperatoires avec Netscape ou IE.
Regardez également le source des documents HTML
Remarque : SimpleGraph amélioré permet d’illustrer vos documents scientifiques sur le Web.
Placez dans votre page d’accueil l’applet NervousText des demos du JDK
<applet
code="NervousText.class" width=534 height=50>
<param
name=text value="Bienvenu sur mon site">
</applet>
La classe de cette applet doit se trouver dans le même répertoire que votre document !
Modifiez le source de la classe NervousText pour y ajouter la méthode publique setBanner(String)
public void setBanner(String _banner){
banner=_banner;
int bannerLength = banner.length();
StringBuffer bc = new
StringBuffer(bannerLength);
StringBuffer attrs = new
StringBuffer(bannerLength);
int wd = 0;
for (int i = 0; i < bannerLength; i++) {
char c = banner.charAt(i);
char a = 0;
if (c == '^') {
i++;
if
(i < bannerLength) {
c = banner.charAt(i);
a = '^';
wd += SMALL_WD - REGULAR_WD;
}
else {
break;
}
}
bc.append(c);
attrs.append(a);
wd += REGULAR_WD;
}
bannerLength = bc.length();
bannerChars = new char[bannerLength];
attributes = new char[bannerLength];
bc.getChars(0, bannerLength, bannerChars,
0);
attrs.getChars(0, bannerLength, attributes,
0);
threadSuspended = false;
resize(wd + 10, 50);
}
Recompilez la classe avec javac et testez votre applet dans le document !
Pilotez cette applet au moyen d’un script JavaScript déclenché par un script qui change toutes les 10 secondes le message que visualise l’applet.
Modifiez l’applet Clock du JDK en lui ajoutant un paramètre et une méthode permettant à l’horloge d’affichage l’heure dans un autre fusion horaire.
Ajoutez dans un même document HTML plusieurs horloges à des fuseaux différents.
Utilisez l’image sensible de la Mappemonde (dans l’exemple usemap) pour configurer les fuseaux horaires des horloges.
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Création
de formulaire et gestion en JavaScript
Durée : 3
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Conseil : Des
nombreuses solutions à ce TD se trouvent dans les exemples !!!
Logiciels : MS Access, Internet Explorer 5, Netscape Communicator
Parcourez les exemples vus en cours
Ils sont présents sur http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
A partir des exemples de formulaires vus dans http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb/form, réalisez une formulaire de bon de commande pour les articles présents dans la base de données MS Access factcmd.mdb
Le client doit pouvoir commander zéro ou aucune de ces articles.
A chaque modification d’une quantité, un script recalcule le nouveau total de la ligne et le nouveau montant globale (HT et TTC en FRF et en EUR) du bon de commande.
Complétez votre formulaire avec des champs pour remplir les coordonnées de livraison et de facturation. Effectuez des vérifications des champs en JavaScript (Certains champs sont obligatoires et d’autres optionnels)
N’oubliez pas d’ajouter un bouton pour la soumission du formulaire dont l’action sera commande.jsp
Ecrire un script qui sur soumission du formulaire qui vérifie que tous les champs obligatoires sont remplis correctement
Optionnel : Complétez ce script pour qu’après les vérifications, il génère « à la volée » un récapitulatif de la commande dans une nouvelle fenêtre (voir l’exemple js_window)
Important : nous utiliserons ce bon de commande dans un
TD ultérieur.
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Définition
d’un DTD XML, Feuille de transformation de style XSLT
Durée : 2
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Conseil : Des
nombreuses solutions à ce TD se trouvent dans les exemples !!!
Recommandations : Tester votre code XML et XSLT avec Internet
Explorer 5
Logiciels : Internet Explorer 5
Rappel : XML peut servir de “ hub ” logiciel entre des systèmes d’information (appartenant à des organisations et entreprises différentes). Ce TD vise à mettre ceci en pratique en utilisant XML pour mener une transaction commerciale (simplifiée) entre un client et un marchand en B2B ou en B2C.
Parcourez les exemples vus en cours (Et surtout xslt_doc et xslt_table)
Ils sont présents sur http://www-adele.imag.fr/~donsez/cours/exemplescourstechnoweb
Définir la DTD commande.dtd pour un bon de commande (en FRF et en EUR avec les montants HT et TTC) pour les articles comme ceux de la base données MS Access factcmd.mdb
Ecrire à la main un exemple de bon de commande cmd123.xml qui valide la DTD commande.dtd
<?xml
version="1.0"?>
<!DOCTYPE
doc SYSTEM "commande.dtd">
<commande
numcmd="123">
…
</commande>
Visualiser sous IE5
Modifier légèrement ce document pour qu’il ne soit pas valide (invalid_cmd123.xml)
Visualiser sous IE5
Définir un document XSL cmd2html.xsl pour visualiser cette commande en HTML
Modifier cmd123.xml pour qu’il inclut la PI (Processing Instruction) suivante
<?xml
version="1.0"?>
<!DOCTYPE
doc SYSTEM "commande.dtd">
<?xml-stylesheet
type="text/xsl" href="cmd2html.xsl"?>
<commande
numcmd="123">
…
</commande>
Visualiser cmd123.xml sous IE5
Important : nous utiliserons ce bon de commande dans un TD ultérieur.
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Installation
et prise en main de TomCat
Durée : 2
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours#web
Recommandations : Tester le fonctionnement de TomCat avec
Internet Explorer 5 et Netscape
Logiciels : J2SE 1.2+, TomCat, Internet Explorer 5,
Netscape Communicator
Téléchargez TomCat : http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/bin/
Installez Jakarta TomCat sur votre machine dans un répertoire tomcat
(Vérifiez bien que vous avez un JDK installé !)
Positionnez les variables suivantes en fonction de vos installations
set
JAVA_HOME=c:\jdk1.3.1
set
TOMCAT_HOME=c:\tomcat
Lancez TomCat avec la commande
%TOMCAT_HOME%\bin\startup.bat
Attendez que TomCat affiche
2001-10-04
09:43:02 - ContextManager: Adding context Ctx( /examples )
2001-10-04
09:43:02 - ContextManager: Adding context Ctx( /admin )
Demarrage de tomcat. Consultez le fichier
logs/tomcat.log pour les messages d''e
rreurs
2001-10-04
09:43:11 - ContextManager: Adding context Ctx(
)
2001-10-04
09:43:12 - ContextManager: Adding context Ctx( /test )
2001-10-04
09:43:15 - PoolTcpConnector: Starting HttpConnectionHandler on 8080
2001-10-04
09:43:15 - PoolTcpConnector: Starting Ajp12ConnectionHandler on 8007
Testez les exemples de JSP et de Servlet accessible à partir du serveur http://localhost:8080/
http://localhost:8080/examples/jsp/index.html
http://localhost:8080/examples/servlets/index.html
Arrêtez (proprement) TomCat avec la commande
%TOMCAT_HOME%\bin\shutdown.bat
Ajoutez au fichier de configuration de TomCat %TOMCAT_HOME%\conf\server.xml les 2 contextes suivants :
<Context path="/ecom"
docBase="webapps/ecom"
crossContext="false"
debug="0"
reloadable="true" >
</Context>
<Context path="/perso"
docBase="webapps/perso"
crossContext="false"
debug="0"
reloadable="true"
>
</Context>
<Context path="/chat"
docBase="webapps/chat"
crossContext="false"
debug="0"
reloadable="true"
>
</Context>
<Context
path="/technoweb"
docBase="webapps/technoweb"
crossContext="false"
debug="0"
reloadable="true"
>
</Context>
juste après le contexte :
<Context path="/examples"
docBase="webapps/examples"
crossContext="false"
debug="0"
reloadable="true" >
</Context>
Créez un répertoire %TOMCAT_HOME%\webapps\perso dans lequel vous mettrez les documents relatifs à votre page personnelle (TD1 et 2)
Relancez TomCat avec la commande
%TOMCAT_HOME%\bin\startup.bat
Visualisez les à partir de l’URL http://localhost:8080/perso
Visualisez celles de vos camarades en remplacant localhost par le nom de leur machine à partir de l’URL http://localhost:8080/perso
Créez un répertoire %TOMCAT_HOME%\webapps\ecom dans lequel vous mettrez les documents relatifs à la prise de commande (TD3 et 4)
Visualisez les à partir de l’URL http://localhost:8080/ecom
Copiez la JSP snoop.jsp dans le répertoire de ecom %TOMCAT_HOME%\webapps\ecom
NB : cette JSP est la même que celle utilisée dans les exemples du cours form/
Modifiez les formulaires (TD3 et 4) de l’application ecom pour l’action du formulaire soit
ACTION="snoop.jsp"
Visualisez vos formulaires et soummettez les !
Allez jeter un coup d’œil aux fichiers suivants
Quels sont leurs rôles respectifs à votre avis ?
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Configuration
d’ODBC et développement de JSP
Durée : 2
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours#web
Recommandations : Tester le fonctionnement de TomCat avec
Internet Explorer 5 et Netscape
Logiciels : J2SE 1.2+, TomCat, MS Access, Internet Explorer 5, Netscape Communicator
ODBC (Open DataBase
Connection) est un format de communication entre clients et serveurs de bases
de données.
Décompressez la base de
données MS Access
%TOMCAT_HOME%\webapps\ecom\WEB-INF\database\factcmd.mdb.zip
Ouvrez ODBC dans le panneau
de configuration de Windows
Dans la partie DNS
utilisateur, Ajoutez la source OBDC avec les paramètres suivants :
Chemin
de la base de données :
%TOMCAT_HOME%\webapps\ecom\WEB-INF\database\factcmd.mdb
Nom
de la source : ECOM
Nom
de connection : admin
Mot
de Passe : MESSI
Testez ensuite la JSP sql.jsp suivante http://localhost:8080/ecom/sql/sql.jsp
<HTML><HEAD><TITLE>JSP
SQL</TITLE>
<%@ page import="java.sql.*" %>
</HEAD><BODY>
<H1>Liste des
articles Ecom</H1>
<HR>
<%
String
driver="sun.jdbc.odbc.JdbcOdbcDriver";
String
dburl="jdbc:odbc:ECOM"; // quand la source ODBC s'appelle ECOM
String
dbusername="admin";
String
dbpassword="nimda";
String
sqlstatement= "SELECT * from Article";
Class.forName(driver);
Connection
cnx = DriverManager.getConnection(dburl,dbusername,dbpassword) ;
PreparedStatement
stmt = cnx.prepareStatement(sqlstatement);
if
(stmt.execute()) {
ResultSet
rs = stmt.getResultSet();
ResultSetMetaData
rsmd = rs.getMetaData();
int
numcols = rsmd.getColumnCount();
%><TABLE
BORDER="1"><TR><%
for
(int i = 1; i <= numcols; i++){
out.println("<TH>" +
rsmd.getColumnLabel(i));
}
while(rs.next())
{
%><TR><%
for(int i = 1; i <= numcols; i++) {
Object obj = rs.getObject(i);
if (obj != null){
out.println("<TD>"+obj.toString());
} else {
out.println("<TD>");
}
}
}
%></TABLE><%
rs.close();
} else {
out.println("No
Row<BR>");
}
cnx.close();
%>
<HR>
</BODY>
</HTML>
Ajoutez manuellement un article dans la base factcmd.mdb
Retestez la JSP http://localhost:8080/ecom/sql/sql.jsp
Modifiez la JSP sql.jsp pour qu’elle prenne en paramêtre la requête SQL à exécuter (au lieu de SELECT * FROM ARTICLE). Ce paramêtre devra être nommé sqlstatement
Retestez la JSP http://localhost:8080/ecom/sql/sql.jsp
Puis avec la JSP http://localhost:8080/ecom/sql/sql.htm
Testez ensuite la JSP xsql.jsp http://localhost:8080/ecom/sql/xsql.htm qui retourne un document XML.
Créez les JSP nécessaires à
votre application de prise de commande
L’application php_chap
présente dans les exemples est une application de Tchatche écrite en PHP.
Portez cette application vers
les JSP (jsp_chat) en réutilisant la même base de données.
Université
Joseph Fourier |
Année
Universitaire 2001-2002 Technologies
du Web |
Concepteur : Didier DONSEZ Didier.Donsez@imag.fr
But : Configuration
d’Apache et de divers modules
Durée : 2
heures (gérez votre temps !)
Documents http://www-adele.imag.fr/~donsez/cours#web
Recommandations : Tester le fonctionnement de TomCat avec
Internet Explorer 5 et Netscape
Logiciels : J2SE 1.2+, Apache Server, Jserv, mod_php, TomCat, MS Access, Internet Explorer 5, Netscape Communicator
Installez Apache Server sur
votre machine
Configurez le serveur pour
qu’il puisse servir de Proxy
Testez la fonction de proxy
Installez le module mod_php
sur votre machine
Installez et testez
l’application php_chap présente dans les exemples
Installez Apache Server et le
module mod_jserv sur votre machine
Configurez pour que TomCat
soit le moteur de servlet de Jserv
TesteZ les applications précédents (perso,ecomm).
Installez le module mod_ssl
pour Apache Server sur votre machine. SSL/TLS permet de sécuriser (par
chiffrage) la connexion HTTP(S) entre le navigateur et le serveur Apache
Testez la liaison sécurisée
pour l’application ecom (https://localhost/ecom)
et chat (https://localhost/chat)
Installez HTDig sur votre
machine (HTDig est un moteur d’indexation de documents)
Configurez le pour qu’il
indexe les documents servis par Apache.