INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté...

59
INF04 – HTML5 1 Langages et structure du Web Benoît Habert

Transcript of INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté...

Page 1: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

INF04 – HTML5 1 Langages  et  structure  du  Web

Benoît Habert

Page 2: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Plan du cours

•  Programmation côté client (4 séances) BH – HTML5

•  Nouvelles balises « sémantiques » •  Rich media : audio, vidéo

– CSS3 (transitions, animations, rotations) – Canvas 2D

B. Habert 2013 Langages du Web - HTML5 1 2

Page 3: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Plan du cours

•  Programmation avancée côté serveur (5 séances) LM – Rappel : SOAP et REST – AJAX (échanges asynchrones – Web sockets : communication bidirectionnelle

client/serveur – Web RTC (Real-Time Communication) – Web storage – Requêtage cross-domain

B. Habert 2013 Langages du Web - HTML5 1 3

Page 4: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Plan du cours

•  Programmation Web mobile (3 séances) LM – Responsive Web Design (design adaptatif) – Récupération d'information (géolocalisation,

orientation). – Savoir se servir d'une interface tactile. – Compilation en applications Web ou natives.

B. Habert 2013 Langages du Web - HTML5 1 4

Page 5: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

B. Habert 2013 Langages du Web - HTML5 1 5

Séance 1

•  Présentation d’HTML5 –  Histoire –  Statut actuel –  Ajouts de structure et formulaires

•  Mises en œuvre –  Formulaires –  Autopsie/amendement d’un environnement

reposant sur HTML5

Page 6: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

INTRODUCTION À HTML5

B. Habert 2013 Langages du Web - HTML5 1 6

Page 7: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Etat des lieux : avant

•  Ajustements : interaction avec une BD •  (re)Structuration logique : XML et XSLT •  Structuration grossière de la page : HTML •  Mise en place d’accroches : <div>, <span> •  Rendu d’empans identifiés (structure,

classes, éléments nommés de manière unique) : CSS

•  Interactions côté client : JavaScript B. Habert 2013 Langages du Web - HTML5 1 7

Page 8: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Accroches de rendu

•  <div> : conteneur de type bloc •  <span> (traduction : empan) : conteneur

de type en ligne Aucun des deux n’a de valeur sémantique. L’élément (la balise) permet d’associer un rendu •  Ajout d’un attribut id ou class pour

associer des règles CSS

B. Habert 2013 Langages du Web - HTML5 1 8

Page 9: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

(di|con)vergences

•  W3C en 1998 – Figement de HTML (4.01) – Spécification de XHTML

•  Groupe (Opera, Mozilla, Apple) non convaincu par la XMLisation du Web : WHATWG (Web HyperText Application Technology Working Group)

•  Reprise par/avec W3C entre 2006 et 2009

B. Habert 2013 Langages du Web - HTML5 1 9

Page 10: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

HTML5 : un nécessaire compromis

