Icone_actu Actu Icone_creative Creative Icone_bdw Blog Du Webdesign Icone_emploi Emploi BDW

Accélérez votre intégration avec HAML

by SANCHEZ Benjamin - le 21/06/2011

  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 1

Car il n'y a pas que le HTML pur dans la vie, mettez vous au Haïku et intégrez à la vitesse de la lumière grâce à HAML.

"A markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text."

"Un markup language est un systeme moderne pour annoter du texte de façon syntaxiquement différenciable du contenu texte".

wikipedia

Un exemple type de markup language qui parle à tout le monde est le HTML, l'outil principal du développeur. Mais on ne peut pas en changer, car c'est le seul markup lu par les navigateurs.

Fin d'article, merci d'être venus !

Non, en réalité, il existe autre moyen : en utilisant un language server, il est possible d'écrire ce que l'on a à dire dans un autre markup language, et ensuite de "traduire" ces templates en HTML. En PHP, c'est un petit peu ce que fait smarty, par exemple (bien que ça soit plus un moteur de template).

En ruby, il existe pas mal de markup language. ERB, par exemple, qui ressemble vraiment beaucoup à du PHP. Il existe aussi, vous vous en doutez d'apres le titre, le HAML (site officiel ici).

Alors, qu'est ce que le HAML, et que peut-il faire pour sauver le monde? C'est simple, apres avoir été mordu par un python, il en a récupéré la caracteristique principale : l'utilisation de l'indentation.

Les supers pouvoirs du HAML

Le HAML est un language qui vas apporter du haïku dans votre vie, et ce, grâce au pouvoir de l'indentation.

En effet, au lieu de s'amuser à ouvrir une balise <commeça> et la fermer </commeça>, on ouvre une balise en identant, et on la ferme en supprimant l'indentation.

Fini les fautes de frappes sur les balises fermantes qui plombe un design et qu'on passe 10minutes à chercher. Ici, de par l'indentation obligatoire, tout est propre, bien rangé (sinon boom, indentation error. Donc au lieu de chercher 10minutes, on vas à la ligne indiquée, et on ajoute une tabulation).

Une autre grosse différence, si vous utilisez erb, est l'absence de <%= %> (ou bien <?php ?>, qui prenne un temps fou à taper. Plus petit avantage: il est possible de mettre des commentaires qui n'apparaissent pas dans le code compilé, et donc prendre des notes qui ne regarde que soi, et ne pas encombrer le code source compilé.

Oui, mais l'installation?

Si vous êtes sous Rails ou Sinatra, pas de soucis: ajoutez gem 'haml' dans votre gemfile, un petit bundle install, et voilà, plus qu'à nommer vos vues template.html.haml au lieu de template.html.erb.

Si vous êtes sous PHP, la documentation est ici. Ça ne semble pas bien compliqué, mais c'est payant :(. Si quelqu'un connait autre chose pour PHP, laissez le en commentaire, je l'ajouterai à l'article.

Conclusion

Vous aurez compris, le HAML, c'est le bien. Pour ceux qui veulent pousser un peu plus loin, essayez aussi de regarder du coté de chez SASS, qui est une aide au CSS, et peut être même de SLIM, qui est plus jeune que HAML, mais dans le même état d'esprit et avec des benchmark bien plus sexy.

Devenez membre !

Rejoignez la communauté des créatifs du web !
- Partagez vos créations
- Gagnez en visibilité
- Créez votre blog facilement
> En savoir plus

Créer mon compte
  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 1
2 Auteur : SANCHEZ Benjamin voir son blog

Développeur autodidacte depuis quelques années, déjà, je suis le développeur du blog du webdesign, où mon rôle est de concretiser les différentes idées et maquettes.

