Les dernières actualités d'Alsacreations.com
Cet ouvrage en français, traduit de sa version originale américaine, est certainement l'un des mieux présentés que j'ai pu lire dans ce domaine.
Ce livre souhaite s'adresser à trois cibles précises : les débutants qui souhaitent découvrir les langages HTML et CSS, les éditeurs de contenu web qui souhaitent proposer une plus-value à leurs contenus, et les professionnels qui tiennent à enrichir leurs connaissances.
Dès le début de la lecture, il est assez surprenant et agréable d'avoir une analyse du code se rapprochant de la dissection des éléments HTML, ainsi que de la syntaxe de CSS (un peu plus loin dans le bouquin). Les informations essentielles sont détaillées et sont parfois même répétées au fur et à mesure de la lecture de l'ouvrage.
De quoi favoriser votre mémoire visuelle sans perturber pour autant les fanatiques du code.
Son nombre de pages (500), ne doit pas vous faire peur, puisque il est utile à la bonne présentation du contenu : ce bouquin reste très facile à lire.
Le bouquin passe d'abord en revue les éléments HTML les plus utilisés, pour ensuite aborder les styles que l'on peut y appliquer, la partie CSS donc.
Des ressources en ligne (code des exemples, etc.) sont disponibles directement via le site de Pearson.
Mon avis est assez mitigé.
La mise en page du livre est vraiment au service de son contenu, c'est un point important et très agréable.
Au début de cet ouvrage l'auteur semble vouloir préter une attention particulière à l'accessibilité, notamment lorsqu'il aborde l'élément <img>
. Cependant en allant plus loin dans l'ouvrage, on constate que pour lui l'élément <label>
est optionnellement à associer à un champ de formulaire, l'attribut summary
de <table>
n'est jamais présenté et scope
est souvent omis.
L'auteur annonce également à de nombreuses reprises des attributs ou éléments HTML comme étant dépréciés alors qu'ils ne le sont pas, et inversement.
J'ai fini par relever pas moins d'une quarantaine de coquilles, fautes dans le code, attributs mal écrits, erreurs dans les sélecteurs CSS, etc.
Le contenu de ce livre est donc à prendre avec des pincettes, et si des incohérences semblent vous sauter au visage, n'hésitez pas à consulter la documentation sur internet : une recherche Google devrait faire l'affaire.
Une fois arrivé à la fin de ma lecture, je me suis demandé : pourquoi aborder HTML5 et CSS3 si les bases ne sont pas suffisamment précises ?
La réponse est simple : ce bouquin a pour but la découverte des langages.
Ce livre s'adresse donc, d'après moi, principalement à deux cibles précises : les débutants qui souhaitent découvrir les langages HTML et CSS, ainsi que les éditeurs de contenu web qui souhaitent proposer une plus-value à leurs contenus en enrichissant leurs connaissances.
Dans tous les cas prenez un peu de recul après la lecture de ce bouquin, qui n'en reste pas moins un bon moyen de découvrir les langages HTML et CSS.
Vous connaissez certainement les Media Queries CSS. Celles-ci permettent d'adapter les instructions de style appliquées à un document HTML, en fonction de nombreux critères (résolution de l'écran, dimensions, périphérique de sortie). C'est la technique la plus souple et la plus utilisée actuellement pour ajuster dynamiquement l'affichage et obtenir un rendu graphique différent sur écrans classiques, mobiles, tablettes, et autres moyens d'accéder au web.
Avec matchMedia(), les mêmes capacités de détection sont rendues disponibles en JavaScript. La syntaxe de la requête média reste la même, ce qui est bien agréable. Ainsi, il sera possible de déclencher des actions complémentaires à ce que l'on peut déjà construire en CSS, que ce soit au chargement du document ou bien à n'importe quel moment à la demande en exécutant matchMedia().
C'est une méthode qui dépend de l'objet window
(la fenêtre du navigateur) et qui prend en argument une chaîne de texte contenant l'expression à tester, pour retourner true
ou false
via sa propriété matches
.
<script>
if (window.matchMedia("(min-width: 600px)").matches) {
/* La largeur minimum de l'affichage est 600 px inclus */
} else {
/* L'affichage est inférieur à 600px de large */
}
</script>
Si l'on examine de plus près l'objet retourné dans une console JavaScript...
Celui-ci est de type MediaQueryList
, et équipé de deux propriétés de base :
matches
(booléen true
/false
qui permet de faire le test)media
(la requête elle-même)Bien sûr, cette méthode vient en complément de CSS et n'est pas vouée à remplacer les Media Queries là où elles sont déjà efficaces. Le but est de se brancher sur la gestion de la détection pour aller plus loin qu'une conséquence sur l'affichage des éléments.
// Fonction exécutée au redimensionnement
function redimensionnement() {
var result = document.getElementById('result');
if("matchMedia" in window) { // Détection
if(window.matchMedia("(min-width:600px)").matches) {
// Il y a de la place
} else {
// Il y en a moins...
}
}
}
// On lie l'événement resize à la fonction
window.addEventListener('resize', redimensionnement, false);
L'événement resize
est tout indiqué pour déclencher une vérification avec matchMedia()
. Consultez l'exemple suivant pour le voir en action.
Le dernier exemple va plus loin en chargeant des fichiers JavaScript selon le résultat renvoyé par matchMedia()
.
if(window.matchMedia("(min-width:800px)").matches) {
// Chargement de jQuery dans un nouvel élément <script> ajouté à la section <head>
var script1 = document.createElement('script');
script1.type='text/javascript';
script1.src = '//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js';
script1.onload = function() {
// Lorsque jQuery est chargé...
// On fait la même chose : chargement dynamique // mais cette fois-ci avec jQuery (c'est plus simple)
$.getScript('slideshow.js');
}
// Insertion dans le DOM de la balise script initiale
document.getElementsByTagName('head')[0].appendChild(script1);
}
Il s'agit de faire appel à jQuery et un autre fichier de script conçu sur mesure pour lancer un slideshow si la largeur de l'affichage le permet.
Cette technique ici sert uniquement à la démonstration et exploite un script minimaliste pour sa compréhension. L'intérêt majeur serait de pouvoir détecter ce que l'on ne peut pas faire avec du JavaScript conventionnel, par exemple l'orientation (mentionnée précédemment) ou la densité de pixels pour charger des images appropriées : une démonstration est disponible sur Thinkmobilefirst : Conditional retina pictures loading.
Navigateurs | Versions |
---|---|
Internet Explorer 10 | |
Firefox 6 Firefox Android 15 | |
Chrome 9 Chrome Mobile 18 (Android 4+) | |
Opera 12.1 Opera Mobile 12.1 | |
Safari 5.1 Safari Mobile 5.0 |
|
Android Browser 3.0 | |
Blackberry Browser 10 |
Pour les anciens moteurs qui ne supporteraient pas nativement matchMedia, il existe des bibliothèques JavaScript, détectant (du mieux qu'elles peuvent) les changements d'état, notamment matchMedia.js développée par Paul Irish.
Les dispositifs mettant en exergue la sémantique qui permet notamment aux moteurs de recherche d'appréhender des informations précises sur le contenu d'une page Web ont été valorisés par l'avènement de la technologie Microdata dans HTML5. Fort des expérimentations en matière de balisage sémantique fournies par les microformats, on a pu mettre en place une syntaxe permettant de faciliter ce type de mise en évidence.
Trois attributs principaux sont utilisés à cet effet :
itemscope
(signication : à quel champ sémantique correspond l'élément ?),itemtype
(précise le type d'élément concerné),itemprop
(les différentes propriétés, par exemple : le nom, la date, l'adresse, l'url…)
Ils sont complétés par itemref
(permet de faire référence à un type déjà défini dans la page) et itemid
(fait référence à une clé unique, reconnue de façon quasi-universelle).
Pour compléter ces attributs, tout se joue autour de la définition d'un vocabulaire spécifique à chaque type d'identification (personne, évènement, lieu,…). Et à ce petit jeu-là, schema.org est une référence en la matière, initiative commune de Google, Yahoo, Bing et Yandex décidée en 2011.
Voici un petit tour d'horizon des différents types et propriétés fournis par cette organisation. Mais avant cela, un petit rappel ou un éclaircissement pour ceux qui ne connaîtraient pas les Microdatas.
A la fin du tutoriel sur les Microformats, nous faisions une petite référence aux Microdatas, nous y parlions notamment des quatre attributs mentionnés plus haut. L'ensemble de ces attributs apporte des informations hiérarchiquement structurées.
itemscope
et itemtype
itemscope
indique simplement que les informations contenues dans la balise ont été enrichies et itemtype
indique à quel type de données nous avons à faire. Exemple :
<article itemscope itemtype="http://schema.org/Article">
<!-- Les données formatées concernant l'article (titre, auteur, permalien…) -->
</article>
Dans cet exemple, on donne l'étendue des informations microformatées (itemscope
) et le type d'élément auquel ils se réfèrent, ici, un article (itemtype
).itemprop
<article itemscope itemtype="http://schema.org/Article">
<header>
<h1 itemprop="name">Microformats versus Microdatas</h1>
<ul>
<li>Le <time itemprop="dateCreated" datetime="2012-11-20T20:00">20 novembre 2012</time> par <span itemprop="creator">Jojaba</span></li>
<li>Permalien : <a href="http://lien_vers_article.html" itemprop="url">Microformats versus Microdatas</a></li>
<ul>
</header>
<section itemprop="text">
<p>
Les Microdatas sont relativement récents, puisque apparus avec HTML5 alors que les microformats sont bien plus anciens (le premier µF fait son apparition en 2003), ce qui leur donne des atouts majeurs : ils ont pu être éprouvés, ils ont évolué, ils ont été pris en compte par bon nombre d'acteurs sur le Web (voir à ce sujet <a href="http://tantek.com/presentations/2012/07/html5">la diapo de Tantek Çelik</a>… Pour autant, il ne faut surtout pas négliger les Microdatas qui sont LA solution d'avenir. D'ailleurs, ils sont directements inspirés des Microformats. D'autre part, ils sont beaucoup plus adaptés aux différentes situations que l'on peut rencontrer grâce au vocabulaire fournit par schema.org. Leur seul défaut étant qu'ils ne sont utilisables qu'avec HTML5…
<p>
<p>
Conclusion : je dirais que les microformats peuvent encore être utiles pour des pages qui ne sont pas codées en HTML5 et que microdata devrait être utilisé le plus possible (d'aileurs, ils sont <a href="http://support.google.com/webmasters/bin/answer.py?hl=fr&answer=99170&topic=1088472&ctx=topic">recommandés par Google</a>).
</p>
</section>
</article>
itemprop="name"
: indique le nom de l'article dans ce cas de figure mais pourrait également indiquer le nom d'une personne si on est dans le cas de l'identification de personne.itemprop="dateCreated" datetime="2012-11-20T20:00"
: date de création de l'article. dans l'attribut datetime
on place la date au format ISO 8601itemprop="creator"
: l'auteur de l'article.itemprop="text"
: le contenu de l'article.itemref
itemref="titre emplacement"
inclura les éléments ayant comme id titre et emplacement.Il peut arriver qu'une propriété soit elle-même définie par d'autres propriétés et donc être considérée comme étant un type d'élément. Elle sera donc imbriquée dans type parent. Petit exemple pour comprendre :
<article itemscope itemtype="http://schema.org/Event">
<hgroup>
<h1 itemprop="name">Kiwiparty 2051</h1>
<p>Proposée par <span itemprop="attendee" itemscope itemtype="http://schema.org/Person"><span itemprop="name">Raphaël</span> et <span itemprop="colleague">Rodolphe</span> - <span itemprop="affiliation">Alsacréations</span></span></p>
</hgroup>
<section itemprop="description">
<p>Cette 52e édition vous permettra de découvrir les nouvelles balises HTML 13, La spécification CSS 9.2.a et bien d'autres nouveautés. Venez nombreux !</p>
</section>
<footer>Lieu : <span itemprop="location">Epitech</span> | Date : <time itemprop="startDate" datetime="2051-04-01T09:00">1er avril 2051 à 9h00</footer>
</article>
Le type imbriqué (Person
) a été mis en gras dans l'exemple ci-dessus.
itemtype
disponibles sur schema.org
Vous l'aurez compris, tout se joue au niveau du vocabulaire utilisé. Plus il est riche, plus il est précis et plus vous pourrez donner du sens à votre contenu. Schema.org propose une hiérarchie assez conséquente, touchant à bon nombre de domaines, jugez-en plutôt vous-même : Toute l'arborescence des types définis par schema.org. Le principe est simple : plus vous descendez dans l'arborescence (parent » fils), plus le vocabulaire se précisera. Le parent "racine" Thing
est défini par quelques propriétés de sens assez large (additionalType
, description
, image
, name
, url
) puisqu'il devrait pouvoir s'appliquer à tout type d'élément. Au fur et à mesure de la progression dans la hiérarchie (vers le bas) vous constaterez que les propriétés définissent une sémantique de plus en plus pointue. Par exemple, Thing » CreativeWork » Article
est affublé de 3 propriétés : articleBody
, articleSection
, wordCount
.
Un autre point intéressant dans l'utilisation des éléments hiérarchiques définis par schema.org est que chaque fils hérite des propriétés de son (ses) parent(s). En reprenant l'exemple précédent, le type Article
a donc comme propriétés spécifiques articleBody
, articleSection
, wordCount
, mais également toutes les propriétés du niveau supérieur c'est à dire celles de CreativeWork
(about, accountablePerson, aggregateRating, alternativeHeadline, associatedMedia, audience, audio, author, award, awards, comment, contentLocation, contentRating, contributor, copyrightHolder, copyrightYear, creator, dateCreated, dateModified, datePublished, discussionUrl, editor, encoding, encodings, genre, headline, inLanguage, interactionCount, isFamilyFriendly, keywords, mentions, offers, provider, publisher, publishingPrinciples, review, reviews, sourceOrganization, text, thumbnailUrl, version, video
) et de Thing
(additionalType, description, image, name, url
).
Vous pouvez constater cet état de fait dans la référence du schéma Article sur le site de schema.org.
CreativeWork
, on précise que la propriété author
devrait être du type Organization
ou Person
). Or ceci n'est pas une obligation, vous pouvez également utiliser du texte normal ou une URL à la place de ces sous-types. Il est également possible d'utiliser un enfant du type recommandé, par exemple, si la valeur attendue est de type Place
, vous pouvez utiliser à la place LocalBusiness
.<time>
, insérées dans l'attribut datetime
.<link>
pour les propriéés n'ayant que peu de valeurs ou pour des références canoniques.<meta>
et l'attribut content
à cet effet.<meta>
sur schema.orgSchema.org démontre une grande souplesse d'utilisation, de nombreux vocabulaires adaptés à beaucoup de situations, c'est également une de ses forces : cela facilite l'implémentation de contenu sémantique par le développeur. En outre :
Search engines including Bing, Google, Yahoo! and Yandex rely on this markup to improve the display of search results, making it easier for people to find the right web pages.
Les moteurs de recherche majeurs prennent en charge le vocabulaire schema.org pour l'affichage de résultats de recherche. Tout est là pour faire de la sémantique une plus-value indéniable de nos sites !
Sous-titré "Le guide de survie de l'intégrateur !" et préfacé par les experts de Temesis Elie Sloïm et Laurent Denis, le livre "Intégration web - les bonnes pratiques" est, comme son nom l'indique, un condensé de méthodologies destiné aux de l'intégrateur HTML et CSS voire plus généralement aux développeurs web front-end.
Corinne Schillinger signe un ouvrage très complet que j'attendais avec impatience depuis longtemps. Un livre en français, entièrement dédié à l'intégration web on n'en voit pas si souvent... D'autant plus que nous sommes chanceux : le livre est très bon !
Divisé en quatre grandes parties, il recense les bonnes pratiques de la création d'un site web afin de le rendre accessible, fonctionnel et respectueux des standards du web. Presque chaque paragraphe est ponctué d'un lien permettant d'en apprendre davantage sur le thème abordé, ce qui est un véritable plus permettant de vérifier l'information et de la compléter si nécessaire.
En clair, tout y est : checklists de qualité, compatibilité entre les navigateurs, HTML5 et sémantique, rôles ARIA, frameworks et préprocesseurs CSS, feuilles de styles, compression des images pour le web, accessibilité... Je n'ai pas encore trouvé un livre semblable, traitant de ce sujet de manière aussi pertinente et intéressante !
Attention tout de même : comme indiqué dans l'avant-propos, le livre n'est pas destiné aux débutants qui "souhaitent décrouvrir les joies du code". Par contre, si comme moi vous êtes à l'aise avec les langages HTML et CSS, que vous êtes rigoureux dans l'écriture du code et que vous êtes sensible au respect des normes et aux rêgles d'accessibilité sans trop savoir par où commencer, foncez, ce livre est fait pour vous !
Comme promis, une nouvelle Opération Kiwiz commence dès aujourd'hui ! Notre partenaire Eyrolles va permettre à tous les heureux possesseurs de Kiwiz de les échanger contre des ouvrages informatiques de référence.
Les Kiwiz représentent une sorte de cagnotte que chaque membre peut créditer ou débiter.
Pour en savoir plus, parcourez la page Kiwiz d'Alsacréations. Pour connaître le nombre de Kiwiz en votre possession, faites un tour sur votre profil.
Sommairement, on gagne des Kiwiz en participant aux concours, en publiant des actualités, des astuces ou tutoriels. Vous trouverez le barème des gains détaillé sur votre page Kiwiz.
En règle générale, nous sommes friands de tous les articles ayant trait aux domaines des Standards web et plus généralement les thèmes autour des standards, de HTML5, CSS3, le Webdesign, les gestionnaires de contenu (CMS), l'accessibilité numérique, jQuery, AJAX et le Web mobile.
N'hésitez pas à visiter la page procédure de proposition d'articles et tutoriels.
Pour rappel, ce n'est pas grave si vous ne disposez pas suffisamment de Kiwiz pour cette session : rien de vous empêche de les accumuler pour l'une des prochaines opérations.
Pendant environ deux semaines (fin de l'opération le vendredi 30 novembre 2012), vous allez pouvoir échanger vos Kiwiz contre des livres informatique des éditions Eyrolles, selon le barème de gains suivant :
Je récolterai les coordonnées et choix des bénéficiaires à la fin du mois et les transmettrai à Eyrolles pour l'envoi des livres. Il vous suffit de m'envoyer un Message Privé avec vos choix d'ouvrages, votre nom et vos coordonnées postales complètes.
Encore un grand merci à Eyrolles, toujours partant pour nos différents projets !
MobileHTML est un tableau de compatibilité récapitulatif à destination des plate-formes mobiles. On y retrouve le niveau de prise en charge des fonctionnalités HTML5 mais aussi CSS3 et API variées. Les versions testées sont un peu plus détaillées que sur le fameux site Caniuse.com.
Dans la même lignée que "Typo & Web" précédemment évoqué, "Webgrids" traite - en résumé - de la mise en page web.
Plus en détail, le sous-titre est révélateur : "Structure et typographie de la page web". L'ouvrage revient aux fondamentaux de la mise en page, à ses racines historiques et culturelles dans le but de faire des parallèles évocateurs. La structure d'un document est abordée de manière complète, et les enjeux sont expliqués clairement et illustrés.
Le livre traite de tous les types de grilles : les règles imposées et comment les enfreindre, l'importance du rythme vertical, les à-priori et l'ordre établi qui règnent déjà sur un support pourtant bien jeune. Mais il y est également question de composition, des bonnes pratiques et des parti-pris potentiels, le tout de manière documentéé, illustrée et commentée.
C'est un ouvrage qui permet de conscientiser et théoriser les possibilités de composition, de structure et de typographie disponibles sur le web - et permet de réaliser qu'en définitive le web n'est pas aussi limité qu'on l'eût cru. Il s'adresse d'aileurs autant aux intégrateurs qu'aux graphistes et webdesigners.
Qualité Web, le livre, est sorti il y a quelques jours. Les plus impatients ont pu le pré-commander avant sa sortie, le 15 Octobre 2012.
Co-écrit par Élie Sloïm, Muriel de Dona, Laurent Denis et Fabrice Bonny, le livre, comme son nom l'indique, aborde la qualité Web de manière globale via le projet Opquast (pour OPen QUAlity STandards, pour ceux qui l'ignoreraient).
Voici le sommaire complet :
Si on résume un peu, le livre se compose en fait de trois grandes parties :
Même si le livre peut paraitre conséquent (presque 400 pages et 1 kilo !), il se lit très bien, l'idée d'une fiche par bonne pratique permet une consultation agréable, c'est clair et aéré, et surtout il est aisé d'y revenir en cas de besoin.
Que ce soit le gestionnaire de la qualité, le décideur, le technicien soucieux de bien faire ou le débutant qui découvre ces concepts, tous trouveront dans ce livre une mine d'informations utiles à garder à l'esprit pour créer des sites… de qualité !
Le ton se veut résolument pragmatique et professionnel, l'expérience des auteurs se ressent clairement à travers les avis, les conseils et les remarques.
Caractéristiques
À noter, le livre est préfacé par Amélie Boucher et Stéphane Deschamps.
Le web d’aujourd’hui est en train d’être conquis par nos amis les appareils mobiles et plus précisément les smartphones et les tablettes. Or ces terminaux possèdent quelque chose que très peu de nos chers ordinateurs fixes ont : un accéléromètre. Ce petit composant permet de connaître l’inclinaison presque exacte de l’appareil dans l’espace, c’est à dire sur trois axes x, y et z et l'accélération subite par l'appareil sur ces mêmes axes.
Avec l’arrivée de HTML5, une flopée de nouvelle API JavaScript ont fait leur apparition, dont la Device Orientation API et la Device Motion API.
C’est avec cette API que l’on va pouvoir collecter les données d'inclinaison envoyées par l’accéléromètre pour ensuite les utiliser dans diverses applications. Lançons nous sans plus attendre dans le code !
Tout d’abord, nous allons faire une page toute simple avec juste un élément div
:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8" />
<title>Device Orientation API</title>
</head>
<body>
<div id="log"></div>
</body>
</html>
Passons maintenant au code JavaScript. Une fonction sera lancée lorsque l’événement deviceorientation
sera déclenché, appelant une fonction de callback nommée process
. La méthode addEventListener
permet d'attacher cette fonction appelée en retour, à l'événement deviceorientation
. Attention, elle n'est pas disponible sur les anciens moteurs d'Internet Explorer jusqu'à la version 8 incluse (il faudra dans ce cas se pencher vers attachEvent ou passer par un framework JavaScript simplifiant les appels).
if(window.DeviceOrientationEvent) {
window.addEventListener("deviceorientation", process, false);
} else {
// Le navigateur ne supporte pas l'événement deviceorientation
}
Cette fonction va récupérer les valeur alpha
, beta
et gamma
et va les afficher dans l'élément div
pour avoir un retour sur le document. Ces valeurs sont stockées dans l'objet event
récupéré par la fonction de callback.
function process(event) {
var alpha = event.alpha;
var beta = event.beta;
var gamma = event.gamma;
document.getElementById("log").innerHTML = "<ul><li>Alpha : " + alpha + "</li><li>Beta : " + beta + "</li><li>Gamma : " + gamma + "</li></ul>";
}
Mais attendez ! Je ne vous ai même pas défini alpha beta et gamma :
Toutes ces valeurs sont théoriquement à 0 lorsque l’appareil est posé à plat et qu'il n'a pas bougé depuis le chargement de la page. Par contre, tout dépend du matériel : un détecteur un peu sensible pourra constamment signaler des valeurs changeantes alors même que le mobile est immobile. Il faudra alors prendre le relais sur les valeurs renvoyées pour ignorer les plus infimes variations ou les arrondir.
Notre script est complet en fonctionnel. Le voilà en action :
Vous remarquerez qu’il y a beaucoup de chiffres après la virgule. Dans certains cas, il est préférable d’arrondir ces valeurs à l’aide de Math.round(), comme par exemple lorsqu’on veut faire bouger un bloc en fonction de l’orientation de l’appareil. Dans ce cas, si les valeurs ne sont pas arrondies, on peut observer un tremblement du bloc en question dû aux valeurs de alpha, beta et gamma qui changent constamment.
L'API Device Motion ne retourne pas de valeurs d'angles mais d'accélération en mètres par seconde au carré (m/s²), sur les trois axes x, y et z. Son usage est semblable celui de l'Orientation.
Appelons à nouveau notre fonction callback mais cette fois lorsque l'évènement devicemotion
est déclenché.
if(window.DeviceMotionEvent) {
window.addEventListener("devicemotion", process, false);
} else {
// Le navigateur ne supporte pas l'événement devicemotion
}
Déclarons ensuite notre fonction callback qui affichera les valeurs d'accélération dans notre div.
function process(event) {
var x = event.accelerationIncludingGravity.x;
var y = event.accelerationIncludingGravity.y;
var z = event.accelerationIncludingGravity.z;
document.getElementById("log").innerHTML = "<ul><li>X : " + x + "</li><li>Y : " + y + "</li><li>Z : " + z + "</li></ul>";
}
L'objet event
retourne deux propriétés :
acceleration
: L'accélération calculée par l'appareil en enlevant la gravité.accelerationIncludingGravity
: La valeur de l'accélération brute, retournée par l'accéléromètre.Ainsi, lorsque l'appareil est posé à plat et ne bouge pas, on obtiendra théoriquement :
acceleration
: {0,0,0}
accelerationIncludingGravity
: {0,0,9.81}
Ici 9.81 correspond à la valeur de la pesanteur en gravité terrestre. Il est recommandé d'utiliser accelerationIncludingGravity
car certains appareils ne peuvent pas calculer une accélération en y soustrayant la gravité, et on obtiendrait alors avec acceleration
les mêmes valeurs qu'avec accelerationIncludingGravity
.
Encore une fois, vous remarquerez que les valeurs changent tout le temps, même lorsque l'appareil est immobile, ceci à cause de la précision variable de l'accéléromètre.
Voilà donc deux API très utiles pour développer des jeux pour mobiles (avec canvas
notamment), ou créer une interaction supplémentaire avec le document, par exemple un effet parallaxe en fonction de l'inclinaison de l'appareil.
Estelle Weyl est une auteure reconnue dans le domaine du Web, ayant en particulier signé les ouvrages "HTML5, the Definitive Guide", et "Mobile HTML5", publiés chez o'Reilly, ou encore "HTML5 and CSS3 for the Real World" chez SitePoint. Développeur professionnel, précédement consultante pour Apple et Yahoo, Elle aime partager son savoir et son expérience lors de conférences qu'elle donne tout autour du monde, et sur son blog Standardista qui compile de nombreux trucs et astuces.
Estelle anime également des formations, et la prochaine aura lieu en marge de son passage à Paris pour la conférence JS.everywhere() Europe. En effet le 15 novembre prochain, elle animera un atelier pratique sur le CSS3, s'adressant à des développeurs expérimentés, connaissant déjà les CSS, ou ayant abordé les CSS3, et désireux d'acquérir un niveau avancé.
La formation aura lieu dans les locaux de Supinfo, 23 rue du Château Landon, 75010 Paris de 9h30 à 17h30. Plus d'information sur http://jseverywhere.eu/workshops/
Des attestations de formation pourront être délivrées pour vos dossiers de prise en charge.
Le coût de la journée, incluant le repas, est de 249€ TTC. Un coupon de réduction de 50€ est cependant disponible avec le code "alsa" sur http://cssninja.eventbrite.fr/?discount=alsa (nombre de places limité)