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

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

Formation : WEbMaster

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

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

Programmation Web TP1 - HTML

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

HTML. Notions générales

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

< Atelier 1 /> Démarrer une application web

Présentation du Framework BootstrapTwitter

STID 2ème année : TP Web/PHP

Programmation Web. Madalina Croitoru IUT Montpellier

Gestion Électronique de Documents et XML. Master 2 TSM

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

TP JAVASCRIPT OMI4 TP5 SRC

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

HTML/CSS - Travaux Pratiques 2

Introduction à. Oracle Application Express

RESPONSIVE WEB DESIGN

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

Module BD et sites WEB

Les outils de création de sites web

HTML, CSS, JS et CGI. Elanore Elessar Dimar

creer votre site internet en html/css

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

Optimiser pour les appareils mobiles

Programmation Internet Cours 4

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

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Normes techniques 2011

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

SYSTÈMES D INFORMATIONS

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

Notice d accessibilité HTML, CSS et JavaScript

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Pack Fifty+ Normes Techniques 2013

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

Site web établissement sous Drupal

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

SII Stage d informatique pour l ingénieur

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

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

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Les services usuels de l Internet

L'accessibilité des applications web mobiles

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Notes pour l utilisation d Expression Web

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Formation HTML / CSS. ar dionoea

Petite définition : Présentation :

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

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

mon site web via WordPress

Intégrateur Web HTML5 CSS3

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

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Bernard Lecomte. Débuter avec HTML

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

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Application Web et J2EE

Pour en expliquer le principe, on se limitera à deux exemples :

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Bonnes pratiques de développement JavaScript

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

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

Optimiser les s marketing Les points essentiels

Se former pour réussir!

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

SUPPORT DE COURS / HTML

4. SERVICES WEB REST 46

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

... Cahier des charges Site Internet Office de Tourisme Lesneven - Côte des Légendes MAITRE D OUVRAGE

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

Web Site Story Etude, développement et valorisation de votre présence internet

Projet en nouvelles technologies de l information et de la communication

Guide de création de site web optimisé

Sana Sellami. Licence Professionnelle SIL

Logiciels de référencement

Publier dans la Base Documentaire

CREATION d UN SITE WEB (INTRODUCTION)

Du livre enrichi et de l EPUB 3

WebSSO, synchronisation et contrôle des accès via LDAP

Architectures web/bases de données

A. L audit de l ergonomie 11. B. Quand réaliser un audit de l ergonomie? 11. C. Notions élémentaires Utilisabilité 12 2.

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

Créer une mise en page

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

Banque de données d offres & carte web interactive d offres

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

Le référencement naturel

Système de gestion de contenu

Transcription:

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

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

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

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

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 B. Habert 2013 Langages du Web - HTML5 1 5

INTRODUCTION À HTML5 B. Habert 2013 Langages du Web - HTML5 1 6

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

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

(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

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

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

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

Permissivité HTML5ienne http://www.w3.org/tr/html-designprinciples/ 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

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

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

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

Validation http://validator.w3.org/ http://html5.validator.nu/ B. Habert 2013 Langages du Web - HTML5 1 17

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

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

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-aelement.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

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

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) Incertitude sur le rôle de <i> et <b> NB <em>/<strong> autoimbricables http://html5doctor.com/i-bem-strong-element/ B. Habert 2013 Langages du Web - HTML5 1 22

Flous <b> : «mettre en valeur une portion de texte, sans pour autant lui conférer une importance particulière» <i> : «mettre en exergue une portion de texte différencier certains termes» http://www.w3.org/tr/html5-author/the-belement.html#the-b-element http://www.w3.org/tr/html5-author/the-ielement.html#the-i-element B. Habert 2013 Langages du Web - HTML5 1 23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HTML5 : MISES EN OEUVRE B. Habert 2013 Langages du Web - HTML5 1 41

FORMULAIRES B. Habert 2013 Langages du Web - HTML5 1 42

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

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

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

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

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

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

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

Réalisation B. Habert 2013 Langages du Web - HTML5 1 50

Réalisation B. Habert 2013 Langages du Web - HTML5 1 51

Réalisation B. Habert 2013 Langages du Web - HTML5 1 52

Réalisation B. Habert 2013 Langages du Web - HTML5 1 53

Réalisation B. Habert 2013 Langages du Web - HTML5 1 54

Réalisation B. Habert 2013 Langages du Web - HTML5 1 55

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

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

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

HTML5ISATION : JEU DES DIFFÉRENCES B. Habert 2013 Langages du Web - HTML5 1 59