developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 10 years ago

Closed 7 years ago

#1218 closed new feature (fixed)

Support HTML5

Reported by: foxmask Owned by: laurentj
Priority: normal Milestone: Jelix 1.5.0
Component: jelix:core response Version:
Severity: normal Keywords:
Cc: bernardes.claudio@… Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

Peut-être pourrions nous envisager le support de HTML5 ?

Soit

  • un jResponseHhtlm5.class.php dédié ;
  • une propriété isHtml5 ;

Change History (6)

comment:1 Changed 10 years ago by bmenant

Suite à une courte discussion sur le salon IRC, je vous propose un compte rendu et quelques questions.

Compte tenu de l'engouement quasi-général pour HTML5 - engouement qui ira croissant - je pense que le « support » du langage serait une bonne publicité pour Jelix. Quoiqu'un peu bling-bling et opportuniste ; ce n'est probablement pas le crédo du framework.

Pour résumer, en l'état, Jelix propose une réponse HTML générique (la classe jResponseHtml). Elle permet aussi bien de générer des documents XHTML et HTML4, via une propriété booléenne $_isXhtml. Dans la continuité, nous pourrions ajouter une nouvelle propriété booléenne $_isHtml5.

Malheureusement, cette approche risque de compliquer considérablement la classe. Notamment si l'on souhaite apporter un support étendu, complet et compatible (!) des spécifications HTML5.

Une autre approche, au risque d'alourdir le package Jelix, serait de proposer une classe jResponseHtml5 dédiée, qui hériterait ainsi directement de jResponse. On gagnerait en souplesse tout en préservant la classe jResponseHtml existante, qui fonctionne bien depuis... longtemps. :-)

Par ailleurs, une mise en œuvre raisonnable d'un projet HTML5 nécessite quelques précautions. Pour rappel : http://diveintohtml5.org/semantics.html ou... les conférences Paris Web 2010 ? :-)

Se pose la question de la compatibilité avec les « vieux » navigateurs, vis à vis des éléments HTML introduis (section, article, etc). Les correctifs se constituent, d'une part, d'un petit lot de propriétés CSS et, d'autre part, d'un code javascript pour les versions d'Internet Explorer inférieures à 9.

Personnellement, je ne pense pas que l'ajout des styles CSS par défaut pour les nouveaux éléments HTML5 soit nécessaire. Après tout, nous les surchargeons tous, d'une façon ou d'une autre (Les framework CSS le font déjà, ou le feront), au sein des CSS de nos applications.

En revanche, je me pose la question concernant le script-fixe IE. Doit-on s'en occuper ? Si oui, devons-nous laisser le choix au développeur (par une propriété booléenne, $_fixeOldIE, $_isIECompatible ou encore $_CEstSansDanger) ? Et puis, comment l'inclure ? En inline, dans l'entête HTML ? Ou bien dans un script externe ?

Personnellement, j'ai une préférence pour le script externe. Parce que le script ne sera utile qu'à une minorité de navigateur ; espérons-le ! Et puis, le développeur pourrait indiquer le chemin vers un script JS personnalisé, au cas où. Typiquement, on peut imaginer quelque chose comme :

setFixeOldIE(true); // automatique, inclusion du script Jelix (par défaut)

setFixeOldIE(false); // débrayage complet

setFixeOldIE($src, $params); // manuel, le développeur indique le chemin de son script

Travaillant actuellement sur le développement d'un petit projet HTML5, je suis disposé à proposer un premier jet de la classe jResponseHtml5 (directement inspiré de jResponseHtml). Je reviendrai le poster une fois fonctionnel.

Dans l'attente de précisions, à bientôt ! BM

comment:2 Changed 9 years ago by obs

  • Cc bernardes.claudio@… added

Il ne faut pas oublier l'impact sur jForm, qui me semble important.

comment:3 Changed 9 years ago by laurentj

  • Milestone Jelix 1.3 deleted

comment:4 Changed 8 years ago by laurentj

  • Status changed from new to confirmed

comment:5 Changed 7 years ago by laurentj

  • Milestone set to Jelix 1.5
  • Status changed from confirmed to assigned
Note: See TracTickets for help on using tickets.