Développement Web côté client - TD1

Suivre les instructions ci-dessous pour déployer votre projet sur le serveur obiwan. Le nom_utilisateur est dans le format e+votre_numéro_étudiant. Le mot de passe est votre MDP sur l'ENT.
  1. On suppose que le projet web est dans le dossier projetweb trouvé dans le dossier DWC. Dans le dossier projetweb, vous avez le fichier index.html et les autres dossiers (css, img, script,...) de votre projet
  2. Aller dans le dossier DWC : cd [chemin vers le dossier DWC]
  3. Modifier le droit d'access de tous les fichiers dans le dossier projetweb : chmod -R 755 projetweb
  4. Créer une archive du dossier projetweb : tar -czvf projetweb.tar.gz projetweb
  5. Copier l'archive dans le dossier public_html au serveur scp projetweb.tar.gz nom_utilisateur@obiwan.univ-brest.fr:public_html
  6. Connecter au serveur : ssh nom_utilisateur@obiwan.univ-brest.fr
  7. Aller dans le dossier public_html : cd public_html
  8. Vérifier que l'archive projetweb.tar.gz est dans public_html : ls
  9. Extrait le fichier : tar --strip-components 1 -xvf projetweb.tar.gz
  10. Vérifier que le projet est bien extrait dans le dossier public_html
  11. Visualiser la page d'accueil (index.html) de votre projet web dans un navigateur : https://obiwan.univ-brest.fr/~nom_utilisateur/
  12. Quitter la session SSH sur obiwan : exit
Suivre les instructions ci-dessous pour réaliser l'affichage d'une BDD sample en XML.
  1. Télécharger et extrait le fichier DWC_XML_VE.zip (Ce ficher est placé en dehors du dossier projetweb)
  2. On va commencer par travailler avec 2 fichiers dwc_xml_ve.html et bdd_xml.js. Ils se trouvent dans le dossier DWC_XML_VE.
  3. L'objectif est de récupérer le fichier book_catalog.xml (https://phobos.univ-brest.fr/media/edu/kx07kar7/book_catalog.xml) et l'afficher dans un tableau
  4. Dans le code HTML, on a un button "My book collection" et un tableau avec id="data"
  5. Button "My book collection" appele la fonction loadXMLDoc() lorsque l'utilisateur click sur ce button
    <button type="button" onclick="loadXMLDoc()">My book collection</button>
  6. Dans votre code JS, ajouter la fonction loadXMLDoc(). Rappel : voir cours 1 pour explication des éléments : onreadystatechange, readyState, status, et XMLHttpRequest.
    
        let xmlhttp = new XMLHttpRequest();
        function loadXMLDoc() {
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    fetchData();
                }
            };
            xmlhttp.open("GET", "https://phobos.univ-brest.fr/media/edu/kx07kar7/book_catalog.xml", true);
            xmlhttp.send();
        }
    
    
  7. Dans votre code JS, ajouter la fonction fetchData(). Dans cette fonction, la boucle for est utilisée pour créer le contenu HTML du tableau data. (Rappel : utilisation du propriété innerHTML dans cours 1 et 2)
    
        function fetchData() {
            let i;
            let xmlDoc = xmlhttp.responseXML;
            let table = "<tr><th>Book</th><th>Authors</th></tr>";
            let x = xmlDoc.getElementsByTagName("BOOK");
            for (i = 0; i < x.length; i++) {
                table += "<tr><td>" +
                x[i].getElementsByTagName("TITLE")[0].textContent +
                "</td><td>" +
                x[i].getElementsByTagName("AUTHOR")[0].textContent +
                "</td>" +            
                "</tr>";
            }
            document.getElementById("data").innerHTML = table;
        }     
    
    
  8. Adapter le code HTML/CS dans le dossier projetweb pour afficher votre BDD.