La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Haute Ecole de la ville de Liège -

Présentations similaires


Présentation au sujet: "Haute Ecole de la ville de Liège -"— Transcription de la présentation:

1 Haute Ecole de la ville de Liège -
©Julian Hardenne 3TI Iset Langages Avancés (R. Billen) Haute Ecole de la ville de Liège - Les départements Scientifique et Technologique Section Informatique et Systèmes

2 HTML5 & CSS3 Introduction
©Julian Hardenne 3TI Iset Cours de Langages Avancés (R. Billen) Je ne pense pas que nous puissions déjà parler d’un web 3.0, mais des avancées significatives sont déjà implémentées et d’autres sont sur la bonne voie. Insérer nativement une vidéo ou un fichier audio est désormais possible, même si quelques contraintes sont toujours de mise. Le W3C et le WHATWG misent beaucoup sur la simplicité; plus besoin d’être un grand connaisseur pour faire quelque chose de beau, mais ne vous étonnez pas si vous devez faire face à plus de complexité si vous êtes perfectionniste (côté design, entendons nous bien). J’ai donc choisi de vous présenter ici plusieurs balises HTML (il faut savoir qu’il existe deux fois plus de balises en HTML5 qu’en HTML4) ainsi que les avancées en CSS3, déjà disponibles et supportées par tous les navigateurs majeurs actuels. Concernant la partie sur les WebForms 2.0, c’est actuellement grâce à Opéra que vous obtiendrez les meilleurs résultats. Ce travail ne contient donc pas une liste exhaustive des balises HTML5 ou des propriétés CSS3, ce n’est que la partie émergée de l’iceberg.

3 Logiciels utilisés Conversion video : MiroVideoConverter (gratuit)
Conversion audio : Switch Sound File Converter de NCH (gratuit) Pour les couleurs : la boite à couleurs (gratuit) Pour les codes sources : Notepad++ (gratuit) Les pages ont été testées sur : Opéra 11.52 IE9 Firexox 7.01 Safari 5.1.1 Google Chrome (R15) ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

4 Petite histoire de l’HTML
HTML 1 n’a jamais existé [1991]. HTML 2 aux mains de l’IETF. HTML 3 Sir Tim reprend le pouvoir. HTML 4 un bazar très puissant. XHTML 1 de l’ordre et de la discipline. XHTML 1.1, on craint le pire XHTML 2, adieu le web ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

5 Pourquoi XHTML 2 ? Arrivée du WHATWG !
HTML était mort depuis la version 4. Les spécifications étaient troubles. Vive le XML. Arrivée du WHATWG ! XHTML2 ne verra jamais le jour. Ian Hickson prend position. Naissance du Web Hypertext Application Technology WG ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

6 W3C vs WHATWG Démocratie contre monarchie
Web Forms 2.0 et Web Apps 1.0 Naissance de l’HTML5. 2006, l’année de la lucidité, quoique… HTML5 et HTML 5 2009 le certificat de décès est rendu public L’XHTML est mort, vive la syntaxe XHTML ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

7 L’HTML5 Commit-Then-Review & Review-Then-Commit
L’HTML5 sera une proposition de recommandation… … en 2022 10 ans pour l’élément « abbr » Une évolution, pas une révolution et c’est tant mieux. Si vous codez en HTML, vous codez déjà en HTML5 ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

8 HTML5, les fondements Ne pas réinventer la roue.
C’est grave, Doctype ? <meta http-equiv="Content-Type" content="text/html; » charset=UTF-8">, c’est fini ! <meta charset="UTF-8"> <script type="text/javascript" src="file.js"></script> <script src="file.js"></script> <link rel="stylesheet" type="text/css" href="file.css"> <link rel="stylesheet" href="file.css"> ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen) ©Julian Hardenne 3TI. Iset - 2011. Langages Avancés (R. Billen)", "width": "800" }

9 Les dinosaures vivent encore
©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

10 Rappel des termes HTML Une balise comporte CSS Un sélecteur
Des attributs Contenant des valeurs CSS Un sélecteur Définit des propriétés ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

11 L’élément a gonflé aux hormones
Un inline qui enveloppe ! <a href="index.html"> <h2>Mon super site</h2> <p>Et tout ça dans un lien !</p> </a> Est-ce que ce sera bientôt supporté ? Natif et légalisé ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

12 :visited, what the internet knows about you
©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

13 <figure> et <figcaption>
<mark> <strong> et <em> ne sont pas ce que l’ont croit ! Donner une importance au texte Pourquoi pas un span et la propriété background-color ? <figure> et <figcaption> <figure> BLOCK : Indique la présence d'une figure (image, code...) illustrant le texte. <figcaption> INLINE : Description de la figure. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

14 CSS3 : support et attentes
Polices exotiques Ombrages Transparence Coins arrondis Positionnement avancé Rotation ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

