SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Normes de base du Web
                         Sujets spéciaux en TI

                    Le Web 2.0 : concepts et outils

                    École de technologie supérieure

                                  par

                           Claude Coulombe


GTI-780 / MTI-780                                     Montréal, octobre 2008
Normes de base du Web




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
Normes de base du Web
 HTML (HyperText Markup Language)
 XML (eXtensible Markup Language)
 XHTML, v 1,1
 CSS (Cascading Style Sheets) v. 2,1
 DOM (Document Object Model) v. 2
 JavaScript, v. 1,5




GTI-780 / MTI-780                       Montréal, octobre 2008
Pourquoi des normes?
  La fameuse guerre des fureteurs de la fin des années 90 a laissé comme
séquelles, un variété de dilectes de HTML, de l'API DOM et de JavaScript
créant des problèmes de compatibilité.
 Chaque fureteur avait ses caractéristiques propriétaires et souvent un site
qui fonctionnait avec IE ne fonctionnait pas avec Netscape et vice-versa.
 Principes
              Assurer la compatibilité entre les différents fureteurs
              Dissocier le contenu de la forme (ou style)
              => CSS
              Découpler le contenu et le comportement (code JavaScript)
              => Unobtrusive JavasScript
              Mettre en valeur la sémantique du contenu


GTI-780 / MTI-780                                                 Montréal, octobre 2008
XHTML



             XHTML




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
XHTML
 Langage hybride entre le XML et le HTML qui structure un
 document à l'aide de balises
  Une balise peut comporter
    Un nom de balise
    Une liste d'attributs (plus importants: id, class, type)
    Une chaîne de caractères qui peut être de deux types : CDATA ou
    PCDATA qui sont le contenu des balises
 Un noeud débute par une balise ouvrante <balise> et se termine
 par une balise fermante </balise>
 Il arrive qu'un noeud soit représenté par une balise à la fois
 ouvrante et fermante qui se représente <balise />
 Différences avec HTML : Ajout de balises pour souligner la sémantique
 du contenu, retrait des balises de mise en forme
GTI-780 / MTI-780                                              Montréal, octobre 2008
XHTML
Quelque chose ne va pas?

     <balise1>


                    ?
       <balise2>
    </balise1>
       </balise2>
    <balise3/>




GTI-780 / MTI-780          Montréal, octobre 2008
XHTML

Problème d'imbrication
           <balise1>        <balise1>
             <balise2>        <balise2>
          </balise1>          </balise2>
             </balise2>     </balise1>
          <balise3/>        <balise3/>

                          Ça va mieux! ;-)



  GTI-780 / MTI-780                  Montréal, octobre 2008
XHTML – Règles de construction
Un noeud peut avoir plusieurs noeuds-enfants
Un noeud-enfant n'a qu'un seul parent direct
Un noeud ouvert à l'intérieur d'un autre noeud doit être
refermé avant la fermeture de son noeud-parent
Obligation de refermer chaque balise
Contenu des balises en minuscule
Valeurs des attributs entre guillemets (simple ou double)
Un ordre hiérarchique oblige certaines balises à contenir
obligatoirement des balises d'un certain type.
Par exemple, la balise <html> doit obligatoirement contenir
les balises <head> et <body> et rien d'autres
GTI-780 / MTI-780                                 Montréal, octobre 2008
XHTML – Types de balises
 Balises structurelles :
              <hml></html>, <body></body>, <head></head>

              <div id=”...”></div> : conteneur de type bloc pour grouper des
              éléments à des fins de CSS ou de codage JavaScript

              <span></span> : conteneur de type aligné (inline)

              <table id=”...”></table> : tableau de données (pas pour la mise en page!)
                    <thead></thead>, <tbody></tbody>, <tfoot></tfoot> (optionel)
                    <tr></tr> : ligne de cellules, <td></td> : cellule

 Balises sémantiques :
              <h1></h1>...<h6></h6> : titres

              <img id=”...” src=”...” /> : images

              <p></p> : paragraphes

              <ol></ol>, <ul></ul> : listes, <li></li> : éléments

GTI-780 / MTI-780                                                        Montréal, octobre 2008
XHTML – Types de balises
 Balises de liaison :
              <a href=”...”></a> : liens

              <link type=”...” href= ></link> : liens vers une ressource externe (CSS)

              <script src=”...”></script> : liens vers des scripts JS

 Balises de méta-données :
              <meta></meta> : mots-clés

 Balises de comportement
              <form></form> : formulaire

              <input id=”...” type=”...”></input> : balise de contrôles : text, button...

              <label></label> : titre d'un contrôle

              <fieldset></fieldset> : groupe logique de contrôles

              <select></select> : menu, <option></option> : item du menu

              <textarea id=”...”></textarea> : zone de saisie multiligne
GTI-780 / MTI-780                                                       Montréal, octobre 2008
CSS



             CSS




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
CSS
 CSS : Cascaded Styling Sheets
 Les CSS permettent de créer l'apparence d'un document
 indépendamment de son contenu
 Les CSS permettent un contrôle complet de l'apparence d'un
 document XHTML
 Avec CSS on peut proposer plusieurs apparences complètement
 différentes pour un même site sans modifier les sources HTML
 Un exemple vaut mille mots: l'étonnant Zen Garden de Dave Shea

                    www.csszengarden.com