11commentaires

  • 2fbf6c1fe3801e878572f9baece8fe47
    Mikael Boutin

    le 21/06/11| #1

    Je ne suis pas réellement daccord avec cette méthode. Ca me semble plus une façon de prendre de mauvaises habitudes que d'intégrer plus rapidement! Le concept est cool, félicitation au(x) programmeur(s).

  • Cd280912b641c7d1b67671496e767312
    nocolkte

    le 21/06/11| #2

    Dommage que ces articles ne s'adressent qu'aux dev... parce que comme ça de loin, ça avait l'air intéressant ton truc...

  • 147c809c4272c49211a8cf665f48d01d
    vander2000

    le 21/06/11| #3

    Dans le genre, mais peut-être plus réservé aux intégrateurs, il y zen coding
    http://code.google.com/p/zen-coding/
    Celui ci est une extension pour les principaux éditeurs de codes.
    Je l'utilise depuis 2 mois et ne peux plus m'en passer

  • 2
    Benjamin SANCHEZ

    le 21/06/11| #4

    @Mikael: Une façon de prendre de mauvaises habitudes, c'est une façon de voir les choses; à ce niveau là, utiliser un compresseur de CSS ou Javascript est une façon de prendre la mauvaise habitude de ne pas supprimer le dernier point virgule de chaque bloc. Le HAML permet d'intégrer plus vite, et génère un code très propre et respectueux des standards.

    @nocolkte: Cet article s'adresse en réalité aux gens ayant un dédié, ou bien aux gens travaillant déjà sous rails ou sinatra. Sans la moindre connaissance en programmation (et en considérant qu'un ami qui sais gérer un server te fait l’installation de Ruby), mais de bonnes connaissances en HTML, je peux te promettre qu'en une 20aines de minutes, n'importe qui est déjà productif. Il n'y a rien à apprendre de plus que le HTML. Après, oui, il faut avoir accès à sa conf apache. À la limite, je vais essayer de regarder comment l'installer sous WAMPServer et faire un tutos, pour arranger les gens qui n'ont pas de dédié.

  • 2
    Benjamin SANCHEZ

    le 21/06/11| #5

    @vander: Oui, ça semble être dans le même genre, mais c'est au contraire un peu plus complexe, comme outil. Il semblerait qu'on puisse faire des boucles et autre directement, sans forcément avoir besoin d'un outil supplémentaire. C'est certainement plus DRY, mais je ne suis pas sur que tout les intégrateurs soit perméable aux boucles, foreach, et autre

  • Ec03cc2bd0c14fef8e8f2d4e18fffd7c
    TheGuit

    le 22/06/11| #6

    J'ai trouvé ca sinon : http://code.google.com/p/phamlp/

    Qui pour le coup à l'air gratuit pour PHP :)

  • 2
    Benjamin SANCHEZ

    le 22/06/11| #7

    Effectivement, celui là m'avait échappé. Il a été mis à jour en septembre, donc c'est pas tout jeune, mais au moins, il n'est pas abandonné. Merci pour le lien, je vais regarder ce qu'il vaut

  • 333e7d8904d4bcacf11864aa9a614f5c
    arnaud-k

    le 24/06/11| #8

    Pas besoin d'être perméables aux boucles pour ZenCoding. Je le trouve plus simple que HAML, par contre il ne génère pas les balises PHP (je ne pense pas que ce soit nécessaire ici). De plus ZenCoding s'inspire beaucoup de la syntaxe du CSS !

  • 1a8c495a68b96c08fb307644a6fc5017
    webdogs

    le 07/07/11| #9

    Le Zen Coding proposé par @vander2000 est impressionnant

    div#page>div.logo+ul#navigation>li*5>a

    Devient :










  • 2
    Benjamin SANCHEZ

    le 08/11/11| #10

    Je ne suis pas fan du ZenCoding... Le créateur avait comme projet de faire un site en moins de 15 lignes? Oui, ça vas vite à taper, mais pour la maintenance... Personnellement, je trouve ça légèrement illisible, mais bon. L'important est d'avoir un outil qui nous plais et avec lequel on est performant ^^

  • A48078d448961869bdc6e3d037a28da6
    ANNE Julien

    le 27/03/12| #11

    Article très sympa, je découvre HAML et cela me semble intéressant, rapide, clair, concis.
    A intégrer rapidement à mes projets rails et PHP.

    Petite remarque : En effet, au lieu de s'amuser à ouvrir une balise et la fermer , on ouvre une balise en identant (il manque le n de indentant), et on la ferme en supprimant l'indentation.

    Bonne continuation à ton blog.

Ecrire un commentaire