DOM. Michel Gagnon École Polytechnique de Montréal

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

Download "DOM. Michel Gagnon École Polytechnique de Montréal"

Transcription

1 DOM Michel Gagnon École Polytechnique de Montréal 1

2 Ce qui se passe lorsqu un document HTML est chargé 1. Déclenchement du processus de construction du DOM (Document Objet Model) 2. Quand une balise <script> est rencontrée, la construction du DOM est interrompue pour charger et exécuter le script (sauf s il y a présence de l attribut async ou defer) 3. Les scripts asynchrones (avec l attribut async) sont téléchargés et exécutés dès que possible, mais en attendant on continue la construction du DOM 4. Quand le DOM est construit, les scripts déclarés avec l attribut defer sont exécutés 5. Il se peut, à ce stage, qu il reste encore des éléments à télécharger, comme des images. Quand tout est téléchargé, le navigateur déclenche un événement load 2

3 DOM Fournit une représentation structurée (sous forme d objets) d un document HTML Le DOM contient les items suivants: Nœuds (classe Node): tous les items qui forment l arborescence du document HTML (chaque nœud, sauf la racine, a donc un parent) Événements (classe Event) 3

4 DOM Les nœuds qui composent le DOM implémentent une des interfaces suivantes: Element: il s agit d un élément du document, correspondant à une balise HTML Text: il s agit du texte délimité par une balise Les nœuds forment un arbre dont la racine est l objet document 4

5 Exemple d arbre DOM <html> <head> <title>un document </title> </head> <body> <h1>titre</h1> Allo <p>bla <strong>bla</strong> bla</p> </body> </html> document <Element> tagname: html <Element> tagname: head <Element> tagname: body <Element> tagname: title <Element> tagname: h1 <Text> nodevalue : Allo <Element> tagname: p <Text> nodevalue : Un document <Text> nodevalue : Titre <Text> nodevalue : Bla <Element> tagname: strong <Text> nodevalue : bla <Text> nodevalue : bla 5

6 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 6

7 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª textcontent ETC. Note: les propriétés en rouge sont accessibles seulement en lecture 7

8 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 8

9 DOM (API par nœuds) document previoussibling <Element> tagname: html textcontent = "Titre Ballo la bla bla" nodename = "body" nodetype = 1 <Element> tagname: head <Element> tagname: body parentnode <Element> tagname: title <Element> tagname: h1 <Text> nodevalue : Allo <Element> tagname: p lastchild firstchild <Text> nodevalue : Un document <Text> nodevalue : Titre <Text> nodevalue : Bla <Element> tagname: strong <Text> nodevalue : bla nextsibling <Text> nodevalue : bla nextsibling 9

10 Hiérarchie des interfaces du DOM Node Attr CharacterData Element childelementcount children Document firstelementchild id innerhtml lastelementchild nextelementsibling previouselementsibling tagname Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. Note: les propriétés en rouge sont accessibles seulement en lecture 10

11 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 11

12 DOM (API par éléments) document <Element> tagname: html innerhtml = <h1>titre</h1> Allo <p> </p>" tagname = "body" childelementcount = 2 <Element> tagname: head previouselemntsibling <Element> tagname: body <Element> tagname: title <Element> tagname: h1 <Text> nodevalue : Allo <Element> tagname: p lastelementchild firstelementchild <Text> nodevalue : Un document <Text> nodevalue : Titre <Text> nodevalue : Bla <Element> tagname: strong <Text> nodevalue : bla <Text> nodevalue : bla 12

13 Hiérarchie des interfaces du DOM Attr CharacterData Node Element contenteditable dataset draggable hidden lang style Document title Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 13

14 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 14

15 Propriété style Cette propriété est associée à des déclarations enligne CSS qui indiquent la présentation de l élément Si on utilise cet attribut pour fixer des valeurs de propriété, elles seront au niveau «en-ligne» dans la cascade CSS Ce n est pas cette propriété qu il faut utiliser pour connaître le style d un élément, puisqu elle ne concerne que les déclarations en-ligne (utiliser plutôt la méthode getcomputedstyle() de l objet window) 15

16 Propriété dataset Il s agit d un objet qui contient tous les attributs fixés par la forme data-*, dans la balise correspondant à l élément Pour chacune des occurrences, il y a une propriété associée à dataset, dont le nom correspond à tout ce qui vient après «data-», sans les tirets, et où tout caractère qui succède à un tiret est mis en majuscule 16

17 Propriété dataset - exemple <div id="user" data-ident="123456" data-user="mg" data-date-of-birth> Michel Gagnon </div> var el = document.queryselector('#user'); // Fixer la date de naissance el.dataset.dateofbirth = ' '; // On ajoute une nouvelle propriété el.dataset.autresdonnees = mesdonnées ; document.write('<ul>'); document.write('<li>' + el.dataset.ident + '</li>'); document.write('<li>' + el.dataset.user + '</li>'); document.write('<li>' + el.dataset.dateofbirth + '</li>'); document.write('<li>' + el.dataset.autresdonnees + '</li>'); document.write('</ul>'); el.dataset.ident = ' el.dataset.user = mg el.dataset.dateofbirth = 17

18 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument stylesheets HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. Note: les propriétés en rouge sont accessibles seulement en lecture 18

19 Hiérarchie des interfaces du DOM Node Attr CharacterData createattribute() createcomment() createdocumentfragment() createelement() Element Document Text Comment HTMLElement HTMLDocument createtextnode() HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 19

20 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 20

21 Hiérarchie des interfaces du DOM Node Attr CharacterData Element Document Text Comment HTMLElement HTMLDocument HTMLHeadElementª HTMLBodyElementª HTMLTitleElementª HTMLInputElementª ETC. 21

22 Objet window Propriétés: console fullscreen history Méthodes: alert() close() confirm() getcomputedstyle() 22