Le code HTML est le même, seule la feuille de style CSS change.
Incroyable mais vrai!
GTI-780 / MTI-780                                   Montréal, octobre 2008
DOM API



             DOM




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
DOM
  Le programmeur Web utilise l'interface DOM pour rendre sa page web
  vivante
  Le fureteur utilise DOM pour représenter une page web
  En JavaScript l'objet « document » donne accès au DOM. En modifiant
  le DOM avec JS, la page web est aussitôt modifiée par le fureteur.
  L'API DOM (Document Object Model) est un standard W3C qui
  supporte la navigation, l'accès aux éléments et les manipulations d'un
  document XML ou HTML par un langage de programmation
  Représentation hiérarchique d'une page Web sous la forme d'un arbre
                                                 html



                        head                                                  body



                title          meta                 h1             p            img       ul



                text                                               a                       li   li       li

GTI-780 / MTI-780                     Source : http://www.w3schools.com/dom/default.asp          Montréal, octobre 2008
DOM
 Se divise en trois parties
              Core DOM, HTML DOM, XML DOM

 Noeud : Tout ce qu'il y a dans une page Web est un noeud
              le document lui-même, i.e. un arbre formé de noeuds
              tout élément XML d'un document est un noeud
              tout attribut est un attribut de noeud

 Différents types de noeuds: éléments, attributs, commentaires,
 textes
 Les noeuds ont des propriétés : nodeName, nodeType, nodeValue,
 parentNode, childNodes, attributes
 monNoeud.nodeValue=quot;nouvelle valeurquot;; // changer la valeur d'un noeud


GTI-780 / MTI-780                                             Montréal, octobre 2008
DOM – Méthodes essentielles
  getElementById(“x”) retourne la balise dont l'Id est “x”.
 getElementsByTagName(“x”) retourne la liste des noeuds dont la
balise est “x”
  item(n), retourne n ième élément d'une liste de noeuds
 firstChild / lastChild, propriété désignant le premier ou le dernier
noeud enfant du noeud courant
 nextSibling / previousSibling, propriété qui retourne le noeud
enfant suivant ou précédent
  createElement(balise), retourne un noeud Element
  createTextNode(texte), retourne un noeud Text
  appendChild(nouveau), ajoute un nouvel enfant au noeud courant
  insertBefore(nouv, réf.), insère un nouv enfant avant le noeud réf
  removeChild(noeud), retire le noeud du DOM
  setAttribute(nom, valeur), ajoute un attribut à l'élément courant
GTI-780 / MTI-780                                      Montréal, octobre 2008
DOM – Exemple en JavaScript
Cet exemple affiche tous les liens d'une page Web


var listeLiens = document.getElementsByTagName(quot;aquot;) ;
for (var i = 0; i < listeLiens.length ; i++)
{
      alert(quot;Lien (quot; + i +”) ”+ listeLiens[i].href + quot;nquot;);
}




GTI-780 / MTI-780                                     Montréal, octobre 2008
JavaScript



             JavaScript




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
JavaScript – Langage à prototype
/* Tout est instance... */
var auto = new Object();
/* Facile d'ajouter des propriétés (nom, valeur) */
auto.fabricant = 'Toyota';
auto.modele = 'Prius';
auto.couleur = 'vert';
var personne = new Object();
personne.nom = 'Lyne';
auto.proprio = personne;
var nomProprio = auto.proprio.nom;
 GTI-780 / MTI-780                           Montréal, octobre 2008
JavaScript – Notation JSON
/* Notation JSON */
var auto = {
     fabricant : 'Toyota',
     modele : 'Prius',
     couleur : 'vert',
     proprio : {
          nom = 'Lyne';
     }
};


GTI-780 / MTI-780            Montréal, octobre 2008
JavaScript – Fonctions

   Peuvent être affectées à des variables
   Peuvent être affectées à des propriétés d'un prototype
   Peuvent être passées en paramètres
   Peuvent être retournées par une fonction
   Peuvent être créées en notation JSON




GTI-780 / MTI-780                              Montréal, octobre 2008
JavaScript – Bibliothèques
  Prototype : la plus utilisée, assure une bonne compatibilité entre
 les fureteurs, nombre réduit de fonctions, http://prototypejs.org/
  Scriptaculous : basée sur Prototype, surtout utilisée pour les
 effets        visuels, http://script.aculo.us/
  Dojo : la plus riche et la plus complète, un peu lourde et lente,
  http://dojotoolkit.org/
  YUI (Yahoo! User Interface) : riche et bien documentée
  http://developer.yahoo.com/yui/
  jQuery : compacte et performante, la mieux conçue sur le plan du
  génie logiciel, à mon avis le meilleur choix!   http://jquery.com/

GTI-780 / MTI-780                                       Montréal, octobre 2008
JavaScript - Avantages & inconvénients




GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008
JavaScript - Avantages
 Langage à prototypes (tout est instance, ajout & retrait
 facile de propriétés)
 Pas de compilation
 Très flexible
 Pas de typage
 Les fonctions sont des «prototypes » à part entière
 Simple, syntaxe claire, lexique limité
 Structures de données (tableaux) simples et puissantes



GTI-780 / MTI-780                            Montréal, octobre 2008
JavaScript - Inconvénients
 Rareté des experts en JavaScript
 Beaucoup d'efforts pour contourner les incompatibilités
 des navigateurs, les fuites de mémoire et les longs
 chargements
 JS n'est pas un véritable langage à objets
 JS n'a pas été conçu pour de gros logiciels
 Manque de modularité et de capacité à grandir
 Mise au point et réutilisation difficiles des composants
 JS et Ajax
 Support inégal des outils JavaScript et Ajax
GTI-780 / MTI-780                               Montréal, octobre 2008
Quelques conseils...
 Avant de penser à l'apparence, pensez au contenu. Ce n'est
qu'une fois le code XHTML écrit que vous pensez à son apparence
  Bien séparer structure et apparence avec les CSS
  Bien séparer structure et comportement. Pas de JS dans le HTML
 Afin d'éviter les rajustements saccadés de pages, il faut attendre
qu'un nouveau fragment soit complet avant de l'accrocher
(généralement via un appendChild) au DOM de la page.
 Lancez les scripts une fois la page chargée via une fonction
d'initialisation au moment de l'événement « onload »
 N'utilisez jamais d'extension propriétaire du DOM, de HTML ou de
JavaScript
  Pour la mise au point de vos programmes, utilisez FireBug dans le
fureteur FireFox puis testez avec les autres fureteurs...
  N'oubliez pas le favicon dans l'entête de votre page ;-)

GTI-780 / MTI-780                                      Montréal, octobre 2008
Questions




                                   ?

GTI-780 / MTI-780   * Source Clipart : http://www.clipart.com   Montréal, octobre 2008

Más contenido relacionado

La actualidad más candente

2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygenEmmanuelle Morlock
 
Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Stephane PERES
 
Prsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckPrsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckTECOS
 
Présentation html5
Présentation html5Présentation html5
Présentation html5Kénium
 
Présentation complète de l'HTML5
Présentation complète de l'HTML5Présentation complète de l'HTML5
Présentation complète de l'HTML5jverrecchia
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsRémy Savard
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_baseskitsformation
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3JDerrien
 
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHSN. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHSOpenEdition
 

La actualidad más candente (20)

Formation web
Formation webFormation web
Formation web
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
 
Css
CssCss
Css
 
MMI Web Design P2
MMI Web Design P2MMI Web Design P2
MMI Web Design P2
 
Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3Intégration Web HTML 5 & CSS 3
Intégration Web HTML 5 & CSS 3
 
Formation HTML pour Bac Informatique
Formation HTML pour Bac InformatiqueFormation HTML pour Bac Informatique
Formation HTML pour Bac Informatique
 
HTML, CSS et Javascript
HTML, CSS et JavascriptHTML, CSS et Javascript
HTML, CSS et Javascript
 
Mmi Web Design P2
Mmi Web Design P2Mmi Web Design P2
Mmi Web Design P2
 
HTML5 & CSS3 : Jeux
HTML5 & CSS3 : Jeux HTML5 & CSS3 : Jeux
HTML5 & CSS3 : Jeux
 
Prsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteckPrsentationhtml5 html5 ii twebteck
Prsentationhtml5 html5 ii twebteck
 
Présentation html5
Présentation html5Présentation html5
Présentation html5
 
Présentation complète de l'HTML5
Présentation complète de l'HTML5Présentation complète de l'HTML5
Présentation complète de l'HTML5
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
HTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux élémentsHTML5 - Sémantique, structure et nouveaux éléments
HTML5 - Sémantique, structure et nouveaux éléments
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
Kits formation html-les_bases
Kits formation html-les_basesKits formation html-les_bases
Kits formation html-les_bases
 
Atelier template
Atelier templateAtelier template
Atelier template
 
HTML5 & CSS3
HTML5 & CSS3HTML5 & CSS3
HTML5 & CSS3
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHSN. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
 

Destacado

Définition du web 2.0
Définition du web 2.0Définition du web 2.0
Définition du web 2.0Michel Paillet
 
Initiation au Web Marketing Adulte
Initiation au Web Marketing AdulteInitiation au Web Marketing Adulte
Initiation au Web Marketing Adultewebxdn
 
Websemantique unité1
Websemantique unité1Websemantique unité1
Websemantique unité1Joseph Tetchi
 
Initiation au web social ARPE - 10 février 2012
Initiation au web social ARPE - 10 février 2012Initiation au web social ARPE - 10 février 2012
Initiation au web social ARPE - 10 février 2012Ardesi Midi-Pyrénées
 
