« Rendez XHTML fun avec HAML ! »
Le 21 novembre 2007
Développement Web
Aujourd’hui, je vais parler un peu d’une technologie que je viens de découvrir par le biais de Ruby on Rails, j’ai nommé HAML, pour HTML Abstraction Markup Language.
Comme son nom l’indique, ce langage de template de très haut niveau va vous permettre de vous abstraire complètement de la couche HTML que vous maîtrisez peut-être parfaitement, mais qui vous fait sans doute perdre un temps précieux en saisie.
Il est disponible en tant que Gem Ruby qui fonctionne comme un plugin de Rails. Notez que même si vous n’utilisez pas Ruby, HAML peut également vous intéresser car il est également disponible en version PHP. Voyez ici pour télécharger HAML.
Le principe de HAML respecte celui de DRY, Don’t Repeat Yourself ! : le but est d’éviter au maximum d’avoir à saisir des informations inutiles pour la compréhension de la page par un humain.
Du coup, le code gagne en clarté, en pureté et en lisibilité. Ce modèle de conception DRY se retrouve à deux niveaux dans HAML, et c’est sur eux que je vais axer la suite de mon article.
Les espaces commandent tout !
Concrètement, à quoi ressemble le code HAML ?
Oubliez pour l’instant les signes ésotériques, nous y reviendrons plus tard. Vous remarquez :
- Où sont passé les tags d’HTML ? On ne retrouve que le nom des éléments ! Et ils ne sont pas fermés !
- Quelle présentation étrange !
La raison de cette présentation avec des espaces un peu partout est la suivante : ce sont les espaces qui commandent la hiérarchie au sein du document.
Du coup, le code est plus simple à comprendre, plus facile à mettre en place que s’il vous fallait jouer avec des balises dans tous les sens, et surtout vous économisez votre temps en produisant un code qui devra être parfait pour fonctionner (si ce n’est pas le cas, le compilateur saura bien vous en avertir).
La règle est simple : laissez deux espaces pour créer un niveau supplémentaire dans votre hiérarchie ... C’est tout simple !
Quelques signes, et vous voilà parti !
La deuxième méthode pour vous permettre d’économiser du temps de façon assez magique : on utilise quelques signes qui vont être interprétés par le compilateur pour créer votre page suivant vos moindres désirs ...
- % : vous l’avez déjà vu dans l’exemple au-dessus, ce signe vous permet simplement de déclarer un élément HTML.
- . et # : ces deux signes, familiers pour les habitués des sélecteurs CSS permettent respectivement de fixer la classe et l’id de l’élement auquel vous les affectez ... Ainsi on peut écrire :
- :nomAttribut=>’valeurAttribut’ : on fournit simplement une table de hashage pour fixer les attributs de l’élément HTML. Je suppose que cette syntaxe est propre à Ruby, à vérifier.
Il vous est également possible d’inclure du code Ruby qui sera directement évalué (à la façon du RHTML) :
Conclusion
HAML est un langage très amusant à pratiquer, et c’est d’abord ce qui fait sa force ... Au delà du simple aspect ludique toutefois, il propose une manière intéressante de concevoir ses documents de type XML. L’essayer en somme, c’est l’adopter ! Si mon article vous a un peu mis l’eau à la bouche, je ne peux que vous conseiller de regarder le tutoriel, qui est assez bref. Enfin, la documentation est bien faite et mérite elle aussi le détour à cette adresse !
Dandelionmood.com a déménagé !
Pour éviter la prolifération du spam, j'ai préféré désactiver les commentaires, d'autant que ce site n'est plus actif ... Merci à vous si vous aviez commenté, à bientôt sur Choses à faire.fr ;) !