23 Objet History Contient les URL visitée par l utilisateur durant la session Attributs: Length Méthodes: back() et forward() go() pushstate() et replacestate() 23

24 Manipulation du DOM Exemple <html> <script> // lancer cette fonction quand le document est chargé window.onload = function() { // crée quelques éléments dans // une page HTML pour l'instant vide heading = document.createelement("h1"); heading_text = document.createtextnode("grand titre"); heading.appendchild(heading_text); document.body.appendchild(heading); } </script> </html> 24

25 Interface NodeList Certaines méthodes, comme getelementsbyclass(), retournent une collection d éléments, qui sont contenus dans un objet de type NodeList On peut accéder à chaque élément contenu individuellement, avec l opérateur [], comme si c était un tableau Attention: très souvent ce conteneur est «vivant», c est-àdire que des changements dans le DOM seront reflétés dans la collection Le conteneur retourné par queryselectorall() n est pas «vivant» 25

26 Exemple de NodeList vivant <!doctype html> <html> <head> <meta charset="utf-8"> <title>exemple simple DOM</title> <script> window.onload = function() { paragraphes = document.getelementsbytagname('p'); alert(paragraphes.length); nouveauparagraphe = document.createelement('p'); nouveauparagraphe.textcontent = "Dernier paragraphe"; document.body.appendchild(nouveauparagraphe); alert(paragraphes.length); } </script> </head> <body> <p> Premier paragraphe</p> <p> Deuxième paragraphe</p> <p> Troisième paragraphe</p> </body> </html> 26

27 Exemple de NodeList vivant <!doctype html> <html> <head> <meta charset="utf-8"> <title>exemple simple DOM</title> <script> window.onload = function() { paragraphes = document.getelementsbytagname('p'); alert(paragraphes.length); nouveauparagraphe = document.createelement('p'); nouveauparagraphe.textcontent = "Dernier paragraphe"; document.body.appendchild(nouveauparagraphe); alert(paragraphes.length); } </script> </head> <body> <p> Premier paragraphe</p> <p> Deuxième paragraphe</p> <p> Troisième paragraphe</p> </body> </html> 27

28 Exemple de NodeList vivant <!doctype html> <html> <head> <meta charset="utf-8"> <title>exemple simple DOM</title> <script> window.onload = function() { paragraphes = document.queryselectorall('p'); alert(paragraphes.length); nouveauparagraphe = document.createelement('p'); nouveauparagraphe.textcontent = "Dernier paragraphe"; document.body.appendchild(nouveauparagraphe); alert(paragraphes.length); } </script> </head> <body> <p> Premier paragraphe</p> <p> Deuxième paragraphe</p> <p> Troisième paragraphe</p> </body> </html> 28

29 Exemple de NodeList vivant <!doctype html> <html> <head> <meta charset="utf-8"> <title>exemple simple DOM</title> <script> window.onload = function() { paragraphes = document.queryselectorall('p'); alert(paragraphes.length); nouveauparagraphe = document.createelement('p'); nouveauparagraphe.textcontent = "Dernier paragraphe"; document.body.appendchild(nouveauparagraphe); alert(paragraphes.length); } </script> </head> <body> <p> Premier paragraphe</p> <p> Deuxième paragraphe</p> <p> Troisième paragraphe</p> </body> </html> 29

30 Événements Chaque événement a un nom: click, change, load, mouseover, etc. Chaque événement a une cible (target), soit l élément sur lequel il a été déclenché Il faut associer à chaque événement une fonction qui sera appelée lorsque celui-ci sera déclenché (gestionnaire d événement) Trois manières d associer un gestionnaire d événement à un élément: Le spécifier directement dans la balise (déconseillé) L associer à un attribut de l élément (onclick, onchange, onload, onmouseover, etc) (pas très conseillé) Utiliser la méthode addeventlistener() qui, contrairement à la méthode précédente, permet d ajouter plusieurs gestionnaires à un événement 30

31 Événements (suite) Le gestionnaire reçoit en paramètre un objet de type Event qui fournit de l information sur l événement (notamment, la cible) L événement est propagé dans les éléments englobant celui qui l a déclenché Certains événements ont une action par défaut qui leur est associée: Clic sur un hyperlien: se déplacer à l URL indiquée Clic sur bouton de type submit: envoyer au serveur les données d un formulaire 31

32 Interface Event Propriétés: bubbles : indique si l événement doit être propagé target : l élément sur lequel l événement a été déclenché type : le nom de l événement Méthodes: preventdefault(): annule l événement stoppropagation(): interrompt la propagation de l événement Certains événements ont aussi une propriété relatedtarget, qui identifie un élément secondaire (par exemple, pour un événement mouseover, ce sera l élément d où provient la souris) Selon le type spécifique d événement, d autres propriétés peuvent apparaître 32

33 Sources d événements Événements définis par DOM niveau 3 (W3C spec) Événements associés à des API de HTML5 Manipulation tactile d appareils mobiles 33

34 Événements de formulaires submit et reset Différents types d événement selon le type d input inputevent lancé chaque fois que le contenu d un input textarea est modifié 34

35 Événements de fenêtre Le plus important est load, lancé quand toute la page et ses ressources additionnelles sont chargées et affichées Autres événements: unload, beforeunload focus, blur resize, scroll 35

36 Événements de souris Déclenchés par l élément le plus imbriqué parmi ceux qui se trouvent sous la souris Contiennent des propriétés supplémentaires indiquant la position de la souris et l état des boutons Exemples: mousemove, mousedown, mouseup, click, dblclick, mouseover, mouseout Remarques sur mouseout et mouseover: L événement a une propriété relatedtarget pour indiquer l élément d où on vient (ou celui où l on va) La propagation nous oblige à vérifier si l élément en question est réellement celui qui nous intéresse 36

