XML Introduction à DOM

Dimension: px
Commencer à balayer dès la page:

Download "XML Introduction à DOM"

Transcription

1 XML Introduction à DOM Document Object Model

2 Généralités Définition Le modèle objet de document de XML (XML DOM) définit une manière standard pour accéder et manipuler des documents XML Il présente un document de XML sous la forme d un un arbre de nœuds, avec les éléments, les attributs, et le texte définis tous comme des nœuds Son objectif Mettre le document XML en mémoire sous une forme objet Traduire les éléments en objets : attributs et méthodes Permettre ensuite à toute application de l utiliser de manière uniforme à travers les méthodes définies sur ses objets 2

3 Généralités Exemple : books.xml <bookstore> <book category="web"> <book category="cooking"> <title lang="en">xquery Kick Start</title> <title lang="en">everyday <author>james McGovern</author> <author>per Bothner</author> Italian</title> <author>kurt Cagle</author> <author>giada De Laurentiis <author>james Linn</author> </author> <author>vaidyanathan Nagarajan</author> <year>2005</year> <year>2003</year> <price>30.00</price> <price>49.99</price> </book> </book> <book category="web"> <book category="children"> <title lang="en">learning XML</title> <title lang="en">harry Potter</title> <author>erik T. Ray</author> <author>j K. Rowling</author> <year>2003</year> <year>2005</year> <price>39.95</price> </book> <price>29.99</price> </bookstore> </book> 3

4 Généralités L arbre correspondant 4

5 L arbre DOM Qu est ce qu un arbre de nœuds? Un arbre de nœuds représente un document XML par un ensemble de nœuds et de relations entre eux Dans un arbre de nœuds, le nœud supérieur s'appelle la racine Chaque nœud, excepté la racine, a exactement un nœud parent Un nœud peut avoir tout nombre d'enfants Une feuille est un nœud sans enfants Des enfants sont des nœuds avec le même parent 5

6 L arbre DOM Le document books.xml peut avoir l arbre relationnel suivant : 6

7 Le document XML Chargement : les opérations Créer d abord un objet de type DOMDocument Dim xmldoc = New DOMDocument Une fois créé, on peut le charger, le parser, etc. Charger du XML dans le DOM xmlldoc.load(" xmldoc.load("c:\temp\reports.xml") Charger une chaîne XML xmldoc.loadxml("<customer><first_name>joe</first_name> <last_name>smith</last_name></customer>") Sauvegarder un fichier XML xmldoc.save("c:\temp\reports.xml") 7

8 Le document XML Chargement suivant le navigateur Version Internet Explorer Insertion dans le code JavaScript <script type="text/javascript"> var xmldoc=new ActiveXObject("Microsoft.XMLDOM") xmldoc.async="false" // indique que tout doit être chargé en mémoire avant de poursuivre l exécution du script xmldoc.load("fichier.xml"); Document.loadXML('<?xml version="1.0"?><library/>'); //loadxml() permet de charger un string qui contient du code XML </script> A partir de là, on peut utiliser les nœuds comme des objets à partir de JavaScript 8

9 Chargement du document XML Version Mozilla Le code JavaScript pour la création <script type="text/javascript"> var xmldoc = document.implementation.createdocument("","",null); xmldoc.load("note.xml"); </script> Le fichier complet : test du navigateur Lecture-IE-Moz.html 9

10 Chargement du document XML Si le fichier est le HTML courant Il n est pas nécessaire de le charger On peut utiliser directement la variable document qui le désigne Exemple : <script type="text/javascript"> <!-- document.write("coucou"); --> </script> <body> </body> </html> 10

11 Le nœud Chaque élément XML est appelé nœud Il a une définition Par ex : documentelement représente la racine Des propriétés parentnode, childnodes, firstchild, lastchild, previoussibling et nextsibling permettent de retourner respectivement le père, les enfants, le premier enfant, le dernier enfant, le frère précédent et le frère suivant du nœud courant Des méthodes lui sont associées, permettant de : créer (createnode,...), modifier (replacechild,...), supprimer (remove,...) ou d'extraire des données (get,...) de n'importe quel élément ou contenu d'un document XML 11

12 Accéder aux nœuds Accès direct getelementbyid permet de sélectionner un élément d'identifiant donné dans une page getelementsbyname permet de sélectionner les éléments portant un nom donné dans une page ; mais cette méthode, survivance de Netscape, n'est pas supportée par IE getelementsbytagname permet de sélectionner les éléments portant un nom de balise donné dans une page getattribute(nom_d_attribut) permet de sélectionner un attribut particulier d'un élément déterminé 12

13 Accéder aux nœuds Exemple getelementsbytagname.html Ici, on cherche tous les éléments de nom «book» et on imprime leur catégorie xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); for (i=0;i<x.length;i++) { } document.write(x[i].getattribute('category')); document.write("<br />"); Résultat COOKING CHILDREN WEB WEB 13