•  Tension entre l’instituant et l’institué (le « patrimoine » de pages existantes

•  Prise en charge différenciée entre les moteurs de rendu et les navigateurs

•  Instabilité des « genres » du Web

•  … si bien qu’est limitée l’avancée vers un balisage plus « sémantique »

B. Habert 2013 Langages du Web - HTML5 1 10

Page 11: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Stabilisations et balisage

TeX et LaTeX •  TeX : primitives de

description de documents (caractères, espacements, page, tableaux…)

•  LaTeX : types de documents (article, book, report, letter) Le rendu des subdivisions (section) dépend de la classe

TEI •  Structuration d’ensemble

du « texte » et des métadonnées

•  Briques de base : mise en évidence, citations

•  Spécificités de « genres » : théâtre, poésie, terminologie…

B. Habert 2013 Langages du Web - HTML5 1 11

Page 12: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

HTML5 : in progress

•  Spécification à l’état de brouillon (draft) avec évolutions – Ex. <time> supprimée en octobre 2011 et

rétablie un mois après – Ex. <aside>

•  Départ: informations liées au contenu principal (comme un glossaire)

•  Maintenant : sidebar

•  Compatibilité ascendante (rétrospective) B. Habert 2013 Langages du Web - HTML5 1 12

Page 13: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Permissivité HTML5ienne

http://www.w3.org/TR/html-design-principles/

•  Pas sensible à la case <H1>Scoop<h1> •  Balises de fermeture pas obligatoires •  Guillemets facultatifs dans les attributs

B. Habert 2013 Langages du Web - HTML5 1 13

Page 14: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Bonnes pratiques

•  Etre cohérent •  Forme XHTML de HTML5

– Toute balise ouvrante doit être fermée – Les balises vides doivent être fermées <br /> – Balises et attributs : en minuscules – Chaque attribut doit avoir une valeur entre

guillemets ou apostrophes – Les éléments doivent être correctement

imbriqués B. Habert 2013 Langages du Web - HTML5 1 14

Page 15: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Minimal HTML5 <!DOCTYPE html> <html lang="fr" /> <head> <meta charset="utf-8" /> <title>Essai 1</title> </head> <body> </body> </html> En gris : optionnel

•  NB –  L’élément <body> peut

être omis (pas pour IE8 et ses ancêtres)

–  L’enveloppement par l’élément <head> aussi

–  Cependant on s’en tiendra à un modèle qui les conserve

B. Habert 2013 Langages du Web - HTML5 1 15

Page 16: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Inclusion CSS et JS

<link rel="stylesheet" href="css/fs1.css" /> <style> /** Règles CSS **/ </style> <script src="js/script1.js"></script> NB : JS est le type par défaut, il n’a plus à être spécifié

B. Habert 2013 Langages du Web - HTML5 1 16

Page 17: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Validation

http://validator.w3.org/ http://html5.validator.nu/

B. Habert 2013 Langages du Web - HTML5 1 17

Page 18: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Inventaire partiel

•  Eléments supprimés •  Eléments ajoutés (et changeant le rôle

d’autres éléments) •  Eléments explicitement redéfinis

B. Habert 2013 Langages du Web - HTML5 1 18

Page 19: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Abandons

•  Au profit de CSS : <basefont>, <big>, <center>, <font>, <strike>, <tt>, <u>

•  Pour des raisons d’accessibilité : <frame>, <frameset>, <noframe>

B. Habert 2013 Langages du Web - HTML5 1 19

Page 20: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Redéfinitions

•  <a> : peut contenir tout type d’élément (titre, paragraphe, liste, table…) sauf les éléments d’interaction (lien, bouton, champs de formulaire)

http://www.w3.org/TR/html5-author/the-a-element.html#the-a-element

•  <cite> : titre d’œuvre (<q> et <quote> pour citations brèves / longues)

B. Habert 2013 Langages du Web - HTML5 1 20

Page 21: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Redéfinitions

•  <small> : éléments en petits caractères de pied de page (copyright, mentions légales)

B. Habert 2013 Langages du Web - HTML5 1 21

Page 22: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Restructurations

Au départ •  Proximité/confusion

rendu/rôle –  <i> : italiques –  <b> : bold (gras)

XHTML et HTML5

•  Découplage rôle/rendu –  <em> : mise en exergue –  <strong> : importance forte

(le rendu peut varier : gras / majusculisation)

NB <em>/<strong> auto-imbricables •  Incertitude sur le rôle de

<i> et <b> http://html5doctor.com/i-b-em-strong-element/

B. Habert 2013 Langages du Web - HTML5 1 22

Page 23: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Flous •  <b> : « mettre en valeur une portion de

texte, sans pour autant lui conférer une importance particulière »

http://www.w3.org/TR/html5-author/the-b-element.html#the-b-element •  <i> : « mettre en exergue une portion de

texte… différencier certains termes… » http://www.w3.org/TR/html5-author/the-i-element.html#the-i-element B. Habert 2013 Langages du Web - HTML5 1 23

Page 24: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Ajouts structure globale

•  <article> : portion de contenu indépendant (peut contenir un autre <article> - cf. Post avec commentaire)

•  <aside> : contenu indirectement lié au contenu principal

•  <section> : section de contenu ou d’application (plus générique que <article>, <nav>, <header>, <footer>, <aside>). Mais peut découper un <article>

B. Habert 2013 Langages du Web - HTML5 1 24

Page 25: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Ajouts structure globale

•  <nav> : liens pour naviguer (site, document)

•  <header> : pour le document mais aussi pour <section> ou <article>

•  <footer> : du document ou d’une section au sens large

NB Les modes d’accès en CSS permettent de renvoyer aux différents niveaux d’emboîtement d’éléments comme footer B. Habert 2013 Langages du Web - HTML5 1 25

Page 26: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Ajouts hiérarchisation

•  <hgroup> : regroupement de titres (titre et sous-titre, par ex.). Un élément h2 après un h1 dans un hgroup est davantage associé au h1, comme un sous-titre

•  <figure> <img src=… /> <figcaption>…<figcaption>

</figure> Fait un tout d’une image et d’une légende B. Habert 2013 Langages du Web - HTML5 1 26

Page 27: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Ajouts autres

•  <time> – avec attribut datetime ayant pour valeur une

date lisible par une machine (pour extraction d’information)

<time datetime=‘2013-01-08’>mardi 8 janvier 2013</time> – Attribut pubdate : indique que le <time> est la

date de publication de l’élément <article> ou <body> le contenant

B. Habert 2013 Langages du Web - HTML5 1 27

Page 28: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Regroupements

<fieldset> <legend>…</legend> <input type=… /> … </fieldset> Permet par exemple de regrouper des éléments input dans un formulaire et de fournir une légende pour ce regroupement B. Habert 2013 Langages du Web - HTML5 1 28

Page 29: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Formulaires

•  Esprit – Avoir des entrées plus spécialisées que

<input type=‘text’… /> (typage plus fin) – Déporter de JavaScript vers HTML5 les

contrôles de validité – côté client – de la valeur fournie par l’utilisateur

•  Nouveaux champs « vérifiants » – <input type="email" /> – <input type="tel" />

B. Habert 2013 Langages du Web - HTML5 1 29

Page 30: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Formulaires

•  Nouveaux champs « vérifiants » (suite) – <input type="search" /> – <input type="url" /> – <input type="color" /> – <input type="date" /> (et time, week, datetime) – <input type="number" min="N" max="M"

step="O" /> – <input type="range" min="N" max="M" />

B. Habert 2013 Langages du Web - HTML5 1 30

Page 31: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Formulaires •  Attributs

–  placeholder=‘A afficher dans le champ’. La valeur est un représentant, un « lieutenant », un vicaire qui aide à comprendre ce qu’il faut mettre. Par exemple : JJ/MM/AAAA pour une année

–  pattern : regexp contraignant la forme de ce qui est attendu. Exemple pour un numéro de téléphone : ‘[0-9]{10}’ : une suite de 10 chiffres

–  required : le champ doit être renseigné, sans quoi la validation est impossible

B. Habert 2013 Langages du Web - HTML5 1 31

Page 32: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Formulaires •  Attributs (suite)

–  autofocus : champ du formulaire par lequel on souhaite que l’utilisateur commence la saisie. Le focus y est mis quand la page est chargée

–  autocomplete : par défaut à on au niveau du formulaire ou du champ

–  form : permet de placer une partie de formulaire en dehors d’un formulaire tout en l’y rattachant (permet de répartir les endroits de recueil d’information de la manière souhaitée et pas forcément tout ensemble)

B. Habert 2013 Langages du Web - HTML5 1 32

Page 33: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Formulaires

•  Etiquetage (réactif) des champs – <label>X <input… /></label> – <label for=‘Y’>X <input…id=‘Y’ /></label> – <label for=‘Y’>X</label> <input…id=‘Y’ />

Pointer l’élément label rend actif l’input correspondant. Zone réactive plus large

- accessibilité - adapté aux smartphones

B. Habert 2013 Langages du Web - HTML5 1 33

Page 34: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Volets

•  Accéder à du son, de la vidéo, du dessin ou des animations sans plug-in – <audio> – <video> – <canvas>

B. Habert 2013 Langages du Web - HTML5 1 34

Page 35: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Non abordé •  Attributs data-*=‘X’ : intégration de données

« internes » (pas destinées à l’utilisateur) •  Microdonnées (item…) : description du contenu

pour des programmes tiers •  Appui à l’accessibilité : rôles WAI-ARIA

(Accessible Rich Internet Application Suite) http://www.w3.org/WAI/PF/aria/#usage-intro http://www.w3.org/WAI/PF/aria-practices/ indication du rôle d’un élément HTML B. Habert 2013 Langages du Web - HTML5 1 35

Page 36: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Contenus HTML5

•  Contenu de métadonnées – dans la partie <head> – y compris donc <style> et <script>

(contribuent à l’apparence et au comportement du contenu principal)

•  Contenu de flux (flow) : ensemble du contenu – Contenu de section : <article>, <aside>,

<nav>, <section> ; portée en-têtes/pieds B. Habert 2013 Langages du Web - HTML5 1 36

Page 37: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Contenus HTML5

•  Contenu de flux (flow) – suite – Contenu d’en-tête (heading) : <h1> à <h6>,

<hgroup> – Contenu de phrasé (phrasing) : texte du

document •  Contenu embarqué (embedded) : import

de ressource - image, vidéo, audio •  Contenu interactif (interactive) : <a>,

<input>, <button>, <textarea> B. Habert 2013 Langages du Web - HTML5 1 37

Page 38: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Démarche

•  Ne pas oublier la persistance des versions anciennes (en particulier IE en milieu industriel)

B. Habert 2013 Langages du Web - HTML5 1 38

Page 39: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Démarche

•  Vérifier – L’accessibilité http://html5accessibility.com/ –  la prise en charge CSS, HTML, JS… http://caniuse.com/

•  Combiner – Pris en charge – Adaptations constructeurs – Solutions de remplacement/contournement

B. Habert 2013 Langages du Web - HTML5 1 39

Page 40: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Aller plus loin

•  Une prise de recul http://diveintohtml5.info/ Avec liens vers les informations du WHATWG •  Groupe de développement http://developers.whatwg.org/

B. Habert 2013 Langages du Web - HTML5 1 40

Page 41: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

HTML5 : MISES EN OEUVRE

B. Habert 2013 Langages du Web - HTML5 1 41

Page 42: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

FORMULAIRES

B. Habert 2013 Langages du Web - HTML5 1 42

Page 43: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Environnement

•  Créer un répertoire HTML5 dans le répertoire où Apache cherche les scripts exécutables

•  Dans ce répertoire – Déposer

•  utilitaires.php •  afficheProfil.php

– Développer renseigneProfilK.html

B. Habert 2013 Langages du Web - HTML5 1 43

Page 44: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

renseigneProfil1.html

•  Ecrire un document HTML5 minimal de nom renseigneProfil1.html, le tester

•  Ajouter – Un hgroup avec un h1 et un h2 – Un formulaire appelant en mode POST

afficheProfil.php avec •  2 boutons : effacer / valider

B. Habert 2013 Langages du Web - HTML5 1 44

Page 45: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

renseigneProfil1.html •  Ajouter

– Un élément fieldset avec •  Un élément <legend> •  Autant de couples <label><input> que demandé

en choisissant le type idoine –  Prénom –  Email –  Tél. fixe –  Tél. portable – Date de naissance –  Âge – Couleur préférée

B. Habert 2013 Langages du Web - HTML5 1 45

Page 46: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

renseigneProfil1.html

•  Ouvrir tous les navigateurs dont vous disposez

•  Notez dans le pad sous votre nom – La combinaison système d’exploitation/

navigateur/version – Pour chaque version de renseigneProfilK.html

indiquer les comportements observés •  contrôles effectivement mis en place •  Environnement transmis

B. Habert 2013 Langages du Web - HTML5 1 46

Page 47: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

renseigneProfil2.html •  Sauvez renseigneProfil1.html sous

renseigneProfil2.html •  Modifier en conséquence le texte de

l’élément <title> •  Utilisez les attributs pour modifier les

comportements des contrôles (écriture XTHML : X=‘X’)

•  Notez dans le pad les modifications observées selon les navigateurs

B. Habert 2013 Langages du Web - HTML5 1 47

Page 48: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

renseigneProfil2.html

•  Modifications visées – Faites que le focus de départ soit sur le

prénom – Contraignez la « forme » du téléphone

portable et rendez cette information nécessaire

– Fournissez un guide de saisie pour la date – Donnez une fourchette raisonnable pour l’âge

(7 à 77) et un « pas » de 1

B. Habert 2013 Langages du Web - HTML5 1 48

Page 49: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

•  Document HTML5 minimal

<!DOCTYPE html> <html lang="fr" /> <head> <meta charset="utf-8" /> <title></title> </head> <body> </body> </html>

B. Habert 2013 Langages du Web - HTML5 1 49

Page 50: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 50

Page 51: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 51

Page 52: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 52

Page 53: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 53

Page 54: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 54

Page 55: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

B. Habert 2013 Langages du Web - HTML5 1 55

Page 56: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

•  renseigneProfilK.html est un formulaire faisant appel aux nouveaux contrôles HTML5

•  Valider ce formulaire déclenche afficheProfil.php à qui est transmis en mode POST un environnement, un ensemble de variables et de valeurs. Ex. le premier input text associe à la variable prenom la chaîne entrée par l’utilisateur

B. Habert 2013 Langages du Web - HTML5 1 56

Page 57: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

•  afficheProfil.php fait appel à des fonctions PHP contenues dans le fichier utilitaires.php chargé par la fonction prédéfinie PHP require_once(nom de fichier)

•  Les fonctions utilitaires facilitent la création d’un document HTML5 minimum (ce sont des raccourcis)

B. Habert 2013 Langages du Web - HTML5 1 57

Page 58: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

Réalisation

•  afficheProfil.php se contente d’afficher (via une boucle foreach) les associations variable-valeur qui sont contenues dans le tableau $_POST qui donne accès à l’environnement transmis par renseigneProfilK.html

B. Habert 2013 Langages du Web - HTML5 1 58

Page 59: INF04 – HTML5 1 Langages’etstructure’du’Web · Plan du cours • Programmation côté client (4 séances) BH – HTML5 • Nouvelles balises « sémantiques » • Rich media

HTML5ISATION : JEU DES DIFFÉRENCES

B. Habert 2013 Langages du Web - HTML5 1 59