37 Événements de clavier Ils sont associés à l élément qui a le focus et ils sont propagés aux objets document et window Événements de bas niveau: keydown et keyup Si la touche de clavier correspond à un caractère, on a en plus un événement keypress, qui spécifie le caractère en question 37

38 Événements du DOM (niveau 3) focusin et focusout, sont des alternatives à focus et blur, mais qui se propagent mouseenter et mouseleave sont des alternatives à mouseover et mouseout, mais qui ne se propagent pas keypress a les attributs supplémentaires key et char Événement textinput, qui contient les propriétés suivantes: data, qui contient le texte entré inputmethod, qui identifie la manière dont le texte a été entré (clavier, copier/coller, drop, etc.) 38

39 Événements de HTML5 Événements associés aux balises <audio> et <video>: canplay, playing, pause, etc. Événements associés à l API drag and drop: dragstart, drag, dragenter, dragend, drop, ended, etc. Gestion de l historique: hashchange, popstate Applications hors-ligne: cached, checking, downloading, progress, etc. Gestion du stockage local: storage 39

40 CAPTURE Propagation d événements Le gestionnaire d événement est attaché ici inclus dans inclus dans 4 5 PROPAGATION 40

41 Assignation d un gestionnaire d événement element.addeventlistener(événement,gestionnaire,capture) 41

42 Assignation d un gestionnaire d événement element.addeventlistener(événement,gestionnaire,capture) Élément du DOM auquel on veut assigner le gestionnnaire 42

43 Assignation d un gestionnaire d événement element.addeventlistener(événement,gestionnaire,capture) type d événement (click, mouseover, etc.) 43