14 Accéder aux nœuds Exemple getnameditem.html Ici, on fait la même chose que précédemment, mais on passe par les attributs var x=xmldoc.getelementsbytagname("book"); for(i=0;i<x.length;i++) { } var attlist=x.item(i).attributes; var att=attlist.getnameditem("category"); document.write(att.value + "<br />") Résultat COOKING CHILDREN WEB WEB 14

15 Accéder aux nœuds Le document est le document HTML Exemple : acces-direct.html Dans cet exemple, on accède directement aux éléments du document HTML qui se trouvent entre <body> et </body> On accède aux tags par leur nom, ID et attributs Aux composants des formulaires Aux images 15

16 Accéder aux nœuds Exemple 2 : acces-direct.html function init(){ info=document.getelementbyid("zonei nfo");} function demo_getelementbyid(){ x=document.getelementbyid("p12"); alert(x.innerhtml);} function demo_getelementsbyname(){ collection=document.getelementsbyn ame("unpar"); for (i=0;i<collection.length;i++){ alert("contenu de l'élément de nom unpar numéro "+i+" :\n"+collection[i].innerhtml); } }. <body onload="init();"> <h1>exemples d'accès direct aux éléments</h1> <h2>premier titre h2</h2> <p>un premier paragraphe.</p> <p id="p12">un deuxième <i>paragraphe</i>, portant l'identifiant <code>p12</code>.</p> <p>un troisième paragraphe.</p> <h2>deuxième <small>titre</small> h2</h2> <p>un quatrième paragraphe.</p> <p name="unpar">un cinquième <b>paragraphe</b>, portant le name <code>unpar</code>.</p> <p name="unpar">un sixième paragraphe, portant le name <code>unpar</code>.</p> <p>un septième paragraphe.</p> <hr> 16

