HTML5, aujourd’hui

| Auteur: jpvincent

L’article suivant est la retranscription de l’article que j’ai écrit pour le magazine PHP Solutions, dans le numéro hors série de 2011 consacré à HTML5. Le monde compliqué du droit d’auteur veut que ce texte ne m’appartienne pas, c’est donc avec leur permission express que j’en fait bénéficier mes lecteurs (oui toi). Toute reproduction est donc interdite.

Cet article se veut une introduction générale à HTML5, notamment pour les développeurs PHP qui sont généralement les mieux placés pour prendre au sérieux ce qu’il se passe au frontend. Si vous avez lu mon livre sur HTML5 ou que vous suivez déjà régulièrement l’actualité, je doute que vous y appreniez grand chose. Il explique :

  • l’origine de la spécification
  • comment les sites d’aujourd’hui peuvent en bénéficier
  • le futur des applications Web
  • les rares synergies entre HTML5 et PHP

Historique

Une définition variable

Le terme même « HTML5 » couvre plusieurs définitions, et nous allons voir que le W3C a surpris tout le monde dans son choix final. Avant que le terme HTML5 n’apparaisse, HTML 4.01 était stabilisé et le W3C planchait sur XHTML 2 car pour eux la syntaxe stricte de XML allait permettre à tous les navigateurs d’être enfin d’accord sur les règles de parsingdes pages.
Lire la suite »

Publiée dans HTML5 | Laissez un commentaire

Usage avancé des fonctions JavaScript

| Auteur: jpvincent

Cet article est un complément à l’article sur les 3 fondamentaux de JavaScript, il vaut mieux être déjà à l’aise avec JavaScript avant de crier au scandale en voyant ce qu’on peut en faire. Pour reprendre un bon mot de quelqu’un qui avait assisté à ma conférence sur JavaScript :

spacer

javascript == la pornstar des langages de dev: souple, puissant, tu lui fait faire ce que tu veux, et ça peut finir bien crade.

Admettons donc que vous ayez digéré sans problème les portées et les fonctions, passons à deux choses vraiment particulières à JavaScript :

  1. le renvoi de fonction qui permet de belles optimisations et qui ouvre la voie à des patterns que les amoureux de la théorie du langage apprécieront,
  2. une implémentation de classe statique, pour reprendre le terme utilisé en PHP ou en Java.

Et enfin nous verrons une proposition d’implémentation de deux design pattern célèbres et particulièrement utiles en JavaScript : Singleton et Factory.
Lire la suite »

Publiée dans JavaScript | 6 commentaires

JavaScript : 3 fondamentaux

| Auteur: jpvincent

Après quelques années à écrire dans un langage, on finit facilement par oublier les premières difficultés que l’on avait rencontrées. Et à force de faire de la veille, de l’autoformation et de parler entre experts dans des conférences, j’ai un peu quitté la réalité de la majorité des équipes Web.

Maintenant que je suis consultant indépendant je retourne dans des équipes qui avaient autre chose à faire que de se demander si on a le droit de parler de classe en JavaScript, quelle est la bonne définition d’une closure, ou quelles sont les fonctionnalités de EcmaScript 5 qui auraient du rester dans Ecmascript.Next.

J’avais déjà parlé sur ce blog de JavaScript et la programmation orienté objet pour les développeurs PHP, nous allons explorer ici les 3 notions fondamentales de JavaScript qui sont probablement les plus grosses sources de bugs, d’incompréhension et de frustration pour le développeur Web moyen. Et qui accessoirement sont la base d’une programmation plus évoluée par la suite.

JavaScript est différent : apprenez le

Le monde du développement Web semble dominé par les langages dérivés de la syntaxe du C, PHP en tête, avec des paradigmes qui se ressemblent. Forcément en abordant JavaScript dont la syntaxe n’est pas vraiment révolutionnaire, on est tenté d’appliquer la même logique. Mais c’est oublier un peu vite que ce langage a été créé il y a déjà 15 ans, quand Java était seulement à mode et pas encore ultra dominant comme aujourd’hui, et qu’il est principalement l’héritier de langages comme Erlang et Lisp, aujourd’hui très peu connus. En fait le mot Java dans JavaScript a été rajouté pour des raisons commerciales, et seuls quelques concepts comme la syntaxe et je crois la gestion des dates ont contribué à former JavaScript. JavaScript n’est donc qu’un cousin éloigné des langages mainstream.

Le maître mot de ses concepteurs semble avoir été la versatilité. Nous allons voir qu’en explorant seulement 3 bases à priori simples, il est possible d’obtenir à peu près n’importe quoi, ce que les grands maître de JavaScript s’amusent tous les jours à faire. En attendant de passer dans la catégorie des maîtres, il faut déjà maîtriser ces bases pour faciliter son travail au quotidien.

Nous allons donc nous baser sur EcmaScript 3 (le javascript de IE6-7-8) dont les trois fondamentaux sont :

  • La portée des variables ( var + function)
  • Les fonctions
  • Le contexte (this)

Commençons par la portée.
Lire la suite »

Publiée dans JavaScript | 19 commentaires

HTML5 maintenant, chapitrage de la conférence

| Auteur: jpvincent