44 Assignation d un gestionnaire d événement element.addeventlistener(événement,gestionnaire,capture) Une fonction qui représente le gestionnaire d événement (qui sera exécutée chaque fois que l événement sera déclenché 44

45 Assignation d un gestionnaire d événement element.addeventlistener(événement,gestionnaire,capture) true si on on veut que le gestionnaire soit exécuté lors de la phase de capture, false s il doit être exécuté lors de la phase de propagation 45

46 Gestionnaire associé à un attribut on* Un seul gestionnaire peut être associé à un élément par cette méthode Si le gestionnaire retourne false, quand il est appelé, le comportement par défaut sera annulé 46

47 Exemple - événement click img { border: solid red 1px; } function fixerlargeur(largeur) { document.getelementbyid("img1").style.borderwidth = largeur + "px"; } var boutonagrandir = document.queryselector('#boutonagrandir'); var boutonreduire = document.queryselector('#boutonreduire'); boutonagrandir.addeventlistener('click', function(event){ fixerlargeur(20); }, false); boutonreduire.addeventlistener('click', function(event){ fixerlargeur(5); }, false); <body> <p> <img id="img1" src="logopoly.jpeg" width="480" height="240" alt="logo Poly"> </p> <form name="unformulaire"> <input id="boutonagrandir" type="button" value="agrandir la bordure à 20px" /> <input id="boutonreduire" type="button" value="réduire la bordure à 5px" /> </form> </body> 47

48 Exemple - événement click img { border: solid red 1px; } function fixerlargeur(largeur) { document.getelementbyid("img1").style.borderwidth = largeur + "px"; } var boutonagrandir = document.queryselector('#boutonagrandir'); var boutonreduire = document.queryselector('#boutonreduire'); boutonagrandir.addeventlistener('click', function(event){ fixerlargeur(20); }, false); boutonreduire.addeventlistener('click', function(event){ fixerlargeur(5); }, false); <body> <p> <img id="img1" src="logopoly.jpeg" width="480" height="240" alt="logo Poly"> </p> <form name="unformulaire"> <input id="boutonagrandir" type="button" value="agrandir la bordure à 20px" /> <input id="boutonreduire" type="button" value="réduire la bordure à 5px" /> </form> </body> 48

49 Exemple -propagation table { border: 1px solid red; font-size: xx-large; } #col1 { background-color: pink; } function gestionnaire(e) { col2 = document.getelementbyid("col2"); col2.innerhtml = "Allo"; e.stoppropagation(); alert("propagation de l'événement interrompue"); } window.onload = function () { elem = document.getelementbyid("ligne1"); elem.addeventlistener("click",gestionnaire, false); elem = document.getelementbyid("tableau"); elem.addeventlistener("click",function(e) {alert('coucou!');}, false); } <body> <table id="tableau"> <tr id="ligne1"><td id="col1">cliquez ICI</td></tr> <tr id="ligne2"><td id="col2">cliquez ICI AUSSI</td></tr> </table> </body> 49

50 Exemple -propagation table { border: 1px solid red; font-size: xx-large; } #col1 { background-color: pink; } function gestionnaire(e) { col2 = document.getelementbyid("col2"); col2.innerhtml = "Allo"; e.stoppropagation(); alert("propagation de l'événement interrompue"); } window.onload = function () { elem = document.getelementbyid("ligne1"); elem.addeventlistener("click",gestionnaire, false); elem = document.getelementbyid("tableau"); elem.addeventlistener("click",function(e) {alert('coucou!');}, false); } <body> <table id="tableau"> <tr id="ligne1"><td id="col1">cliquez ICI</td></tr> <tr id="ligne2"><td id="col2">cliquez ICI AUSSI</td></tr> </table> </body> 50

51 Exemple -propagation table { border: 1px solid red; font-size: xx-large; } #col1 { background-color: pink; } function gestionnaire(e) { col2 = document.getelementbyid("col2"); col2.innerhtml = "Allo"; e.stoppropagation(); alert("propagation de l'événement interrompue"); } window.onload = function () { elem = document.getelementbyid("ligne1"); elem.addeventlistener("click",gestionnaire, false); elem = document.getelementbyid("tableau"); elem.addeventlistener("click",function(e) {alert('coucou!');}, false); } <body> <table id="tableau"> <tr id="ligne1"><td id="col1">cliquez ICI</td></tr> <tr id="ligne2"><td id="col2">cliquez ICI AUSSI</td></tr> </table> </body> 51

52 Exemple -propagation table { border: 1px solid red; font-size: xx-large; } #col1 { background-color: pink; } function gestionnaire(e) { col2 = document.getelementbyid("col2"); col2.innerhtml = "Allo"; e.stoppropagation(); alert("propagation de l'événement interrompue"); } window.onload = function () { elem = document.getelementbyid("ligne1"); elem.addeventlistener("click",gestionnaire, false); elem = document.getelementbyid("tableau"); elem.addeventlistener("click",function(e) {alert('coucou!');}, false); } <body> <table id="tableau"> <tr id="ligne1"><td id="col1">cliquez ICI</td></tr> <tr id="ligne2"><td id="col2">cliquez ICI AUSSI</td></tr> </table> </body> 52

53 Exemple fenêtre modale function ouvrirmodale() { document.getelementbyid('fermermodale').onclick = fermermodale; document.getelementbyid('modale').style.display = 'inline-block'; document.getelementbyid('ouvrirmodale').onclick = null; } function fermermodale() { document.getelementbyid('ouvrirmodale').onclick = ouvrirmodale; document.getelementbyid('modale').style.display = 'none'; document.getelementbyid('fermermodale').onclick = null; } window.onload = function() { document.getelementbyid('ouvrirmodale').onclick = ouvrirmodale; } <body> <div><p>lorem.</p></div> <input type="button" value="montrer" id="ouvrirmodale"> <div id="modale"> <div id="modalecontenu"> <p>ceci est le contenu de la fenêtre modale.</p> <input type="button" id="fermermodale" value="fermer"> </div> </div> <div><p>lorem.</p></div> </body> Adapté de Larry Ullman, Modern JavaScript: Develop and Design 53

54 Exemple fenêtre modale #modale { display: none; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background-color: rgba(160,160,160,0.9); } #modalecontenu { position: relative; width: 300px; margin: 15px auto; padding: 15px; background-color: #fff; border:1px solid #000; text-align: center; } <body> <div><p>lorem.</p></div> <input type="button" value="montrer" id="ouvrirmodale"> <div id="modale"> <div id="modalecontenu"> <p>ceci est le contenu de la fenêtre modale.</p> <input type="button" id="fermermodale" value="fermer"> </div> </div> <div><p>lorem.</p></div> </body> Adapté de Larry Ullman, Modern JavaScript: Develop and Design 54

55 function createpopup(e) { if (typeof e == 'undefined') { var e = window.event; } Exemple fenêtre contextuelle var target = e.target var popup = window.open(target.href, 'PopUp', 'height=200,width=300,top=100,left=100, location=no,resizable=yes,scrollbars=yes'); if ( (popup!== null) &&!popup.closed) { popup.focus(); return false; // Annule le comportement par défaut } else return true; } window.onload = function() { for (var i = 0, count = document.links.length; i < count; i++) { document.links[i].onclick = createpopup; } }; <body> <p><a href="popupa.html" id="link" target="popup">lien A</a> (S'ouvrira dans une nouvelle fenêtre)</p> <p><a href="popupb.html" id="link" target="popup">lien B</a> (S'ouvrira dans une nouvelle fenêtre)</p> </body> 55

56 function createpopup(e) { if (typeof e == 'undefined') { var e = window.event; } Exemple fenêtre contextuelle var target = e.target var popup = window.open(target.href, 'PopUp', 'height=200,width=300,top=100,left=100, location=no,resizable=yes,scrollbars=yes'); if ( (popup!== null) &&!popup.closed) { popup.focus(); return false; // Annule le comportement par défaut } else return true; } window.onload = function() { for (var i = 0, count = document.links.length; i < count; i++) { document.links[i].onclick = createpopup; } }; <body> <p><a href="popupa.html" id="link" target="popup">lien A</a> (S'ouvrira dans une nouvelle fenêtre)</p> <p><a href="popupb.html" id="link" target="popup">lien B</a> (S'ouvrira dans une nouvelle fenêtre)</p> </body> 56

57 jquery Bibliothèque Javascript pour simplifier la manipulation du DOM (entre autres) Grand avantage: le code devient automatiquement adapté à tous les navigateurs (IE8 inclus) Principe de base: des requêtes pour extraire les éléments qu on désire manipuler Ajoute aussi certaines fonctionnalités qui n existent pas dans le DOM 57

58 La fonction jquery() ou $() Elle est fondamentale: elle prend un argument et retourne un objet jquery sur lequel un grand nombre de manipulations peuvent être réalisées Très souvent, lorsque la requête correspond à plusieurs éléments, cet objet est une collection d items, qui se manipule comme un tableau On peut aussi exécuter une méthode sur cette collection d items, ce qui aura pour effet de l appliquer à chaque item de cette collection Exemples: Pour changer la couleur de fond de tous les paragraphes, on pourrait écrire ceci (ne faites pas ça dans votre application!): $( p ).css( background-color, #ccc ) Pour ajouter un gestionnaire de l événement click à tous les éléments ayant la classe cliquerpourcacher: $(.cliquerpourcacher ).click(function() { $(this).hide(); }); 58

59 Comment invoquer la fonction jquery() 1. On lui passe un sélecteur CSS Si on lui passe un élément comme second argument, la recherche se fera seulement dans cet élément et ses descendants 2. On lui passe un élément, l objet document ou l objet window: dans ce cas, il retourne un objet jquery qui englobe celui qui est passé en paramètre 3. On lui passe du code HTML On peut lui passer en second argument un objet qui indique les valeurs de certaines propriétés On peut aussi lui passer comme second argument un élément qui servira de contexte 4. On lui passe une fonction: celle-ci est exécutée lorsque la construction du DOM est terminée (on lui passe en argument le document) 59

60 Comment itérer sur une collection d items Méthode each(): reçoit en paramètre une fonction qui sera appelée pour chaque item de la collection La fonction reçoit l indice de l item comme premier argument et l élément concerné comme second argument this représente aussi l élément concerné Si la fonction retourne false, l itération s arrête Itération implicite: beaucoup de méthodes itèrent de manière implicite sur tous les items: $( button ).click(function() { }) 60

61 Méthode map() Comme each(), elle reçoit en paramètre une fonction qui sera appelée sur tous les items de la collection Retourne une nouvelle collection qui contient tous les résultats obtenus par l application de la fonction à chaque item Exemple: $( div ).map(function() {return this.id; }).toarray().sort() 61

62 Méthode index() Si elle reçoit un élément DOM en paramètre, elle retourne l indice de cet élément Si elle reçoit un sélecteur CSS qui représente une collection jquery, elle retourne l indice du premier élément qui correspond à ce sélecteur 62

63 Méthode is() Prend un sélecteur CSS comme argument Retourne true si au moins un item de la collection correspond à ce sélecteur Exemple: $( div ).each(function() { if ($(this).is( :hidden )) return;}); :hidden est un sélecteur jquery 63

64 Manipulation des attributs La même méthode est utilisée pour lire la valeur courante et pour fixer une nouvelle valeur Lorsqu il s agit d une collection, l opération est appliquée à tous les items de la collection, s il s agit de fixer une nouvelle valeur S il s agit de lire la valeur courante, cela sera appliqué seulement sur le premier item On peut passer comme argument un objet pour fixer la valeur de plusieurs attributs Souvent, on peut aussi passer une fonction qui retournera la nouvelle valeur désirée: dans ce cas, elle sera appliquée à l item et recevra deux arguments (l indice de l item et sa valeur courante) 64

65 Méthodes de manipulation des attributs attr() css() addclass(), removeclass(), toggleclass() val() text() et html() width(), height(), innerwidth(), outerwidth(), data(), removedata() 65

66 Modification de la structure du document Ajout d éléments: append(), prepend(), before(), after(), replacewith() appendto(), prependto(), insertbefore(), insertafter(), replaceall() Copie d éléments: clone() Par défaut, ne copie pas les gestionnaires d événements attachés Enrobage: wrap(), wrapinner(), wrapall() Retrait d éléments: empty(), remove(), detach(), unwrap() 66

67 Événements en jquery Pour chaque événement du DOM, il y a une méthode (par exemple: click click() ) Ajouts: hover(): prend deux fonctions en argument, soit une pour mouseenter et une autre pour mouseleave toggle(): pour chaque clic, retire ou affiche l item en alternance toggleclass(): pour chaque clic, retire ou ajoute la classe en alternance Le gestionnaire reçoit en paramètre un objet correspondant à l événement (attributs de l objet: target, relatedtarget, which, type, pagex, pagey etc. ; méthodes: preventdefault(), stoppropagation() Si un gestionnaire retourne false, la propagation et le comportement par défaut sont éliminés 67

68 Événements «vivant» Supposons que le code suivant s exécute: $( a ).click(gestionnaire) Si d autres éléments <a> s ajoutent par la suite, le gestionnaire n y sera pas attaché Pour obtenir ce comportement, il faut utiliser la méthode delegate(): $(document).delegate( a, click,gestionnaire) Principe: lorsque la propagation atteint l élément sur lequel delegate() est appelé (le document, dans l exemple précédent), on détermine si la cible correspond au sélecteur et si c est le cas on exécute le gestionnaire sur cette cible 68

69 Animations en jquery Toute animation a une durée, spécifiée en ms L appel à une méthode d animation est asynchrone Souvent, on peut passer en second paramètre une fonction qui sera appelée lorsque l animation sera terminée 69

70 Animations Effets simples: fadein(), fadeout(), fadeto(), show(), hide(), toggle(), slidedown(), slideup(), slidetoggle() Méthode générique: animate() Reçoit comme premier paramètre un objet qui indique les valeurs finales désirées pour certaines propriétés CSS On peut préfixer les valeurs par "+=" ou "-=» pour spécifier une valeur relative 70

71 Méthodes de sélection On peut utiliser les sélecteurs CSS Ajout de pseudo-classes: :animated, :button, :checkbox, :contains(text), :eq(n), :even, :file, :first (ne pas confondre avec :first-child) :gt(n), :has(sel), :header, :hidden, :image, :input, :last, :lt(n), :odd, :parent, :password, :radio, :reset, :selected :submit, :text, :visible Exemple: $( p:nth-child(3):not(:has(a)) ) 71

72 Méthodes de sélection On peut aussi utiliser des méthodes de sélection définies par jquery Méthode slice(m,n): sélectionne les items des indices m à n Méthode filter(): sélectionne les items correspondant au critère passé en paramètre: Un sélecteur CSS Une autre collection jquery Une fonction prédicat (qui retourne une valeur booléenne) Méthode not() Méthode has() 72

73 Méthodes de sélection Méthode find(): cherche parmi les descendants de l item concerné Exemple: $( div ).find( a ) pour obtenir tous les éléments <a> inclus dans un <div> Méthodes children(), contents(), next(), prev(), nextall(), prevall(), siblings(), parents() 73

74 Méthodes de sélection Méthode end(): pour revenir à niveau précédent dans la chaîne Exemple: var divs = $( div ); var paras = divs.find( p ); paras.addclass( important ); divs.css( border, solid black 1pt ) est équivalent à ceci: $( div ).find( p ).addclass( important ).end().css( ) ou encore: $( div ).css( ).find( p ).addclass( important ) 74

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

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

HTML, CSS, JS et CGI. Elanore Elessar Dimar

HTML, CSS, JS et CGI. Elanore Elessar Dimar HTML, CSS, JS et CGI Elanore Elessar Dimar Viamen GPAs Formation, 13 avril 2006 Sommaire Qu est-ce que HTML? HTML : HyperText Marckup Language XML : extensible Marckup Language Qu est-ce que HTML? HTML

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

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15 .. CSS Damien Nouvel Damien Nouvel (Inalco) CSS 1 / 15 Feuilles de styles Plan 1. Feuilles de styles 2. Sélecteurs 3. Attributs Damien Nouvel (Inalco) CSS 2 / 15 Feuilles de styles Déportation des styles

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

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

Intégrateur Web HTML5 CSS3

Intégrateur Web HTML5 CSS3 Intégrateur Web HTML5 CSS3 L objectif de la 3W Academy est de former des petits groupes d élèves à l intégration de sites internet ainsi qu à la création d applications web simples telles qu un blog ou

Plus en détail

Formation HTML / CSS. ar dionoea

Formation HTML / CSS. ar dionoea Formation HTML / CSS ar dionoea le HTML Hyper Text Markup Language langage descriptif composé de balises interprété par le navigateur page HTML = simple fichier texte (bloc notes, vim,...) les déclarations

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

Séance d ED n 5 : HTML et JavaScript

Séance d ED n 5 : HTML et JavaScript Séance d ED n 5 : HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: une réponse : 1)

Plus en détail

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN LES GRANDES ETAPES DE CREATION D UN WEB DESIGN PENSER LA STRUCTURE ET LE THEME DU SITE STRUCTURE ET THEME DU SITE Taille (le site sera-t-il extensible ou fixe?) Organisation Thème Couleurs Illustrations

Plus en détail

Travaux dirigés n 10

Travaux dirigés n 10 Travaux dirigés n 10 IMAC 1 Responsive Web Design Dans ce TD, vous verrez comment concevoir un design web qui s adaptera au terminal sur lequel il sera visualisé. Avant-propos Avec l avènement des smartphones

Plus en détail

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

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

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

RESPONSIVE WEB DESIGN

RESPONSIVE WEB DESIGN RESPONSIVE WEB DESIGN Une approche pour concevoir des sites Web adaptatifs et une occasion d'inciter les étudiants à consulter des cours responsives Ivan MADJAROV Arnaud FÉVRIER Comment consulte-t-on le

Plus en détail

Ajax, RIA et HTML5. 9.1 Prise en charge d Ajax

Ajax, RIA et HTML5. 9.1 Prise en charge d Ajax 9 Ajax, RIA et HTML5 Au soaire de ce chapitre UU Prise en charge d Ajax UU Bibliothèques JavaScript UU Extensions CSS de WebKit UU Applications Internet riches mobiles UU HTML5 Ajax, HTML5 et RIA, coent

Plus en détail

UN SITE WEB RESPONSIVE EN UNE HEURE?

UN SITE WEB RESPONSIVE EN UNE HEURE? UN SITE WEB RESPONSIVE EN UNE HEURE?! O N O R H C P TO Raphaël Goetter Raphaël Goetter alsacreations.fr alsacreations.com goetter.fr knacss.com mobitest.me @goetter EN UNE HEURE, VOUS AVEZ DIT?!? R E N

Plus en détail

Normes techniques 2011

Normes techniques 2011 Normes techniques 2011 Display classique Formats Livrables Footer p 2 p 3 p 4 Opérations spéciales Publi-rédactionnel Jeu concours Quiz Lien partenaire Habillage Accueil panoramique Sponsoring de rubrique

Plus en détail

Guide de réalisation d une campagne e-mail marketing

Guide de réalisation d une campagne e-mail marketing Guide de réalisation d une campagne e-mail marketing L ère des envois d e-mails en masse est révolue! Laissant la place à une technique d e-mail marketing ciblé, personnalisé, segmenté et pertinent. La

Plus en détail

{less} Guide de démarrage

{less} Guide de démarrage {less Guide de démarrage Pré requis L'utilisation d'un pré processeur css nécessite son installation préalable. Vous pouvez choisir de tout installer du coté du serveur ou du coté du client. Votre site

Plus en détail

Pack Fifty+ Normes Techniques 2013

Pack Fifty+ Normes Techniques 2013 Pack Fifty+ Normes Techniques 2013 Nos formats publicitaires par site 2 Normes techniques 2013 Display classique Pavé vidéo Footer Accueil panoramique Publi rédactionnel Quiz Jeu concours Emailing dédié

Plus en détail

1. La notion de cascade

1. La notion de cascade HTML 5 et CSS 3 (partie 2) Objectifs Connaître quelques notions avancées de CSS 3, Appréhender l affichage, Introduction au Responsive Web Design. 1. La notion de cascade On constate que l on peut avoir

Plus en détail

Démonstration de la mise en cache via HTML 5 sur iphone

Démonstration de la mise en cache via HTML 5 sur iphone Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent

Plus en détail

Google Tag Manager v2 v1 dispo sur http://bit.ly/1adylb0 GTM pour les nuls dispo sur http://bit.ly/1fx5bgg

Google Tag Manager v2 v1 dispo sur http://bit.ly/1adylb0 GTM pour les nuls dispo sur http://bit.ly/1fx5bgg Google Tag Manager v2 v1 dispo sur http://bit.ly/1adylb0 GTM pour les nuls dispo sur http://bit.ly/1fx5bgg 45 minutes pour comprendre GTM et aller plus loin dans son utilisation Remerciements Merci aux

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

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

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr Initiation aux techniques du Web Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr La balise Intégrer un élément ou un fichier externe (video, audio, flash, pdf ). Le support

Plus en détail

INTRODUCTION AU CMS MODX

INTRODUCTION AU CMS MODX INTRODUCTION AU CMS MODX Introduction 1. Créer 2. Organiser 3. Personnaliser UNE PETITE INTRODUCTION QUEST-CE QU UN CMS? CMS est l acronyme de Content Management System. C est outil qui vous permet de

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

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

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

AWS avancé. Surveiller votre utilisation d EC2

AWS avancé. Surveiller votre utilisation d EC2 10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation

Plus en détail

GUIDE DE DEMARRAGE V1.02

GUIDE DE DEMARRAGE V1.02 SUPPORT FONCTIONNEL SFR Business Team SFR Suite Stockage Cloud GUIDE DE DEMARRAGE V1.02 Entité Nom Date(s) Propriétaire Rédacteur Vérificateur SFR SFR SFR SFR www.sfr.fr Page : 2/15 Table des matières

Plus en détail

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos. KompoZer Créer un site «simple» Composition du site : _ une page d'accueil : index.html _ une page pour la théorie : theorie.html _ une page pour les photos : photos.html _ une page avec la galerie : galerie.html

Plus en détail

E-MAILING & NEWSLETTER NEWSLETTER RESPONSIVE

E-MAILING & NEWSLETTER NEWSLETTER RESPONSIVE E-MAILING & NEWSLETTER NEWSLETTER RESPONSIVE mcbenveniste@gmail.com 09/2013 E-MAILING & NEWSLETTER L e-mailing consiste à envoyer des emails simultanément à un nombre important de destinataires dont le

Plus en détail

Optimiser les e-mails marketing Les points essentiels

Optimiser les e-mails marketing Les points essentiels Optimiser les e-mails marketing Les points essentiels Sommaire Une des clés de succès d un email marketing est la façon dont il est créé puis intégré en HTML, de telle sorte qu il puisse être routé correctement

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

Bernard Lecomte. Débuter avec HTML

Bernard Lecomte. Débuter avec HTML Bernard Lecomte Débuter avec HTML Débuter avec HTML Ces quelques pages ont pour unique but de vous donner les premiers rudiments de HTML. Quand vous les aurez lues, vous saurez réaliser un site simple.

Plus en détail

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design Grilles Fluides CSS CREATION D UNE GRILLE FLUIDE Grille fluide Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design WWW.SUTTERLITY.FR

Plus en détail

Utilisation de l éditeur.

Utilisation de l éditeur. Utilisation de l éditeur. Préambule...2 Configuration du navigateur...3 Débloquez les pop-up...5 Mise en évidence du texte...6 Mise en évidence du texte...6 Mise en page du texte...7 Utilisation de tableaux....7

Plus en détail

Manuel d installation de Business Objects Web Intelligence Rich Client.

Manuel d installation de Business Objects Web Intelligence Rich Client. Manuel d installation de Business Objects Web Intelligence Rich Client. Sommaire 1 Introduction... 3 2 Préconisation... 4 3 Lancement de l installation... 5 4 Installation du logiciel Rich Client... 6

Plus en détail

HTML. Notions générales

HTML. Notions générales 1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS

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

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

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Cours. Cours 8 : Révisions. Importance. Interface homme-machine Cours 1) Introduction Définitions Histoire Cours 8 : Révisions jgarcia@ircam.fr 2) Programmation des interfaces graphiques principes de conception 3) MVC Java2D Styles d interaction 4) Interaction graphique

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

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006 I. INTRODUCTION 1. Présentation du formateur et des élèves 2. Historique internet : d'où ça vient a. Historique général : 3 étapes majeures 1. l'histoire de l'informatique débute en 1942 avec la première

Plus en détail

Un jour, une question Réponse à une problématique issue de la liste GTA *

Un jour, une question Réponse à une problématique issue de la liste GTA * Un jour, une question Réponse à une problématique issue de la liste GTA * GTA* : Groupe de Travail AccessiWeb LE NIVEAU D ACCESSIBILITÉ DES BOUTONS DE PARTAGE DE CONTENU DES RÉSEAUX SOCIAUX Victor Brito

Plus en détail

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie

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

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

Introduction à Expression Web 2

Introduction à Expression Web 2 Introduction à Expression Web 2 Définitions Expression Web 2 est l éditeur HTML de Microsoft qui répond aux standard dew3c. Lorsque vous démarrez le logiciel Expression Web 2, vous avez le choix de créer

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

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

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique SPIP Gestion de la performance dans SPIP Préoccupa)on historique Intrinsèquement lié aux objec)fs du projet (indépendance des u)lisateurs / prestas techniques) par la typologie majoritaire des u)lisateurs

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

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

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais : 1 888 765 4636 www.solutioninfomedia.com

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais : 1 888 765 4636 www.solutioninfomedia.com Guide de l utilisateur CMS 1 Navigation dans le CMS... 2 1.1 Menu principal... 2 1.2 Modules tableau... 3 1.3 Modules formulaire... 5 1.4 Navigation dans le site Web en mode édition... 6 2 Utilisation