17 Accéder aux nœuds acces-direct.html function demo_getelementsbytagname() {collection=document.getelementsbyt agname("h2"); for (i=0;i<collection.length;i++){ alert("contenu de l'élément balisé h2 numéro "+i+" :\n"+collection[i].innerhtml); } } function information(message){ info.innerhtml=message;} function choix_demo(){ quelledemo=document.getelementbyi d("select1").value; switch (quelledemo){ case "id": information("démonstration de la méthode <code>getelementbyid</code> (IE et Netscape).");demo_getElementById(); break; <select name="demo" id="select1"> <option value="id">démo getelementbyid</option> <option value="name">démo getelementsbyname</option> <option value="tagname">démo getelementsbytagname</option> </select> <button type="submit" onclick="choix_demo();">ok</but ton> <p id="zoneinfo"> </p> </body> </html> 17

18 Accéder aux nœuds Exercice Exo6.html 18

19 Informations sur les nœuds Informations sur la nature d'un nœud Deux propriétés permettent d'obtenir des informations sur la nature d'un nœud spécifié : nodename renvoie le nom du nœud courant Le nodename d'un nœud élément est le nom de la balise Le nodename d'un noeud attribut est le nom de l attribut Le nom d'un nœud texte est toujours #texte Le nom du nœud document est toujours #document nodetype renvoie le type du nœud 19

20

21 Informations sur les nœuds Valeur du nodetype 21

22 Informations sur les nœuds nodetype - nodename - nodevalue 22

23 Informations sur les nœuds nodename-nodevalue : nodename-value.html xmldoc=loadxmldoc("books.xml"); document.write("nodename: " + xmldoc.nodename); document.write(" (value: " + xmldoc.childnodes[0].nodevalue + ")<br />"); var x=xmldoc.documentelement; document.write("nodename: " + x.nodename); document.write(" (value: " + x.childnodes[0].nodevalue + ")<br />"); var y=xmldoc.documentelement.childnodes; for (i=0;i<y.length;i++) { document.write("nodename: " + y[i].nodename) document.write(" (value: " + y[i].childnodes[0].nodevalue + ")<br />") 23

24 Informations sur les nœuds nodename-value.html Nodename: #document (value: version="1.0" encoding="iso ") Nodename: bookstore (value: null) Nodename: book (value: null) Nodename: title (value: Everyday Italian) Nodename: author (value: Giada De Laurentiis) Nodename: year (value: 2005) Nodename: price (value: 30.00) Nodename: book (value: null) Nodename: title (value: Harry Potter) Nodename: author (value: J K. Rowling) Nodename: year (value: 2005) Nodename: price (value: 29.99) Nodename: book (value: null) Nodename: title (value: XQuery Kick Start) Nodename: author (value: James McGovern) Nodename: author (value: Per Bothner) Nodename: author (value: Kurt Cagle) Nodename: author (value: James Linn) Nodename: author (value: Vaidyanathan Nagarajan) Nodename: year (value: 2003) Nodename: price (value: 49.99) Nodename: book (value: null) Nodename: title (value: Learning XML) Nodename: author (value: Erik T. Ray) Nodename: year (value: 2003) Nodename: price (value: 39.95) 24

25 Informations sur les nœuds nodename-nodetype : nodename-type.html xmldoc=loadxmldoc("books.xml"); document.write("nodename: " + xmldoc.nodename); document.write(" (nodetype: " + xmldoc.nodetype + ")<br />"); var x=xmldoc.documentelement; document.write("nodename: " + x.nodename); document.write(" (nodetype: " + x.nodetype + ")<br />"); var y=x.childnodes; for (i=0;i<y.length;i++) { document.write("nodename: " + y[i].nodename) document.write(" (nodetype: " + y[i].nodetype + ")<br />") 25

26 Informations sur les nœuds nodename-type.html Nodename: #document (nodetype: 9) Nodename: bookstore (nodetype: 1) Nodename: book (nodetype: 1) Nodename: title (nodetype: 1) Nodename: author (nodetype: 1) Nodename: year (nodetype: 1) Nodename: price (nodetype: 1) Nodename: book (nodetype: 1) Nodename: title (nodetype: 1) Nodename: author (nodetype: 1) Nodename: year (nodetype: 1) Nodename: price (nodetype: 1) Nodename: book (nodetype: 1) Nodename: title (nodetype: 1) Nodename: author (nodetype: 1) Nodename: author (nodetype: 1) Nodename: author (nodetype: 1) Nodename: author (nodetype: 1) Nodename: author (nodetype: 1) Nodename: year (nodetype: 1) Nodename: price (nodetype: 1) Nodename: book (nodetype: 1) Nodename: title (nodetype: 1) Nodename: author (nodetype: 1) Nodename: year (nodetype: 1) Nodename: price (nodetype: 1) 26

27 Listes de nœuds Définition Quand on utilise des propriétés ou méthodes comme childnodes ou getelementsbytagname(), on obtient un objet NodeList Un objet de NodeList représente une liste ordonnée de nœuds Les nœuds dans le NodeList peuvent être consultés par leur numéro d'index (à partir de 0) Remarque Dans un NodeList, les noeuds sont retournés dans l'ordre dans lequel ils sont indiqués dans le XML 27

28 Listes de nœuds En considérant books.xml getelementsbytagname("title") crée une liste de nœuds de éléments <titre> getelementsbytagname("title")[ 0].childNodes[0].nodeValue donnerait comme résultat : Everyday Italian Liste créée 28

29 Listes de nœuds Exemple : chargement-text.html <html> <body> <script type="text/javascript"> var text="<note>" text=text+"<to>tove</to><from>jani</from>" text=text+"<heading>reminder</heading>" text=text+"<body>don't forget me this weekend!</body>" text=text+"</note>" var xmldoc=new ActiveXObject("Microsoft.XMLDOM") xmldoc.async="false" xmldoc.loadxml(text) document.write("the first child element in the text contains: " + xmldoc.documentelement.childnodes(0).text) document.write("<br />") document.write("the second child element in the text contains: " + xmldoc.documentelement.childnodes(1).text) </script> </body> <html> 29

30 Listes de nœuds Soit le document note.xml suivant <?xml version="1.0" encoding="iso "?> <note time="12:03:46"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend! </body> </note> 30

31 Listes de nœuds Affichage des éléments et de leurs contenus textuels : Ecriturenodes.html // xmldoc représente le document et documentelement sa racine xmldoc.load("note.xml"); var x=xmldoc.documentelement; for (i=0;i<x.childnodes.length;i++) //itération sur tous les fils de la racine { document.write(x.childnodes[i].nodename); //imprime le nom du noeud document.write("="); document.write(x.childnodes[i].childnodes[0].nodevalue); //imprime la valeur du noeud document.write("<br />"); } Résultat : to=tove from=jani heading=reminder body=don't forget me this weekend! 31

32 Listes de nœuds Autre façon de faire la même chose : lecture-child.html <html> <body> <script type="text/vbscript"> set xmldoc=createobject("microsoft.xmldom") xmldoc.async="false" xmldoc.load("note.xml") for each x in xmldoc.documentelement.childnodes document.write("<b>" & x.nodename & ":</b> ") //nom document.write(x.text) //valeur document.write("<br />") next </script> </body> </html> 32

33 Listes de nœuds Niveau d un nœud dans la hiérarchie : nodetype.html function ecriture() { var x=xmldoc.documentelement.childnodes; for (i=0;i<x.length;i++) } { document.write(x[i].nodetype); document.write("<br />"); } Résultat

34 Listes de nœuds Test de nodetype : nodetype2.html xmldoc.load("books.xml"); var x=xmldoc.documentelement.childnodes; for (var i=0;i<x.length;i++) { if ((x[i].nodetype!=3)&&(x[i].nodetype!=8)) { //Do not process text nodes or comment nodes document.write(x[i].nodename); document.write("<br />"); } } Résultat book book book book 34

35 Accéder aux nœuds Accès relatif Les méthodes précédentes demandaient de connaître précisément soit l'identifiant, soit le nom exact du nœud cherché Nous allons voir maintenant comment il est possible d'accéder à des collections de nœuds dont on ne connaît pas ces caractéristiques a priori Accès aux attributs Contrairement à la méthode getattribute(), qui permet de retourner la valeur d'un attribut de nom donné, la propriété attributes renvoie à la collection complète des attributs d'un élément Par exemple, si elt désigne l'élément img suivant, cette méthode renverra une liste constituée des nœuds src, alt, width et height (dans cet ordre) <img src="oiseau.gif" alt="un oiseau sur un arbre" width="45" height="60"> 35

36 Accéder aux nœuds Attributes La propriété d'attributs renvoie un NamedNodeMap contenant les attributs du nœud sélectionné Si le nœud choisi n'est pas un élément, cette propriété renvoie null Syntaxe elementnode.attributes Exemple xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("book")[0].attributes; document.write(x.length); Résultat 1 36

37 Accéder aux nœuds GetAttribute() Code: <p id="myid" attr="my attribute value">... <script> var ptag1 = document.getelementbyid('myid'); document.write(ptag1.getattribute('attr') + '<br>\n'); ptag1.setattribute('attr', 'my new attribute value'); document.write(ptag1.getattribute('attr')); </script> Output: my attribute value my new attribute value 37

38 Modification de nœuds Placez un nouvel attribut et une valeur d'attribut SetAttribute() permet de changer la valeur d'un attribut existant, ou de créer une nouvelle valeur d'attribut pour un élément Le code suivant ajoute une nouvelle valeur d'attribut à chaque élément <book> : xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("book"); for(i=0;i<x.length;i++) { x.item(i).setattribute("edition","first"); } 38

39 Modification de nœuds Modification d attribut Une autre manière pour le faire xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newatt; for (i=0;i<x.length;i++) { newatt=xmldoc.createattribute("edition"); newatt.value="first"; x[i].setattributenode(newatt); } 39

40 Modification de nœuds Changer la valeur d un attribut Le code suivant change la valeur de l attribut existant "category" (dans chaque élément <book> ): xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("book"); for(i=0;i<x.length;i++) { x.item(i).setattribute("category","bestseller"); } 40

41 Modification de nœuds Changer la valeur d un item GetNamedItem() peut être utilisée pour changer la valeur d'un item existant Exemple : xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("book"); for(i=0;i<x.length;i++) { var att=x.item(i).attributes.getnameditem("category"); att.value="bestseller"; } 41

42 Suppression de nœuds Suppression d élément RemoveChild() peut être employée pour supprimer un nœud,indiqué L exemple suivant supprimera le dernier élément < book> //check if last child node is an element node function get_lastchild(n) { var x=n.lastchild; while (x.nodetype!=1) { x=x.previoussibling; } return x; } xmldoc=loadxmldoc("books.xml"); var x=xmldoc.documentelement; x.removechild(get_lastchild(x)); 42

43 Suppression de nœuds Suppression du texte d un élément DeleteData() supprime des données d'un nœud texte La méthode a deux paramètres: offset - où commencer à enlever des caractères. La valeur offset commence à zéro Count - combien de caractères à supprimer Le code suivant enlèvera les neuf premiers caractères du premier élément <title> xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("title")[0].childnodes[0]; x.deletedata(0,9); 43

44 Suppression de nœuds Suppression d un attribut RemoveAttribute() sert à enlever l attribut d un élément Le code suivant enlèvera tous les attributs "category" dans chaque élément <book>: xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); for(i=0;i<x.length;i++) { x.item(i).removeattribute('category'); } 44

45 Suppression de nœuds Suppression d un attribut : équivalent au précédent RemoveAttributeNode() sert à enlever l attribut d un élément Le code suivant enlèvera tous les attributs "category" dans chaque élément <book>: xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); for(i=0;i<x.length;i++) { attnode=x.item(i).getattributenode("category") old_att=x.item(i).removeattributenode(attnode); document.write("removed attribute: " + old_att.name + "<br />"); } 45

46 Remplacement de noeuds Remplacement d un nœud dans une liste de nœuds ReplaceChild() Le code suivant crée un nouvel élément <book> qui remplacera le dernier élément <book> : //check if last child node is an element node function get_lastchild(n) { } var x=n.lastchild; while (x.nodetype!=1) { } return x; x=x.previoussibling; 46

47 Remplacement de noeuds Remplacement d un nœud dans une liste de nœuds La suite xmldoc=loadxmldoc("books.xml"); var x=xmldoc.documentelement; //create a book element, title element and a text node var newnode=xmldoc.createelement("book"); var newtitle=xmldoc.createelement("title"); var newtext=xmldoc.createtextnode("a Notebook"); //add the text node to the title node, //and add the title node to the book node newtitle.appendchild(newtext); newnode.appendchild(newtitle); //replace the last node with the new node x.replacechild(newnode,get_lastchild(x)); 47

48 Remplacement de noeuds Remplacement de donnée dans un élément texte replacedata() Paramètres : offset où commencer le remplacement. La valeur Offset commence à 0 length nombre de caractères à remplacer string la chaîne à insérer Le code suivant remplacera les huit premiers caractères du texte des éléments dans le premier élément <title> par "facile": xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname("title")[0].childnodes[0]; x.replacedata(0,8,"easy"); 48

49 Création de nœuds Création d un nœud CreateElement() Le code suivant crée un élément (<edition>), et l'ajoute après le dernier enfant de chaque élément < book >: xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newel; for (i=0;i<x.length;i++) { } newel=xmldoc.createelement('edition'); x[i].appendchild(newel); 49

50 Création de nœuds Création d un attribut de nœud createattribute() Le code suivant crée un attribut "édition" et l'ajoute à tous les éléments <book>: xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newatt; for (i=0;i<x.length;i++) { } newatt=xmldoc.createattribute("edition"); newatt.value="first"; x[i].setattributenode(newatt); 50

51 Création de nœuds Création d un nœud texte CreateTextNode() crée un nouveau nœud texte Le code suivant crée un élément < edition>, avec le texte (' first '), et l'ajoute après le dernier enfant de chaque élément <book> : xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newel,newtext for (i=0;i<x.length;i++) { } newel=xmldoc.createelement('edition'); newtext=xmldoc.createtextnode('first'); newel.appendchild(newtext); x[i].appendchild(newel); 51

52 Création de nœuds Création d une section CDATA createcdatasection() Le code suivant crée une section CDATA et l ajoute après le dernier fils de chaque élément <book> : xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newcdata,newtext; newtext="special Offer & Book Sale"; for (i=0;i<x.length;i++) { newcdata=xmldoc.createcdatasection(newtext); x[i].appendchild(newcdata); } 52

53 Création de nœuds Création d un nœud Comment createcdatasection() Le code suivant crée un élément Comment et l ajoute après le dernier fils de chaque élément <book> : xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newcomment,newtext; newtext="revised September 2006"; for (i=0;i<x.length;i++) { newcomment=xmldoc.createcomment(newtext); x[i].appendchild(newcomment); } 53

54 Ajout de nœuds Ajout d un nœud AppendChild() ajoute un nœud après le dernier enfant d'un nœud spécifique Cette méthode est utile quand la position de l élément supplémentaire n'est pas importante Le code suivant crée un élément (<edition>), et l'ajoute après le dernier enfant de chaque élément de <book>: xmldoc=loadxmldoc("books.xml"); var x=xmldoc.getelementsbytagname('book'); var newel,newtext; for (i=0;i<x.length;i++) { newel=xmldoc.createelement('edition'); newtext=xmldoc.createtextnode('first'); newel.appendchild(newtext); x[i].appendchild(newel); } 54

55 Ajout de nœuds Ajout d un nœud avant insertbefore() insère un élément avant un élément spécifique Cette méthode est utile quand la position de l élément ajouté est importante Le code suivant crée un nouvel élément <book> et l insère avant le dernier élément <book> : //check if last child node is an element node get_lastchild(n) { var x=n.lastchild; while (x.nodetype!=1) { x=x.previoussibling; } return x; } 55

56 Ajout de nœuds Ajout d un nœud avant Suite xmldoc=loadxmldoc("books.xml"); var x=xmldoc.documentelement; var newnode=xmldoc.createelement("book"); var newtitle=xmldoc.createelement("title"); var newtext=xmldoc.createtextnode("a Notebook"); newtitle.appendchild(newtext); newnode.appendchild(newtitle); x.insertbefore(newnode,get_lastchild(x)); 56

57 Accès aux éléments et attributs Exercices Exo14.html Exo15.html 57

58 Accéder aux nœuds Accès aux nœuds-enfants On peut accéder très facilement à la liste des nœuds-enfants d'un élément donné Pour cela, trois propriétés existent elt.childnodes donne la liste de tous les nœuds-enfants de l'élément elt elt.firstchild équivalent à elt.childnodes[0], renvoie le premier nœud-enfant de l'élément elt elt.lastchild renvoie le dernier nœud-enfant de l'élément elt 58

59 Accéder aux nœuds Accès aux nœuds-frères Le nœud courant peut avoir des frères On accède au frère précédent à l'aide de la propriété previoussibling, et au nœud suivant par la propriété nextsibling Accès aux nœuds-ancêtres On peut enfin remonter d'un cran dans la hiérarchie des nœuds avec la propriété parentnode, et revenir à l'élément-racine d'un document (dans le cas d'un document HTML, il s'agit bien sûr de <html> ), avec la propriété documentelement 59

60 Accéder aux nœuds Accès au premier élément : firstchild.html //check if the first node is an element node function get_firstchild(n) { var x=n.firstchild; while (x.nodetype!=1) { x=x.nextsibling; } return x; } xmldoc=load("books.xml"); var y=get_firstchild(xmldoc.documentelement); document.write(y.nodename); Résultat book 60

61 Accéder aux nœuds Accès à l élément précédent : previoussibling.html function get_previoussibling(n) { var x=n.previoussibling; while (x.nodetype!=1) { } x=x.previoussibling; return x; } xmldoc=load("books.xml"); var x=xmldoc.getelementsbytagname("author")[0]; var y=get_previoussibling(x); document.write(y.nodename); Résultat title 61

62 Informations sur les nœuds Informations sur le contenu d'un nœud Deux méthodes renvoient des booléens permettant de déterminer si un nœud donné possède des enfants, et/ou des attributs Ces méthodes, aux noms explicites, sont respectivement haschildnodes() et hasattributes() 62

63 Accéder aux nœuds Exercice Exo7.html 63

64 Clonage de nœuds Copier un nœud CloneNode() crée une copie d'un nœud indiqué Elle a un paramètre (vrai ou faux). Ce paramètre indique si le nœud copié inclut tous les attributs et nœuds enfant du nœud d origine Le code suivant copie le premier nœud <book>, puis ajoute la copie à la fin de la liste de nœud : 64

65 Clonage de nœuds Exemple xmldoc=loadxmldoc("books.xml"); var oldnode = xmldoc.getelementsbytagname('book')[0]; var newnode=oldnode.clonenode(true); xmldoc.documentelement.appendchild(newnode); //Output all titles var y=xmldoc.getelementsbytagname("title"); for (i=0;i<y.length;i++) { } document.write(y[i].childnodes[0].nodevalue); document.write("<br />"); Résultat Everyday Italian Harry Potter XQuery Kick Start Learning XML Everyday Italian 65

66 Résumé Liste des propriétés associées aux nœuds objets 66

67 Résumé Liste des méthodes associées aux nœuds objets 67

68 Résumé Liste des méthodes associées aux nœuds objets (suite) 68

69 Références asp

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

DOM - Document Object Model

DOM - Document Object Model DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et

Plus en détail

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents

Plus en détail

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Gestion de stock pour un magasin

Gestion de stock pour un magasin Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire

Plus en détail

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US Introduction Pourquoi utiliser DEL.ICIO.US? Cet outil permet à plusieurs personnes de partager la même liste de sites favoris et ce sur n importe

Plus en détail

<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0>

<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0> Cahiers GUTenberg GUT LE DOCUMENT OBJECT MODEL (DOM) François Role, Philippe Verdret Cahiers GUTenberg, no 33-34 (1999), p. 155-171. Association

Plus en détail

L'API DOM : Document Object Model

L'API DOM : Document Object Model Ingénierie Documentaire L'API DOM : Document Object Model http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - Introduction au DOM 5 A. Principes du DOM...5 B. L'interface DOM...6

Plus en détail

Master d Informatique Corrigé du partiel novembre 2010

Master d Informatique Corrigé du partiel novembre 2010 Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT Animé par A.COMLAN ADCOSOFT 14/02/2014-15H 1 Programme du webséminaire : Introduction Partie I Optimisation des Balises TITLE et META Partie II Optimisation du

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE Ivan Madjarov NXDB - exist - XQuery IvMad, 2011-2013 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web. Création d une carte heuristique avec Freeplane Version : 1.1.3 Barre de menus Barre d outils Barre des touches de fonctions Espace de travail Barre d icônes Éditeur de notes Freeplane est un logiciel

Plus en détail

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado - RAPPORT AUDIT SEO Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado 17 septembre 2013 Table des matières Optimisation structurelle 2 Optimisation des standards, performances et

Plus en détail

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du

Plus en détail

1. Installation du Module

1. Installation du Module 1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web Manuel d utilisation du module Liste de cadeaux PRO par Alize Web INSTALLER ET CONFIGURER LE MODULE (BACK OFFICE) 2 Réglages des performances 2 Télécharger le module 3 Installer le module 4 Configurer

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech Autour du web Une introduction technique Première partie : HTML Georges-André SILBER Centre de recherche en informatique MINES ParisTech silber@cri.ensmp.fr http://www.cri.ensmp.fr/people/silber/cours/2010/web

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Rapport de stage Nicolas PLAZE Licence Pro A2I. Rapport de Stage LICENCE PRO A2I. Société INFHOTIK. Nicolas PLAZE

Rapport de stage Nicolas PLAZE Licence Pro A2I. Rapport de Stage LICENCE PRO A2I. Société INFHOTIK. Nicolas PLAZE Rapport de Stage LICENCE PRO A2I Société INFHOTIK Nicolas PLAZE Année 2001-2002 1 I. L ENTREPRISE 1. Raison sociale 2. Activité 3. Personnel 4. L offre infhotik hôtel 5. Les projets SOMMAIRE II. OBJECTIFS

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Gestion des références bibliographiques. Comment simplifier la gestion des références bibliographiques?

Gestion des références bibliographiques. Comment simplifier la gestion des références bibliographiques? Gestion des références bibliographiques Comment simplifier la gestion des références bibliographiques? Objectifs de la formation Créer votre base de données personnelle de références bibliographiques.

Plus en détail

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et

Plus en détail

Gestion de références bibliographiques

Gestion de références bibliographiques Mars 2011 Gestion de références bibliographiques Outil pour gérer ses bibliographies personnelles sur le web. Il est intégré à Web of Science (WOS). La version web est une version allégée de EndNote (ne

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Publication dans le Back Office

Publication dans le Back Office Site Web de l association des ingénieurs INSA de Lyon Publication dans le Back Office Note : dans ce guide, l'appellation GI signifie Groupe d'intérêt, et GR Groupe Régional laure Buisset Page 1 17/09/2008

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

BD et XML : Exercices

BD et XML : Exercices BD et XML : Exercices 1 Stockage XML Voici un arbre XML : A B E C F C F C F D C C D D D 1.1 Stockage générique Exercice 1.1.1 : Définissez un schéma de stockage relationnel générique (sans prendre en compte

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

Zope: une plateforme collaborative de développement web open source

Zope: une plateforme collaborative de développement web open source Zope: une plateforme collaborative de développement web open source (Article paru en mai 2001 dans la revue.net Pro et révisé légèrement depuis.) Entre serveur d'applications et système de gestion de contenu,

Plus en détail

Initiation à html et à la création d'un site web

Initiation à html et à la création d'un site web Initiation à html et à la création d'un site web Introduction : Concevoir un site web consiste à définir : - l'emplacement où ce site sera hébergé - à qui ce site s'adresse - le design des pages qui le

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML XML : Extensible Markup Language SGML Une introduction (1) http://kiwi.emse.fr/3a/dn.html Ph. Jaillon / J.J. Girardot J.J. GIRARDOT - EMSE 10/2004 1 Standard Generalized Markup Language Norme ISO-8879

Plus en détail

Sécurité des applications web. Daniel Boteanu

Sécurité des applications web. Daniel Boteanu I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Annexe C Spécification pour les fichiers importés en format XML

Annexe C Spécification pour les fichiers importés en format XML Annexe C Spécification pour les fichiers importés en format XML Format de fichier : Fichier texte du fichier : 1 048 576 octets/caractères (maximum) Convention de dénomination : Le nom recommandé du fichier

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003. Ce document est libre de droit, merci simplement de respecter son auteur. Toutes remarques ou commentaires seront les bienvenues. ATTENTION : La mise à jour par script entre GLPI et Active Directory ne

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

Démarrer avec Ajax et le php: exemple d'application

Démarrer avec Ajax et le php: exemple d'application Démarrer avec Ajax et le php: exemple d'application Rédacteur: Alain Messin (Alain.Messin arobas obs-azur.fr) CNRS UMS 2202 Admin06 24/09/2007 Le but de ce document est de permettre de démarrer dans le

Plus en détail

Guide de formation EndNote Web Interface EndNote Web

Guide de formation EndNote Web Interface EndNote Web Guide de formation EndNote Web Interface EndNote Web Document préparé par Marilou Bourque Dernière mise à jour : 2009-12-10 Se créer un compte Ouvrir l application Se créer un compte via Web of science

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

Outils de traitements de logs Apache

Outils de traitements de logs Apache Outils de traitements de logs Apache 1) Anonymisation des logs 2) Outil visuel d'exploration des données 3) Adaptation d'un robot 1 Anonymisation des logs Objectifs : Anonymiser les logs du point de vue

Plus en détail

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE VENDOME.EU NOTICE UTILISATION PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION Le but de l'utilisation de la console d'administration de votre adresse de messagerie "vendome.eu", est notamment de créer

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard HAMM, Évelyne LAVOISIER 92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec

Plus en détail

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

MS SQL Express 2005 Sauvegarde des données

MS SQL Express 2005 Sauvegarde des données MS SQL Express 2005 Sauvegarde des données Création : 08.04.2011 Modification : 08.04.2011 Situation La base de données gratuite MSSQL Express 2005 ne dispose pas d agent (planificateur de tâche) comme

Plus en détail

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte? Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

1 Modélisation d être mauvais payeur

1 Modélisation d être mauvais payeur 1 Modélisation d être mauvais payeur 1.1 Description Cet exercice est très largement inspiré d un document que M. Grégoire de Lassence de la société SAS m a transmis. Il est intitulé Guide de démarrage

Plus en détail

Outils Logiciels Libres

Outils Logiciels Libres LP ASRALL Outils Logiciels Libres LDAP, CMS et Haute Disponibilitée Auteurs : Rémi Jachniewicz, Julien Lacava, Gatien Gaspard, Romain Gegout, Benoit Henryon 17 mars 2009 Table des matières 1 Ldap 3 1.1

Plus en détail

MEGA Publisher. Guide d utilisation

MEGA Publisher. Guide d utilisation MEGA Publisher Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune manière

Plus en détail

NFE204 Bases de données avancées

NFE204 Bases de données avancées NFE204 Bases de données avancées Bases de données documentaires et NOSQL Philippe Rigaux, Nicolas Travers Conservatoire National des Arts et Métiers October 8, 2013 WebDam (CNAM) NFE204 Bases de données

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux Optimiser les performances d un site web Nicolas Chevallier Camille Roux Intellicore Tech Talks Des conférences pour partager son savoir Le mardi au CICA Sophia Antipolis http://techtalks.intellicore.net

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

Serveur d Applications Web : WebObjects

Serveur d Applications Web : WebObjects Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

JES Report Broker. Campus Technologies. SAE de CHALEMBERT 1 Rue Blaise PASCAL 86130 JAUNAY-CLAN 05 49 55 22 22 01 47 73 15 48 info@campustec.

JES Report Broker. Campus Technologies. SAE de CHALEMBERT 1 Rue Blaise PASCAL 86130 JAUNAY-CLAN 05 49 55 22 22 01 47 73 15 48 info@campustec. JES Report Broker Campus Technologies SAE de CHALEMBERT 1 Rue Blaise PASCAL 86130 JAUNAY-CLAN 05 49 55 22 22 01 47 73 15 48 info@campustec.com Campus Technologies 1/15 Jes Report Broker SOMMAIRE 1. GENERALITES...

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

Tutoriel : Feuille de style externe

Tutoriel : Feuille de style externe Tutoriel : Feuille de style externe Vous travaillerez à partir du fichier cerise.htm que vous ouvrirez dans NVU. Commencez par remplacer le contenu de la balise Title par : Comment débuter une recherche?

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

TABLE DES MATIERES. Navigateur. Navigateur: utiliser de préférence Mozilla Firefox version minimum: 3.0, Internet Explorer version minimum: 7.0.

TABLE DES MATIERES. Navigateur. Navigateur: utiliser de préférence Mozilla Firefox version minimum: 3.0, Internet Explorer version minimum: 7.0. Version octobre 2012 TABLE DES MATIERES NAVIGATEUR 1 LIENS UTILES 2 ACCEDER A L APPLICATION INSCRIPTION AUDITEUR 3 ACCEDER A LA SAISIE DES INSCRIPTIONS AUX COURS 4 SAISIR LES DONNEES PERSONNELLES 5 AJOUTER,

Plus en détail