01 introduction-aux-technologies-web par-oussama_ben_khiroun
01 introduction-aux-technologies-web par-oussama_ben_khiroun01 introduction-aux-technologies-web par-oussama_ben_khiroun
01 introduction-aux-technologies-web par-oussama_ben_khirounOussama BEN KHIROUN
 
Biet du trong chi tieu ca nhan
Biet du trong chi tieu ca nhanBiet du trong chi tieu ca nhan
Biet du trong chi tieu ca nhanmxtruc
 
Présentation 2.0 pour ESCP EAP Communication
Présentation 2.0 pour ESCP EAP CommunicationPrésentation 2.0 pour ESCP EAP Communication
Présentation 2.0 pour ESCP EAP CommunicationChristian RIEDI
 
Technologie Web 2
Technologie Web 2Technologie Web 2
Technologie Web 2imsiza
 
Web 2.0 - GTI780 & MTI780 - ETS - A08
Web 2.0 - GTI780 & MTI780 - ETS - A08Web 2.0 - GTI780 & MTI780 - ETS - A08
Web 2.0 - GTI780 & MTI780 - ETS - A08Claude Coulombe
 
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008Association Paris-Web
 
Définitions de base pour comprendre le Web
Définitions de base pour comprendre le WebDéfinitions de base pour comprendre le Web
Définitions de base pour comprendre le WebAlena Sarakapud
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
Web2.0 pour les nuls
Web2.0 pour les nulsWeb2.0 pour les nuls
Web2.0 pour les nulsAlain Grappe
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 

Destacado (20)

Définition du web 2.0
Définition du web 2.0Définition du web 2.0
Définition du web 2.0
 
Initiation au Web Marketing Adulte
Initiation au Web Marketing AdulteInitiation au Web Marketing Adulte
Initiation au Web Marketing Adulte
 
Websemantique unité1
Websemantique unité1Websemantique unité1
Websemantique unité1
 
Initiation au web social ARPE - 10 février 2012
Initiation au web social ARPE - 10 février 2012Initiation au web social ARPE - 10 février 2012
Initiation au web social ARPE - 10 février 2012
 
01 introduction-aux-technologies-web par-oussama_ben_khiroun
01 introduction-aux-technologies-web par-oussama_ben_khiroun01 introduction-aux-technologies-web par-oussama_ben_khiroun
01 introduction-aux-technologies-web par-oussama_ben_khiroun
 
Biet du trong chi tieu ca nhan
Biet du trong chi tieu ca nhanBiet du trong chi tieu ca nhan
Biet du trong chi tieu ca nhan
 
Présentation 2.0 pour ESCP EAP Communication
Présentation 2.0 pour ESCP EAP CommunicationPrésentation 2.0 pour ESCP EAP Communication
Présentation 2.0 pour ESCP EAP Communication
 
Le web 2.0
Le web 2.0Le web 2.0
Le web 2.0
 
Technologie Web 2
Technologie Web 2Technologie Web 2
Technologie Web 2
 
Web 2.0 - GTI780 & MTI780 - ETS - A08
Web 2.0 - GTI780 & MTI780 - ETS - A08Web 2.0 - GTI780 & MTI780 - ETS - A08
Web 2.0 - GTI780 & MTI780 - ETS - A08
 
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008
Identité 2.0 et Web sémantique - David Larlet - Paris Web 2008
 
Initiation aux notions du web.2.0
Initiation aux  notions du web.2.0Initiation aux  notions du web.2.0
Initiation aux notions du web.2.0
 
le Web
le Weble Web
le Web
 
New Technologies (‘Web 2.0’) and GC Communications
New Technologies (‘Web 2.0’) and GC CommunicationsNew Technologies (‘Web 2.0’) and GC Communications
New Technologies (‘Web 2.0’) and GC Communications
 
Atelier Web 2.0
Atelier Web 2.0Atelier Web 2.0
Atelier Web 2.0
 
Définitions de base pour comprendre le Web
Définitions de base pour comprendre le WebDéfinitions de base pour comprendre le Web
Définitions de base pour comprendre le Web
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
Web2.0 pour les nuls
Web2.0 pour les nulsWeb2.0 pour les nuls
Web2.0 pour les nuls
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Premiers pas sur le web : le navigateur
Premiers pas sur le web : le navigateurPremiers pas sur le web : le navigateur
Premiers pas sur le web : le navigateur
 

Similar a Normes de base du Web - GTI780 & MTI780 - ETS - A08

Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web SémantiqueYounesOuladSayad1
 
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptxFormation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptxtanokouakouludovic
 
Rmll2010 Html5 Css3
Rmll2010 Html5 Css3Rmll2010 Html5 Css3
Rmll2010 Html5 Css3Fnot
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le WebSaïd Radhouani
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5chaudavid
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf4gnzggpfdw
 
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
CreativeLab Html5 workshop
CreativeLab Html5 workshopCreativeLab Html5 workshop
CreativeLab Html5 workshopCreative-Lab
 
Ajax - GTI780 & MTI780 - ETS - A08
Ajax - GTI780 & MTI780 - ETS - A08Ajax - GTI780 & MTI780 - ETS - A08
Ajax - GTI780 & MTI780 - ETS - A08Claude Coulombe
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2Benoît Simard
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 
Développement Web
Développement WebDéveloppement Web
Développement Webmastertic
 