Plus en détail

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22 SOMMAIRE INTRODUCTION La collection Classroom in a Book TinyUrL Conditions requises Installation du programme Copie des fichiers Classroom in a Book ordre recommandé pour les leçons Démarrage instantané

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

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8 Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

Plus en détail

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles Mission TICE - académie de Versailles 7 nov. 2008 Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles Anne-Cécile Franc Mission TICE académie de Versailles

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

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Le framework YUI et le développement 4D Par Olivier DESCHANELS, Responsable Programme 4D S.A. Note technique 4D-201004-08-FR Version 1 - Date 1 avril 2010 Résumé Dans la présente note technique, nous allons

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015 TABLE DES MATIERES Incorporer une feuille de calcul dans un fichier créé avec l Éditeur de texte de PLACE... 1 Avantages :... 1 Contraintes :... 2 Accéder à Microsoft OneDrive :... 2 Créer un classeur

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Manuel utilisateur du CMS Anan6

Manuel utilisateur du CMS Anan6 Manuel utilisateur du CMS Anan6 Sommaire Fonctionnalités générales 05 - Paramétrage du navigateur 06 - Connexion au CMS Anan6 07 - Visualisation de l interface du CMS 08 - Détails de la liste des composants

Plus en détail

Attaques de type. Brandon Petty

