Vous n'êtes pas connecté. Connexion
|
|
Technologies Web M1 Miage 2019-2020De $1IntroductionNous n'avons que trois cours et trois séances de TP cette année. C'est peu. Nous allons donc essayer de faire une introduction au technologies front-end et back end émergentes. Séance 1: Web Services RESTFUL et single page webappsSupports de coursLivre : le livre ci-dessous est optionnel, il contient de nombreuses informations sur VueJS que nous n'allons pas avoir le temps de voir pendant le cours.
Live coding: back end RESTFUL et clients légers. Exemples fait en cours (liste de restaurants, avec ajout et suppression):
TP 1 : Exercices avec VueJS, Firebase et WebServices RESTFULPartie 1 : Faire fonctionner l'exemple VueJS vu en classe, mais avec des fichiers et une table HTMLCeci est le dernier exemple vu en classe dans JsBin: https://jsbin.com/jiqowib/edit?html,js,output Ici vous trouverez le fichier exo1_vueJS_table.zip qui contient le même exemple mais fonctionnant avec des fichiers. Dezippez-le et utilisez un serveur Web pour ouvrir le fichier index.html. Je vous suggère d'utiliser un serveur ultra léger comme Web Server For Chrome (extension pour Google Chrome), ou bien si vous avez déjà nodeJS installé, faites "npm install -g http-server" et lancez dans la ligne de commande, une fois dans le répertoire de votre petit projet, la commande "http-server". Travail à faire :
CORRECTION FAITE EN CLASSE (ne pas regarder avant d'avoir fini): Partie 2 : utilisation d'une base de données synchronisée dans le cloud (FireBase)ETAPE 1 : on va créer une base sur FireBase
ETAPE 2 : ajouter le support pour FireBase à votre application Si vous aviez fait l'exercice 1 avec jsBin, voici ici une version avec des fichiers, que je vous conseille de récupérer: exo1_vueJS_table_corrige.zip On va donc utiliser FireBase mais aussi une librairie spéciale pour utiliser FireBase avec VueJS: vue-fire (documentation sur https://github.com/vuejs/vuefire). Pour cela vous allez ajouter ces lignes à votre page HTML (dans le <head>...</head>, avant votre script à vous (script.js) : Mettez-les AVANT l'inclusion de votre fichier script.js !!! Ce dernier utilise des variables définies dans ces deux fichiers.
Ensuite, dans le fichier script.js, vous allez ajouter ces lignes (configuration de firebase) : pensez à mettre entre parenthèse une copie de la valeur de la BD que vous aurez créée :
window.onload = init;
// FIREBASE INIT
var firebaseApp = firebase.initializeApp(
// ICI COPIER LA VALEUR DE LA VARIABLE CONFIG DE FIREBASE (A PRENDRE SUR LE SITE DE VOTRE BD)
);
var db = firebaseApp.database();
var restaurantsRef = db.ref('restaurants');
Et enfin, voici le nouveau code de la vue :
function init() {
new Vue({
el: "#app",
data: {
nom: "",
cuisine:""
},
// from vue-firebase https://github.com/vuejs/vuefire
firebase: {
restaurants: restaurantsRef
},
methods: {
supprimerRestaurant: function (r) {
//this.restaurants.splice(index, 1);
// See documentation https://github.com/vuejs/vuefire
// each elem of the array has a .key property generated by vue-fire
restaurantsRef.child(r['.key']).remove();
},
ajouterRestaurant: function () {
let nouveauRestaurant = {
nom:this.nom,
cuisine:this.cuisine,
id:_.uniqueId("restaurant_")
}
restaurantsRef.push(nouveauRestaurant);
// on remet à zéro les champs
this.nom = "";
this.cuisine = "";
}
}
});
Notez l'apparition d'une propriété "firebase" dans la l'objet passé en paramètre à la Vue. On travaillera dans le template HTML avec la propriété/modèle "restaurants" et dans le code JS sur la variable restaurantsRef qui correspond à la BD distance. Voir documentation de vue-fire pour plus de détails : https://github.com/vuejs/vuefire ETAPE 3 : testez cette version en ouvrant :
Partie 3 : installation de NodeJS et MongoDBETAPE 1 : installation de NodeJS Allez sur le site https://nodejs.org et installez la version "recommended for most users". Si tout se passe bien, après l'installation, ouvrez une fenêtre de terminal et tapez la commande "node -v". Ca doit afficher la version de nodeJS que vous venez d'installer. ETAPE 2 : installer MongoDB sur votre machine Suivez les installations propres à votre système d'exploitation situées sur cette page du site officiel. Ne choisissez pas l'installation manuelle. Une fois installé lancez la commande "mongod" en ligne de commande. Si le daemon mongoDB ne se lance pas, regardez les erreurs. Sur mon Mac j'ai fait:
ETAPE 3 : - Créer et peupler une collection par défaut (avec un dataset issu du tutorial MongoDB officiel)
ETAPE 4 : Installer un outil d'administration sympa Je vous recommande fortement MongoChef, un produit commercial mais gratuit pour utilisation non commerciale. Le télécharger sur: https://studio3t.com/ ETAPE 5 : Ouvrir 3T STudio et voir la collection que l'on vient d'importer
Quelques screenshots:
ETAPE 6: test de WebServices RESTful sur les restaurants Récuperez ce projet serveurNodeMongoRESTful.zip (le code sera expliqué lors du cours No 2), qui implémente avec NodeJS des WebServices RESTful pour gérer les restaurants situés dans la base MongoDB que nous venons de voir. Une fois dezippé allez dans le répertoire obtenu et exécutez les commandes suivantes :
ETAPE 7: branchement de votre application sur ces Web Services
TRAVAIL A FAIRE POUR LA SEMAINE PROCHAINEJe ferai passer quelques personnes au tableau pour répondre à quelques questions...
|
Powered by MindTouch Deki Open Source Edition v.8.08 |