Langage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersLangage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersFrédéric Simonet
 

Similar a Normes de base du Web - GTI780 & MTI780 - ETS - A08 (20)

Introduction html
Introduction htmlIntroduction html
Introduction html
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
developpement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantiquedeveloppement web HTML & CSS web Sémantique
developpement web HTML & CSS web Sémantique
 
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptxFormation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
Formation developpement web KADODJOMON EMMANUEL COULIBALY.pptx
 
Rmll2010 Html5 Css3
Rmll2010 Html5 Css3Rmll2010 Html5 Css3
Rmll2010 Html5 Css3
 
Publication de documents sur le Web
Publication de documents sur le WebPublication de documents sur le Web
Publication de documents sur le Web
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
 
Cours Html.pdf
Cours Html.pdfCours Html.pdf
Cours Html.pdf
 
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
CreativeLab Html5 workshop
CreativeLab Html5 workshopCreativeLab Html5 workshop
CreativeLab Html5 workshop
 
Le HTML5 & les API
Le HTML5 & les APILe HTML5 & les API
Le HTML5 & les API
 
Ajax - GTI780 & MTI780 - ETS - A08
Ajax - GTI780 & MTI780 - ETS - A08Ajax - GTI780 & MTI780 - ETS - A08
Ajax - GTI780 & MTI780 - ETS - A08
 
hassclic284.ppt
hassclic284.ppthassclic284.ppt
hassclic284.ppt
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 
Développement Web
Développement WebDéveloppement Web
Développement Web
 
Langage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliersLangage HTML - Fondamentaux et ateliers
Langage HTML - Fondamentaux et ateliers
 

Más de Claude Coulombe

Plates formes CLOM - importance des normes ouvertes et du logiciel libre
Plates formes CLOM - importance des normes ouvertes et du logiciel librePlates formes CLOM - importance des normes ouvertes et du logiciel libre
Plates formes CLOM - importance des normes ouvertes et du logiciel libreClaude Coulombe
 
Augmenter la persévérance dans les CLOM / MOOC? Possible!
Augmenter la persévérance dans les CLOM / MOOC? Possible!Augmenter la persévérance dans les CLOM / MOOC? Possible!
Augmenter la persévérance dans les CLOM / MOOC? Possible!Claude Coulombe
 
Séminaire polytechnique 12nov15
Séminaire polytechnique 12nov15Séminaire polytechnique 12nov15
Séminaire polytechnique 12nov15Claude Coulombe
 
Clom portfolios - ACFAS 2013
Clom portfolios - ACFAS 2013Clom portfolios - ACFAS 2013
Clom portfolios - ACFAS 2013Claude Coulombe
 
De nouvelles plateformes technologiques pour les CLOM
De nouvelles plateformes technologiques pour les CLOMDe nouvelles plateformes technologiques pour les CLOM
De nouvelles plateformes technologiques pour les CLOMClaude Coulombe
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérienceClaude Coulombe
 
De nouvelles plateformes technologiques pour les CLOM / MOOCs
De nouvelles plateformes technologiques pour les CLOM / MOOCsDe nouvelles plateformes technologiques pour les CLOM / MOOCs
De nouvelles plateformes technologiques pour les CLOM / MOOCsClaude Coulombe
 
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013Claude Coulombe
 
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012Claude Coulombe
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Claude Coulombe
 
Web social - GTI780 & MTI780 - ETS - A09
Web social - GTI780 & MTI780 - ETS - A09Web social - GTI780 & MTI780 - ETS - A09
Web social - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
Normes avancées du Web  - GTI780 & MTI780 - ETS - A09Normes avancées du Web  - GTI780 & MTI780 - ETS - A09
Normes avancées du Web - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Ajax en Java - GTI780 & MTI780 - ETS - A09
Ajax en Java - GTI780 & MTI780 - ETS - A09Ajax en Java - GTI780 & MTI780 - ETS - A09
Ajax en Java - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Web 2.0 & Génie Logiciel - GTI780 & MTI780 - ETS - A09
Web 2.0 & Génie Logiciel  - GTI780 & MTI780 - ETS - A09Web 2.0 & Génie Logiciel  - GTI780 & MTI780 - ETS - A09
Web 2.0 & Génie Logiciel - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
jQuery GTI780 & MTI780 ETS A09
jQuery   GTI780 & MTI780   ETS   A09jQuery   GTI780 & MTI780   ETS   A09
jQuery GTI780 & MTI780 ETS A09Claude Coulombe
 
Ajax GTI780 & MTI780 ETS A09
Ajax  GTI780 & MTI780  ETS  A09Ajax  GTI780 & MTI780  ETS  A09
Ajax GTI780 & MTI780 ETS A09Claude Coulombe
 
Web 2.0 GTI780 & MTI780 ETS A09
Web 2.0  GTI780 & MTI780  ETS  A09Web 2.0  GTI780 & MTI780  ETS  A09
Web 2.0 GTI780 & MTI780 ETS A09Claude Coulombe
 