La vidéo sur la conférence que j‘ai donné à Paris Web 2010 vient de sortir, aussi comme pour la conférence sur les Performances Web je l‘ai chapitré et je vous remets les slides pour que vous vous y retrouviez.

Mes capacités d‘orateur valent ce qu‘elles valent, mais le contenu et le discours restent d‘actualité et devraient permettre je l‘espère à certains développeurs de se décoincer face à HTML5 : les fonctionnalités sont utilisables maintenant en production, pour peu qu‘on sache coder, utiliser des librairies faites pour ça et qu‘on soit suffisamment curieux pour tester tout cela. Les bénéfices sont soit immédiats soit à venir, et il y a certains écueils à connaître.
Le maître mot est : testez ! Dans la plupart des cas vous vous rendrez compte que vous pouvez mettre en production et donc améliorer votre site pour vos utilisateurs.
Lire la suite »

Publiée dans HTML5 | 1 commentaire

Etat des lieux de l‘accessibilité de HTML5

| Auteur: jpvincent_

Après avoir affirmé à Paris Web 2010 que HTML5 était utilisable immédiatement en production, un expert accessibilité m‘a repris en disant qu‘il était dangereux de dire que HTML5 était accessible (j‘en parlais au futur cela dit). Dans le cadre d‘un gros projet autour de HTML5, j‘ai depuis fait pas mal de recherches ce qui m‘a permis de mieux comprendre son intervention.
Je sais qu‘il est dangereux de parler en dehors de son domaine d‘expertise, mais il faut bien qu‘un développeur Web mette les pieds dans le plat et à tout le moins provoque le débat. Autant vous dire que si vous vous y connaissez en accessibilité, je prend tout ajout ou correction.

Autant vous le dire tout de suite, mes conclusions sont mitigées, et il se peut même que je revienne sur ce que j‘affirmais à l‘époque.
Lire la suite »

Publiée dans HTML5 | 10 commentaires

Conférence performance à Paris Web 2010

| Auteur: jpvincent

J’avais un atelier sur les performances pour le cycle de conférence Paris Web 2010, qui est maintenant sorti en vidéo. L’atelier s’est finalement transformé en une conférence improvisée d’1h30, par manque de candidats pour tester leurs sites, et de par la configuration de la pièce (amphi au lieu de salle de cours). Malheureusement le côté improvisé se ressent un peu car je ne m’étais pas chronométré pour réussir à synthétiser chaque sujet.
Chaque sujet est donc discuté en profondeur, mais je n’ai pu traiter que les bases. Voici le chapitrage de cette conférence :
Lire la suite »

Publiée dans Performances | 6 commentaires

HTML5 et le Web ouvert, pour les aigris et les cyniques

| Auteur: jpvincent

spacer
L’actualité récente autour de HTML5 a fait réagir beaucoup de développeurs, ce qui à tout le moins permet d’avoir un instantané des opinions de la communauté Web. Elle vont de l’inutilité d‘avoir un logo aux affirmations du type “HTML5 ne me concerne pas car je supporte IE6”. Ceux qui participent au débat sont soit enthousiastes soit aigris par la réalité de leur travail. Ceux qu‘on ne voit pas parler sont les blasés. Ce post d‘opinion, plutôt inhabituel sur ce blog technique, s‘adresse à ces 2 dernières catégories : pourquoi soutenir ou même s‘intéresser à l‘extension des technologies du Web en général, et au mouvement HTML5 en particulier ?
Lire la suite »

Publiée dans Articles, HTML5 | 12 commentaires

Retour sur le Concours Webperf 2010

| Auteur: jpvincent_

Durant tout novembre 2010 a eu lieu le premier concours international de performance Web. Je vous renvoie vers ce post d’introduction si vous n’en aviez pas entendu parler. Le principe était relativement simple : afficher une page le plus rapidement possible. Pour cela la FNAC nous a gentiment prêté son nom, et une page cible.

Lire la suite »

Publiée dans Performances | 7 commentaires

Concours Webperf 2010 : les bases

| Auteur: jpvincent_

Ce post est le premier d’une série de 3 et est tiré de l’expérience des finalistes du concours de performance Web 2010

Il traite rapidement des actions classiques en Performances Web qui sont les plus faciles à mettre en place tout en offrant un retour sur investissement souvent suffisant. Il devrait être utile aux novices mais ceux qui connaissent déjà les bases devraient aller voir les 2 articles suivants.
Lire la suite »

Publiée dans Performances | 6 commentaires

Concours Webperf 2010 : maîtriser le chargement

| Auteur: jpvincent

Ce post est le second d’une série de 3 et est tiré de l’expérience des finalistes du concours de performance Web 2010

Nous allons analyser les stratégies et techniques gagnantes (ou perdantes parfois) de chargement des dépendances de la page (CSS, JS, images, XHR). C’est là dessus que se sont concentrés les finalistes car il n’existe rien de suffisamment universel pour espérer gagner ce concours, nous avons donc assisté un joli combat de cerveaux.
Ce post sera utile pour les développeurs Web qui pourront être inspirés pour accélérer le rendu de leurs propres pages, et d’un intérêt tout particulier pour ceux qui connaissent déjà cette page.
Lire la suite »

Publiée dans Performances | 3 commentaires