15 Les sélecteurs… késako ?
Liste des sélecteurs : A + B : une balise qui en suit une autre A[attribut] : une balise qui possède un attribut A[attribut="Valeur"] : une balise, un attribut et une valeur A[attribut*="Valeur"] : une balise, un attribut et un morceau de valeur ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

16 Les types de police .ttf : TrueType Font. Fonctionne sur IE9 et tous les autres navigateurs. .eot : Embedded OpenType. Fonctionne sur Internet Explorer uniquement, toutes versions. Ce format est propriétaire de Microsoft. .otf : OpenType Font. Ne fonctionne pas sur Internet Explorer .svg : SVG Font. Le seul format reconnu sur les iPhone et iPad pour le moment. .woff : Web Open Font Format. Nouveau format conçu pour le Web qui fonctionne sur IE9 et tous les autres navigateurs. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

17 Comment faire ? @font-face
{ /* Définition d'une nouvelle police nommée LearningCurveProRegular */ font-family: 'LearningCurveProRegular'; src: url('LearningCurve_OT-webfont.eot'); src: url('LearningCurve_OT-webfont.eot?#iefix') format('embedded-opentype'), url('LearningCurve_OT-webfont.woff') format('woff'), url('LearningCurve_OT-webfont.ttf') format('truetype'), url('LearningCurve_OT-webfont.svg#LearningCurveProRegular') format('svg'); } h1 /* Utilisation de la police qu'on vient de définir sur les titres */ { font-family: 'LearningCurveProRegular', Arial, serif; ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

18 Restons simples Trouver des polices :
FontSquirrel et son générateur sympathique Le reste, c’est du copier-coller ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

19 Arrière-plans multiples
Images de fond : body { background: url("soleil.png") fixed no-repeat top right, url("neige.png") fixed; } La première image de cette liste sera placée par-dessus les autres. Attention donc, l'ordre de déclaration des images a son importance : si vous inversez le soleil et la neige dans le code CSS précédent, vous ne verrez plus le soleil ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

20 Le z-index, une solution ?
Les éléments avec le z-index le plus petit, seront les plus « visibles ». Pas de position, pas de z-index Le z-index ne nous aidera donc pas ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

21 Opacity, la transparence…
la propriété opacity et la notation RGBa. Opacity : Avec une valeur de 1, l'élément sera totalement opaque : c'est le comportement par défaut. Avec une valeur de 0, l'élément sera totalement transparent. Il faut donc choisir une valeur comprise entre 0 et 1. Par exemple avec 0.6, votre élément sera opaque à 60%... et on verra donc à travers ! ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

22 Tout doit disparaître ! Opacity appliqué à un élément rendra tout le contenu de cet élément transparent. Pour ne modifiez que la transparence du bloc actuel, faites confiance à la notation RGBa. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

23 RGB…a p { background-color: rgb(0,0, 255); /* Pour les anciens navigateurs */ background-color: rgba(0,0, 255,0.5); /* Pour les navigateurs plus récents */ } ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

24 Et si on arrondissait les angles ?
p { border-radius: 10px 5px 10px 5px; } En haut à gauche En haut à droite En bas à droite En bas à gauche ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

25 Des courbes elliptiques
Il est également possible d'affiner l'arrondi de nos angles en créant des courbes elliptiques. Il suffit d’indiquer 2 valeurs à la suite p { border-radius: 200px 100px; border-top-left-radius: 200px 100px; top left } ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

26 Générateur d’angles In the shadow… http://border-radius.com
Les ombres des boîtes Les ombres du texte ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

27 box-shadow : les ombres des boîtes
La propriété box-shadow s'applique à tout le bloc et prend 4 valeurs dans cet ordre : Le décalage vertical de l'ombre Le décalage horizontal de l'ombre L'adoucissement du dégradé La couleur de l'ombre ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

28 Mise à l’ombre… p { box-shadow: 6px 6px 0px black; }
On peut aussi rajouter une quatrième valeur facultative : inset. Dans ce cas, l'ombre sera placée à l'intérieur du bloc, pour donner un effet enfoncé. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

29 Ombre du texte p { text-shadow: 2px 2px 4px blue; }
IE à partir de IE10 ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

30 Rotation, un must transform: rotate(Xdeg)
Encore mal géré, obligé d’utiliser les préfixes moteurs. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

31 Trop de DIV tue le DIV <header> <footer> <nav>
<section> <aside> <article> ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

32 Résumé d’uni mise en page
<header> - l’en-tête <footer> - le pied-de-page <nav> - les principaux liens de navigation - Menu(s) du site <section> - les parties thématiques de la page <aside> - les informations complémentaires <article> - Un article provenant d'une autre page ? ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

33 ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

34 HTML5shiv Placez ce code dans la balise <head>
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com /svn/trunk/html5.js"></script> <![endif]--> Sans rentrer dans le détail, sachez que <!--[if lt IE 9]> est un commentaire conditionnel. Ne sera lu que par IE < 9 ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

35 Rappel sur le centrage de blocs
width: 350px; On a indiqué une largeur (obligatoire) margin: auto; On peut donc demander à ce que le bloc soit centré avec "auto "   Text-align permettra dès lors de centrer le contenu. Centrage vertical impossible comme ça. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

36 Le centrage vertical vertical-align ne permet pas : Ça sert à quoi ?
De positionner verticalement un texte dans un bloc quelconque (DIV, P, etc...) De positionner verticalement un bloc dans un autre bloc. Ça sert à quoi ? Principalement pour les tableaux… Ou grâce à l’astuce table-cell (impossible pour IE<7) ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

37 Flottant à tout-va plutôt que Float : Ça sort d’où ? inline-block
Comportement des input par défaut fonctionnent seulement pour les inline sous IE < 8 Ça sort d’où ? Display inline block ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

38 Et après ? Retour à vertical-align :
baseline : aligne la base de l'élément avec celle de l'élément parent (par défaut) top : aligne en haut middle : aligne au milieu bottom : aligne en bas (valeur en px ou %) : aligne à une certaine distance de la ligne de base (baseline) ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

39 Accepter l’échec IE fait des progrès dégradation gracieuse
Problème des mises à jour utilisateur dégradation gracieuse Accepter l’imperfection du design mais garder la perfection de la navigation ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

40 WebForms 2.0 autofocus required placeholder autocomplete
<time>, donner de l’importance aux dates citées La progressbar fait son entrée Max et Value ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

41 Javascript inutile ? <input type="email" />
<input type="url" /> <input type="tel" /> <input type="number" /> <input type="range" /> <input type="color" /> ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

42 Manipuler une date <input type="date" />
date : pour la date (05/08/1985 par exemple) time : pour l'heure (13:37 par exemple) week : pour la semaine month : pour le mois datetime : pour la date et l'heure (avec gestion du décalage horaire) datetime-local : pour la date et l'heure (sans gestion du décalage horaire) ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

43 Audio Format : Une solution : MP3
AAC : utilisé majoritairement par Apple sur iTunes, c'est un format de bonne qualité. Les iPod, iPhone et autres iPad savent les lire sans problème. OGG : le format Ogg Vorbis est très répandu dans le monde du logiciel libre, notamment sous Linux. WAV (format non compressé) : A éviter ! ! ! (trop lourd) Une solution : Proposer plusieurs sources ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

44 Insérer de l’audio <audio controls>
<source src="rango.mp3"></source> <source src="rango.ogg"></source> Veuillez mettre votre navigateur à jour ! </audio> ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

45 Video <video src= " chemin "></video>
poster (image à la place de la vidéo, avant lancement) controls (barre de contrôle) width , height loop (jouer en boucle) autoplay (la vidéo sera jouée en boucle) Preload (on ne peut pas le forcer, ça dépend du nav.) auto (par défaut) metadata : charge uniquement les métadonnées (durée, dimensions, etc.). none : pas de préchargement. Utile si vous nous voulez pas gaspiller de bande passante sur votre site. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

46 Formats video 3 éléments indispensables :
Un format conteneur : c'est un peu comme une boîte qui va servir à contenir les deux éléments ci-dessous. Un codec audio Un codec vidéo H.264 : l'un des plus puissants et des plus utilisés aujourd'hui... mais il n'est pas 100% gratuit. (flou juridique) Ogg Theora : un codec gratuit et libre de droits, mais moins puissant que H.264. (Linux) WebM : un autre codec gratuit et libre de droits, plus récent. Proposé par Google, c'est le concurrent le plus sérieux à H.264 à l'heure actuelle. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

47 Audio et Video http://www.mirovideoconverter.com/ ©Julian Hardenne 3TI
Iset Langages Avancés (R. Billen)

48 WebApps Canvas : permet de dessiner au sein de la page web, à l'intérieur de la balise HTML <canvas>. SVG : permet de créer des dessins vectoriels au sein des pages web. Drag & Drop : permet le glisser / déposer des objets dans la page web. Web Sockets : permet des échanges plus rapides en temps réel entre le navigateur du visiteur et le serveur qui gère le site web (c'est une sorte d'AJAX amélioré). C'est un peu l'avenir pour les applications web, qui pourront devenir aussi réactives que les vrais programmes. WebGL : permet d'introduire de la 3D dans les pages web, en utilisant le standard de la 3D OpenGL. Les scènes 3D sont directement gérées par la carte graphique. ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)

49 Bibliographie CSS avancées Vers HTML 5 et CSS 3, Raphaël Goetter, Eyrolles. HTML5 pour les Web Designers, Jeremy Keith, Eyrolles Site du Zéro, Ainsi que les sources citées dans la présentation... ©Julian Hardenne 3TI Iset Langages Avancés (R. Billen)


Télécharger ppt "Haute Ecole de la ville de Liège -"

Présentations similaires


Annonces Google