Más de Claude Coulombe (20)

Plates formes CLOM - importance des normes ouvertes et du logiciel libre
Plates formes CLOM - importance des normes ouvertes et du logiciel librePlates formes CLOM - importance des normes ouvertes et du logiciel libre
Plates formes CLOM - importance des normes ouvertes et du logiciel libre
 
Augmenter la persévérance dans les CLOM / MOOC? Possible!
Augmenter la persévérance dans les CLOM / MOOC? Possible!Augmenter la persévérance dans les CLOM / MOOC? Possible!
Augmenter la persévérance dans les CLOM / MOOC? Possible!
 
Séminaire polytechnique 12nov15
Séminaire polytechnique 12nov15Séminaire polytechnique 12nov15
Séminaire polytechnique 12nov15
 
Clom portfolios - ACFAS 2013
Clom portfolios - ACFAS 2013Clom portfolios - ACFAS 2013
Clom portfolios - ACFAS 2013
 
De nouvelles plateformes technologiques pour les CLOM
De nouvelles plateformes technologiques pour les CLOMDe nouvelles plateformes technologiques pour les CLOM
De nouvelles plateformes technologiques pour les CLOM
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérience
 
De nouvelles plateformes technologiques pour les CLOM / MOOCs
De nouvelles plateformes technologiques pour les CLOM / MOOCsDe nouvelles plateformes technologiques pour les CLOM / MOOCs
De nouvelles plateformes technologiques pour les CLOM / MOOCs
 
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
 
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012
L'infonuagique éducative – Promesses et Défis! - Colloque tice 04mai2012
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011
 
Gwt intro-101
Gwt intro-101Gwt intro-101
Gwt intro-101
 
Web social - GTI780 & MTI780 - ETS - A09
Web social - GTI780 & MTI780 - ETS - A09Web social - GTI780 & MTI780 - ETS - A09
Web social - GTI780 & MTI780 - ETS - A09
 
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
Normes avancées du Web  - GTI780 & MTI780 - ETS - A09Normes avancées du Web  - GTI780 & MTI780 - ETS - A09
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
 
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
GWT Approfondissement  - GTI780 & MTI780 - ETS - A09GWT Approfondissement  - GTI780 & MTI780 - ETS - A09
GWT Approfondissement - GTI780 & MTI780 - ETS - A09
 
Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09Introduction à GWT - GTI780 & MTI780 - ETS - A09
Introduction à GWT - GTI780 & MTI780 - ETS - A09
 
Ajax en Java - GTI780 & MTI780 - ETS - A09
Ajax en Java - GTI780 & MTI780 - ETS - A09Ajax en Java - GTI780 & MTI780 - ETS - A09
Ajax en Java - GTI780 & MTI780 - ETS - A09
 
Web 2.0 & Génie Logiciel - GTI780 & MTI780 - ETS - A09
Web 2.0 & Génie Logiciel  - GTI780 & MTI780 - ETS - A09Web 2.0 & Génie Logiciel  - GTI780 & MTI780 - ETS - A09
Web 2.0 & Génie Logiciel - GTI780 & MTI780 - ETS - A09
 
jQuery GTI780 & MTI780 ETS A09
jQuery   GTI780 & MTI780   ETS   A09jQuery   GTI780 & MTI780   ETS   A09
jQuery GTI780 & MTI780 ETS A09
 
Ajax GTI780 & MTI780 ETS A09
Ajax  GTI780 & MTI780  ETS  A09Ajax  GTI780 & MTI780  ETS  A09
Ajax GTI780 & MTI780 ETS A09
 
Web 2.0 GTI780 & MTI780 ETS A09
Web 2.0  GTI780 & MTI780  ETS  A09Web 2.0  GTI780 & MTI780  ETS  A09
Web 2.0 GTI780 & MTI780 ETS A09
 