Attaques de type. Brandon Petty Attaques de type injection HTML Brandon Petty Article publié dans le numéro 1/2004 du magazine Hakin9 Tous droits reservés. La copie et la diffusion de l'article sont admises à condition de garder sa forme

Plus en détail

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014 Spétechs Mobile D e r n i è r e m i s e à j o u r : a o û t 2014 Généralités Envoi des créas à Amandine Canu, responsable traffic mobile : acanu@hi-media.com Mettre en copie de votre e-mail votre contact

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

pas à pas prise en main du service sur le web Le Cloud

pas à pas prise en main du service sur le web Le Cloud pas à pas prise en main du service sur le web Le Cloud sommaire présentation générale de l interface 4-12 ajouter un fichier 13-16 sélectionner un ou plusieurs fichiers 17-19 ouvrir un fichier ou un dossier

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

SPÉCIFICATIONS TECHNIQUES DES FORMATS PUBLICITAIRES

SPÉCIFICATIONS TECHNIQUES DES FORMATS PUBLICITAIRES SPÉCIFICATIONS TECHNIQUES DES FORMATS PUBLICITAIRES DIRECTIVES COMMUNE POIDS Display Standard: 70 KB Display «Expandable»: 115 KB Video: 40 MB Video Mobile: 3 MB Performance: 30 KB Mobile: voir page 9

