Faculté I&C, Claude Petitpierre, André Maurer 1 JSON Templates json.org (fin de la page: json-template.js)

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

PL/SQL : Le Langage PL/SQL est une extension du SQL, qui offre
Participez dès aujourdhui au répertoire des SSII sur technologies Microsoft Guide pour la mise à jour du profil Société pour être visible sur
Transformation de documents XML
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Le mécanisme des exceptions
le langage les éléments
C.
Mise en œuvre d’un programme
Domaines nominaux XSLT
Outils de développements
Objectifs Présentation et utilisation du langage PERL
Introduction : Compilation et Traduction
La configuration Apache 2.2 Lhébergement virtuel.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données Javascript – SQL - LemanOS.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Enregistrement d’un document
Principes de programmation (suite)
Faculté I&C, Claude Petitpierre, André Maurer 1 Héritage par prototype Héritage dattributs ou de méthodes Héritage de constructeurs.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Faculté I&C, Claude Petitpierre, André Maurer What is this ? (Quest ce que this ?)
Faculté I&C, Claude Petitpierre, André Maurer Les objets Introduction.
Faculté I&C, Claude Petitpierre, André Maurer setTimeout ( nomDeFonction, 1000 ) setTimeout ( instructions, 1000 ) setTimeout ( nomDeFonction(), 1000 )
Faculté I&C, Claude Petitpierre, André Maurer Evénements en Javascript prototype.js.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Faculté I&C, Claude Petitpierre, André Maurer 1 JavaCC Java compilers compiler (version générant du Javascript)
XSLT Langage de transformation darbre par Yves Bekkers.
Framework Play 2.0 Démonstration du proof of concept
Faculté I&C, Claude Petitpierre, André Maurer Scalable vector graphics SVG (documentation en français – voir menu.
Faculté I&C, Claude Petitpierre, André Maurer Gestion des fichiers de LemanOS Ne fonctionne que sous LemanOS. On peut voir les fichiers créés dans ce système.
Faculté I&C, Claude Petitpierre, André Maurer Le parallélisme Introduction.
Faculté I&C, Claude Petitpierre, André Maurer JavaCC Java compilers compiler (version générant du Javascript)
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Animateur : Med HAIJOUBI
FM Global TouchPoints
2.1 - Historique Chapitre 2 : Introduction au langage C++
Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet.
Faculté I&C, Claude Petitpierre, André Maurer Scalable vector graphics SVG (documentation en français – voir menu.
Réaliser par : Moh Fakhri Slama
Autres éléments du langage
Créer des packages.
Lancement de Microsoft Word
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
S'initier au HTML et aux feuilles de style CSS Cours 5.
IUT SRC Année 2004/2005Antonio Capobianco 1 HTML>Formater du texte>Les titres Définir les titres HTML distingue 6 niveaux de titre : Titre N°1 Titre N°2.
Cours LCS N°4 Présenté par Mr: LALLALI
Asynchronous JavaScript And XML AJAX C. Petitpierre
Quattor : Opérations Courantes - G. Philippon/M. Jouvin4-5/2/2009Quattor : Opérations Courantes - G. Philippon Opérations courantes.
S'initier au HTML et aux feuilles de style CSS Cours 5.
 Formulaires HTML : traiter les entrées utilisateur
6ième Classe (Mercredi, 17 novembre) CSI2572
IUT SRC Année 2004/2005Antonio Capobianco 1 HTML>Les tableaux>Créer des tableaux Intérêt : Les tableaux en HTML peuvent servir à : - présenter/organiser.
Permet de simplifier la maintenance d’un site
Générateur d’applications WEB de gestion de données Menus et aide en ligne.
Faculté I&C, Claude Petitpierre, André Maurer Exercice sur les bases de données Quelques rappels et conseils (voir Aides > Accès à la base de données)
Guide d’utilisation du Formulaire DE DEMANDE avq-avd Avril 2015
Modules créés au moyen d’objets C. Petitpierre. Objets construits sans constructeurs ( en Java on a introduit la réflexion pour cela ) var obj1 = { }
Comprendre le SGBDR Microsoft Access – partie 2
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
CPI/BTS 2 Programmation Web Fonctions & Includes Prog Web CPI/BTS2 – M. Dravet – 02/11/2003 Dernière modification: 02/11/2003.
Deug 11 Systèmes d ’Information, cours 3b Michel de Rougemont Université Paris II Styles et édition.
Scripts et fonctions Instructions de contrôle
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
D é veloppement de sites web statiques Par DRISS AIT EL HADJ Par DRISS AIT EL HADJ Avril 2012.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
DreamWeaver Séance 2 HMIDA Ahmed A2008. Plan 1.Calques 2.CSS 3.Modèles 4.Formulaires 5.Comportements 6.Mise en ligne.
Dreamweaver le retour Avec Les Formulaires Les Calques
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
Titre Page 1. Page 2.
Xxx zzz.
Transcription de la présentation:

Faculté I&C, Claude Petitpierre, André Maurer 1 JSON Templates json.org (fin de la page: json-template.js) ducing-JSON-Template.html ducing-JSON-Template.html

Faculté I&C, Claude Petitpierre, André Maurer 2 Principe du générateur par squelette

Faculté I&C, Claude Petitpierre, André Maurer 3 Création d'une table ( principe ) Nom de l'élève Matiere Nom 5.5 Répéter 2 x Répéter 2 x (3 x) Répéter 3 x (avec des paramètres différents)

Faculté I&C, Claude Petitpierre, André Maurer 4 Génération de la page ( seulement l'en-tête ) Titre {.repeated section entete} {matiere} {.end} Nom 5.5 jsontemplate.js { entete: [ {matiere: "physique"}, {matiere: "histoire"}, {matiere: "grec"} ] } Fichier complet avec remplacements Template Clés

Faculté I&C, Claude Petitpierre, André Maurer 5 Répétitions récursives Eleve {matiere} {nom} {n} {.repeated section col} {.end} {.repeated section ligne} {.repeated section note} {.end} {.end}

Faculté I&C, Claude Petitpierre, André Maurer 6 {Eleve} {.repeated section col} {matiere} {.end} {.repeated section ligne} {nom} {.repeated section note} {nb} {.end} {.end} Clés { Eleve:"Nom de l'élève", col:[ { matiere:"Epreuve 1"}, {matiere:"Epreuve 2"}, {matiere:"Epreuve 3"}], ligne:[ { nom:"Hans", note:[{nb:4},{nb:5},{nb:6} ] }, { nom:"Moritz", note:[{nb:5},{nb:5},{nb:4} ] } ] } Template

Faculté I&C, Claude Petitpierre, André Maurer 7 x = y = try { t = jsontemplate.Template( x ); s = t.expand( y ) } catch (e) { alert(e.message) } Compilation ( sur la page ou avant le chargement ) template clés

Faculté I&C, Claude Petitpierre, André Maurer 8 Commandes principales template {.section sName} {.end} {.section soName} {.or}... {#si soName pas défini} {.end} {.repeated section rName} {a} {.end} {.section a.b} {.end} objet { sName: "xxx", soName: "yyy", rName: [ {a:1}, {a:2} ] a: {b: "xx"} } # commentaire

Faculté I&C, Claude Petitpierre, André Maurer 9 Curseur template {.section rsName} {.end} {.section rsName} {.repeated {name} représente le nom du niveau englobant. Ce signe est appelé ici curseur. Si le nom de la section n'apparaît pas parmi les clés, elle n'est simplement pas générée. S'il n'y avait pas de section dans l'exemple 1 et pas de définition de rsName une erreur serait produite. objet { // exemple 1 rsName: "zzz" } { // exemple 2 rsName: [ {name:"vv"}, {name: "w"} ] }

Faculté I&C, Claude Petitpierre, André Maurer 10 Autres commandes {.meta-left} {.meta-right} // mettre un espace après ces instructions // sinon, elles ne provoquent pas de retour de ligne remplace les { remplace les }

Faculté I&C, Claude Petitpierre, André Maurer 11 Quelques exemples d'utilisations Structure pour un didacticiel

Faculté I&C, Claude Petitpierre, André Maurer 12 Calcul de moyenne dans le premier exemple ( première manière ) var keys = { Eleve:"Nom de l'élève", col:[ {matiere:"Epreuve 1"}, {matiere:"Epreuve 2"}, {matiere:"Epreuve 3"}, {matiere:"moyenne"}], ligne:[ {nom:"Hans", notes: [ {nb:4}, {nb:5}, {nb:6} ] }, {nom:"Moritz", notes: [ {nb:5}, {nb:5}, {nb:4} ] } ] } for (var i=0; i<keys.ligne.length;i++) { // calcul sur l'objet terminé var m = 0 for (var j=0; j<keys.ligne[i].notes.length;j++) { m += keys.ligne[i].notes[j].nb } keys.ligne[i].moyenne = new Number(m / keys.ligne[i].notes.length).toFixed(2) }

Faculté I&C, Claude Petitpierre, André Maurer 13 Calcul de moyenne dans l'objet function f() { // retourne {note: [ {nb:4}, {nb:5}, {nb:6} ], moyenne: 5 } var o = {note:[]} var v = 0 for (var i=0; i<arguments.length;i++) { o.note[i] = {nb:arguments[i]} v += arguments[i] } o.moyenne = new Number(v/arguments.length).toFixed(2) return o } var keys = {Eleve:"Nom de l'élève", col:[ {matiere:"Epreuve 1"}, {matiere:"Epreuve 2"}, {matiere:"Epreuve 3"}, {matiere:"moyenne"}], ligne:[ {nom:"Hans", notes: f(4,5,6) }, {nom:"Moritz", notes: f(5,5,4) } ] }

Faculté I&C, Claude Petitpierre, André Maurer 14 Pages avec des liens 1) Page d'essai {version} Accueil Précédent Suivant Comment construire des pages avec des liens sur la précédente et la suivante. Utile pour un didacticiel.

Faculté I&C, Claude Petitpierre, André Maurer 15 Créations de plusieurs pages avec liens ( template ) {index}) Page d'essai (version {version}) Accueil {.section precedent} Précédent {.end}{.section suivant} Suivant {.end}

Faculté I&C, Claude Petitpierre, André Maurer 16 Créations de plusieurs pages avec liens ( clés ) var i = 0 function index() { // index dynamique i++ return i } var keys = [ // clés crées dynamiquement, un objet par page {index:index(), titre:("Page"+i), suivant: i+1)}}, {index:index(), titre:("Page"+i), precedent: i-1)}, suivant: i+1)}, {index:index(), titre:("Page"+i), precedent: i-1)}, suivant: i+1)}, {index:index(), titre:("Page"+i), precedent: i-1)} ] var d = new Date() for (var i=0; i<keys.length;i++) { // Retouche des clés keys[i].version = d.getDate()+"."+(d.getMonth()+1)+"."+(d.getYear()+1900) }

Faculté I&C, Claude Petitpierre, André Maurer 17 Créations de plusieurs pages avec liens ( génération des fichiers ) try { for (var j=0; j<keys.length;i++) { t = jsontemplate.Template(inputTemplate); s = t.expand( keys [j]) File.write(location+"Pages/Page"+j+".html"], s) } } catch (e) {... }

Faculté I&C, Claude Petitpierre, André Maurer 18 Table de base de données ( Préparation en ligne )

Faculté I&C, Claude Petitpierre, André Maurer 19 Gestion de la query var s try { var q try { q = database.query("select * from membres") } catch (e) { alert(e+"\n"+database.readyQuery) } var t = jsontemplate.Template(inputTemplate); s = t.expand( {liste:q} ) // la réponse de la query est // compatible avec json-template ! } catch (e) { alert(e.message) } document.getElementById('voir').innerHTML = s

Faculté I&C, Claude Petitpierre, André Maurer 20 Template pour une table de BD var inputTemplate = ' \n' +' Prénom Nom No postal ' +'{.repeated section liste}' +' \n' +' {prenom} \n' +' {nom} \n' +' {.section \n' +' \n' +'{.end}' +' \n' // si no_postal n'existe pas toujours