Normes de base du Web - GTI780 & MTI780 - ETS - A08

  • 1. Normes de base du Web Sujets spéciaux en TI Le Web 2.0 : concepts et outils École de technologie supérieure par Claude Coulombe GTI-780 / MTI-780 Montréal, octobre 2008
  • 2. Normes de base du Web GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 3. Normes de base du Web  HTML (HyperText Markup Language)  XML (eXtensible Markup Language)  XHTML, v 1,1  CSS (Cascading Style Sheets) v. 2,1  DOM (Document Object Model) v. 2  JavaScript, v. 1,5 GTI-780 / MTI-780 Montréal, octobre 2008
  • 4. Pourquoi des normes? La fameuse guerre des fureteurs de la fin des années 90 a laissé comme séquelles, un variété de dilectes de HTML, de l'API DOM et de JavaScript créant des problèmes de compatibilité. Chaque fureteur avait ses caractéristiques propriétaires et souvent un site qui fonctionnait avec IE ne fonctionnait pas avec Netscape et vice-versa. Principes Assurer la compatibilité entre les différents fureteurs Dissocier le contenu de la forme (ou style) => CSS Découpler le contenu et le comportement (code JavaScript) => Unobtrusive JavasScript Mettre en valeur la sémantique du contenu GTI-780 / MTI-780 Montréal, octobre 2008
  • 5. XHTML XHTML GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 6. XHTML Langage hybride entre le XML et le HTML qui structure un document à l'aide de balises Une balise peut comporter Un nom de balise Une liste d'attributs (plus importants: id, class, type) Une chaîne de caractères qui peut être de deux types : CDATA ou PCDATA qui sont le contenu des balises Un noeud débute par une balise ouvrante <balise> et se termine par une balise fermante </balise> Il arrive qu'un noeud soit représenté par une balise à la fois ouvrante et fermante qui se représente <balise /> Différences avec HTML : Ajout de balises pour souligner la sémantique du contenu, retrait des balises de mise en forme GTI-780 / MTI-780 Montréal, octobre 2008
  • 7. XHTML Quelque chose ne va pas? <balise1> ? <balise2> </balise1> </balise2> <balise3/> GTI-780 / MTI-780 Montréal, octobre 2008
  • 8. XHTML Problème d'imbrication <balise1> <balise1> <balise2> <balise2> </balise1> </balise2> </balise2> </balise1> <balise3/> <balise3/> Ça va mieux! ;-) GTI-780 / MTI-780 Montréal, octobre 2008
  • 9. XHTML – Règles de construction Un noeud peut avoir plusieurs noeuds-enfants Un noeud-enfant n'a qu'un seul parent direct Un noeud ouvert à l'intérieur d'un autre noeud doit être refermé avant la fermeture de son noeud-parent Obligation de refermer chaque balise Contenu des balises en minuscule Valeurs des attributs entre guillemets (simple ou double) Un ordre hiérarchique oblige certaines balises à contenir obligatoirement des balises d'un certain type. Par exemple, la balise <html> doit obligatoirement contenir les balises <head> et <body> et rien d'autres GTI-780 / MTI-780 Montréal, octobre 2008
  • 10. XHTML – Types de balises Balises structurelles : <hml></html>, <body></body>, <head></head> <div id=”...”></div> : conteneur de type bloc pour grouper des éléments à des fins de CSS ou de codage JavaScript <span></span> : conteneur de type aligné (inline) <table id=”...”></table> : tableau de données (pas pour la mise en page!) <thead></thead>, <tbody></tbody>, <tfoot></tfoot> (optionel) <tr></tr> : ligne de cellules, <td></td> : cellule Balises sémantiques : <h1></h1>...<h6></h6> : titres <img id=”...” src=”...” /> : images <p></p> : paragraphes <ol></ol>, <ul></ul> : listes, <li></li> : éléments GTI-780 / MTI-780 Montréal, octobre 2008
  • 11. XHTML – Types de balises Balises de liaison : <a href=”...”></a> : liens <link type=”...” href= ></link> : liens vers une ressource externe (CSS) <script src=”...”></script> : liens vers des scripts JS Balises de méta-données : <meta></meta> : mots-clés Balises de comportement <form></form> : formulaire <input id=”...” type=”...”></input> : balise de contrôles : text, button... <label></label> : titre d'un contrôle <fieldset></fieldset> : groupe logique de contrôles <select></select> : menu, <option></option> : item du menu <textarea id=”...”></textarea> : zone de saisie multiligne GTI-780 / MTI-780 Montréal, octobre 2008
  • 12. CSS CSS GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 13. CSS CSS : Cascaded Styling Sheets Les CSS permettent de créer l'apparence d'un document indépendamment de son contenu Les CSS permettent un contrôle complet de l'apparence d'un document XHTML Avec CSS on peut proposer plusieurs apparences complètement différentes pour un même site sans modifier les sources HTML Un exemple vaut mille mots: l'étonnant Zen Garden de Dave Shea www.csszengarden.com Le code HTML est le même, seule la feuille de style CSS change. Incroyable mais vrai! GTI-780 / MTI-780 Montréal, octobre 2008
  • 14. DOM API DOM GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 15. DOM Le programmeur Web utilise l'interface DOM pour rendre sa page web vivante Le fureteur utilise DOM pour représenter une page web En JavaScript l'objet « document » donne accès au DOM. En modifiant le DOM avec JS, la page web est aussitôt modifiée par le fureteur. L'API DOM (Document Object Model) est un standard W3C qui supporte la navigation, l'accès aux éléments et les manipulations d'un document XML ou HTML par un langage de programmation Représentation hiérarchique d'une page Web sous la forme d'un arbre html head body title meta h1 p img ul text a li li li GTI-780 / MTI-780 Source : http://www.w3schools.com/dom/default.asp Montréal, octobre 2008
  • 16. DOM Se divise en trois parties Core DOM, HTML DOM, XML DOM Noeud : Tout ce qu'il y a dans une page Web est un noeud le document lui-même, i.e. un arbre formé de noeuds tout élément XML d'un document est un noeud tout attribut est un attribut de noeud Différents types de noeuds: éléments, attributs, commentaires, textes Les noeuds ont des propriétés : nodeName, nodeType, nodeValue, parentNode, childNodes, attributes monNoeud.nodeValue=quot;nouvelle valeurquot;; // changer la valeur d'un noeud GTI-780 / MTI-780 Montréal, octobre 2008
  • 17. DOM – Méthodes essentielles getElementById(“x”) retourne la balise dont l'Id est “x”. getElementsByTagName(“x”) retourne la liste des noeuds dont la balise est “x” item(n), retourne n ième élément d'une liste de noeuds firstChild / lastChild, propriété désignant le premier ou le dernier noeud enfant du noeud courant nextSibling / previousSibling, propriété qui retourne le noeud enfant suivant ou précédent createElement(balise), retourne un noeud Element createTextNode(texte), retourne un noeud Text appendChild(nouveau), ajoute un nouvel enfant au noeud courant insertBefore(nouv, réf.), insère un nouv enfant avant le noeud réf removeChild(noeud), retire le noeud du DOM setAttribute(nom, valeur), ajoute un attribut à l'élément courant GTI-780 / MTI-780 Montréal, octobre 2008
  • 18. DOM – Exemple en JavaScript Cet exemple affiche tous les liens d'une page Web var listeLiens = document.getElementsByTagName(quot;aquot;) ; for (var i = 0; i < listeLiens.length ; i++) { alert(quot;Lien (quot; + i +”) ”+ listeLiens[i].href + quot;nquot;); } GTI-780 / MTI-780 Montréal, octobre 2008
  • 19. JavaScript JavaScript GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 20. JavaScript – Langage à prototype /* Tout est instance... */ var auto = new Object(); /* Facile d'ajouter des propriétés (nom, valeur) */ auto.fabricant = 'Toyota'; auto.modele = 'Prius'; auto.couleur = 'vert'; var personne = new Object(); personne.nom = 'Lyne'; auto.proprio = personne; var nomProprio = auto.proprio.nom; GTI-780 / MTI-780 Montréal, octobre 2008
  • 21. JavaScript – Notation JSON /* Notation JSON */ var auto = { fabricant : 'Toyota', modele : 'Prius', couleur : 'vert', proprio : { nom = 'Lyne'; } }; GTI-780 / MTI-780 Montréal, octobre 2008
  • 22. JavaScript – Fonctions  Peuvent être affectées à des variables  Peuvent être affectées à des propriétés d'un prototype  Peuvent être passées en paramètres  Peuvent être retournées par une fonction  Peuvent être créées en notation JSON GTI-780 / MTI-780 Montréal, octobre 2008
  • 23. JavaScript – Bibliothèques Prototype : la plus utilisée, assure une bonne compatibilité entre les fureteurs, nombre réduit de fonctions, http://prototypejs.org/ Scriptaculous : basée sur Prototype, surtout utilisée pour les effets visuels, http://script.aculo.us/ Dojo : la plus riche et la plus complète, un peu lourde et lente, http://dojotoolkit.org/ YUI (Yahoo! User Interface) : riche et bien documentée http://developer.yahoo.com/yui/ jQuery : compacte et performante, la mieux conçue sur le plan du génie logiciel, à mon avis le meilleur choix! http://jquery.com/ GTI-780 / MTI-780 Montréal, octobre 2008
  • 24. JavaScript - Avantages & inconvénients GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008
  • 25. JavaScript - Avantages Langage à prototypes (tout est instance, ajout & retrait facile de propriétés) Pas de compilation Très flexible Pas de typage Les fonctions sont des «prototypes » à part entière Simple, syntaxe claire, lexique limité Structures de données (tableaux) simples et puissantes GTI-780 / MTI-780 Montréal, octobre 2008
  • 26. JavaScript - Inconvénients Rareté des experts en JavaScript Beaucoup d'efforts pour contourner les incompatibilités des navigateurs, les fuites de mémoire et les longs chargements JS n'est pas un véritable langage à objets JS n'a pas été conçu pour de gros logiciels Manque de modularité et de capacité à grandir Mise au point et réutilisation difficiles des composants JS et Ajax Support inégal des outils JavaScript et Ajax GTI-780 / MTI-780 Montréal, octobre 2008
  • 27. Quelques conseils... Avant de penser à l'apparence, pensez au contenu. Ce n'est qu'une fois le code XHTML écrit que vous pensez à son apparence Bien séparer structure et apparence avec les CSS Bien séparer structure et comportement. Pas de JS dans le HTML Afin d'éviter les rajustements saccadés de pages, il faut attendre qu'un nouveau fragment soit complet avant de l'accrocher (généralement via un appendChild) au DOM de la page. Lancez les scripts une fois la page chargée via une fonction d'initialisation au moment de l'événement « onload » N'utilisez jamais d'extension propriétaire du DOM, de HTML ou de JavaScript Pour la mise au point de vos programmes, utilisez FireBug dans le fureteur FireFox puis testez avec les autres fureteurs... N'oubliez pas le favicon dans l'entête de votre page ;-) GTI-780 / MTI-780 Montréal, octobre 2008
  • 28. Questions ? GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com Montréal, octobre 2008