Plus en détail

Des outils numériques simples et conviviaux!

Des outils numériques simples et conviviaux! Des outils numériques simples et conviviaux! 1 La clé USB en bref La clé USB vous permet : n De projeter, avec ou sans tableau blanc interactif (TBI), les pages du livre numérique. n De naviguer facilement

Plus en détail

Spécificités Techniques créations publicitaires

Spécificités Techniques créations publicitaires Spécificités Techniques créations publicitaires 2012 Sommaire Presentation p3 Sky Flottant 120x600 p17 Spec : Clicktag p4 Flash Transparent 400x400 p18 Spec : Flash transparent / Interstitiel p5 Flash

Plus en détail

Notes pour l utilisation d Expression Web

Notes pour l utilisation d Expression Web EICW Formation Webmaster Notes pour l utilisation d Expression Web G. Barmarin 2008-2009 1 /21 Table des matières 1 Introduction... 3 2 Installer Expression Web... 4 3 Explorer et personnaliser l interface

Plus en détail

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/2009 1.6

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/2009 1.6 Tutoriel Prise en Main de la Plateforme MetaTrader 4 Mise à jour : 7/09/2009 1.6 Ce tutoriel de prise en main permet d utiliser les principales fonctionnalités de MetaTrader. La plateforme MetaTrader utilise

Plus en détail

Création d un site Internet

Création d un site Internet Création d un site Internet Weebly.com Johanne Raymond Collège Lionel Groulx, mai 2010 Service du soutien à l enseignement et Plan de réussite Ouvrir un compte sur Weebly... 1 Modifier le modèle... 2 Ajouter

Plus en détail

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information

Plus en détail

TD HTML AVEC CORRECTION

TD HTML AVEC CORRECTION TD HTML AVEC CORRECTION On utilisera Notepad++ comme éditeur sur Windows Vous créez un répertoire www sous vos répertoires personnels et vous mettrez vos pages dedans. Créez vos fichiers HTML et n oubliez

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

Nouveautés de la version moodle 2.7

Nouveautés de la version moodle 2.7 Nouveautés de la version moodle 2.7 Atto Éditeur de texte facile Le nouveau éditeur de texte dans Moodle à été développé spécialement pour convivialité et accessibilité. Au-dessus de la zone d'écriture

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

Soyez accessible. Manuel d utilisation du CMS

Soyez accessible. Manuel d utilisation du CMS Soyez accessible. Manuel d utilisation du CMS Nameo : mode d emploi Nameo est une agence web basée en Alsace, à Strasbourg. Son champ d action : création ou refonte de sites internet, stratégie et mise

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Publication par FTP FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Logiciels FTP nombreux (FileZilla, CuteFTP, WinSCP, FTP Expert).

Plus en détail

Mallette Métrologie Contrôle des spectrophotomètres

Mallette Métrologie Contrôle des spectrophotomètres 1 MATERIEL Mallette Métrologie 2 PRINCIPE Le présent mode opératoire vise à décrire les différentes étapes à suivre afin de : - Vérifier l exactitude de la longueur d onde de 250 à 650 nm sous condition

Plus en détail

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 MAILING Table des matières KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 INSERER UNE IMAGE (OU UNE PHOTO) PAS DE COPIER / COLLER... 5 INSERER UN TABLEAU...

Plus en détail

guide d utilisation de showtime

guide d utilisation de showtime guide d utilisation de showtime montrez à vos participants ce dont vous parlez pourquoi showtime? Vous savez combien les téléconférences peuvent être utiles. Et si vous pouviez y ajouter des images? Grâce

Plus en détail

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

Guide de démarrage Tradedoubler. Manuel éditeur / affilié Guide de démarrage Tradedoubler Manuel éditeur / affilié 1 DEMARRER 1. Devenir éditeur sur Tradedoubler 2. Ajouter ses informations bancaires 3. Bénéficier des paiements internationaux 4. Avoir accès aux

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail