Archives par mot-clé : CSS

Les outils pour enrichir le CSS

Le CSS, c’est le langage qui permet de faire la mise en forme des pages web.

Cela permet de séparer le fond de la forme : le HTML contient le fond (le texte en particulier), et la décoration se fait via le CSS (la police, la taille, les bordures, …).

Bon, ça, c’est la théorie ;).

Dans la pratique, écrire une couche présentation en CSS est très technique, avec certaines parties plutôt répétitives et impossible à factoriser. Exemple : un site utilise une palette de couleurs. Impossible, en CSS, de définir des constantes avec ces codes couleurs.

Sinon, quand on n’arrive pas à faire ce qu’on veut en CSS, on le fait en Javascript.

Certains proposent d’améliorer tout ça avec des « méta langages » au dessus de CSS.

Exemples : SASS, LESS, …

SASS est une technologie côté serveur, on passe son code CSS enrichi dans la moulinette SASS et ça ressort un code CSS standard.

Si j’ai bien compris, LESS permet à peu près la même chose, avec une technologie Javascript, qui peut être côté client ou serveur.

Je ne rentrerais pas dans le détail, ce n’est pas l’objet de ce blog.

Je trouve que c’est une super bonne idée, que de proposer des langages, ou méta langages, qui permettent de programmer plus propre, plus court.

Mais cela ouvre la voie suivante :

Le code que j’écris n’est pas le code envoyé côté client.

Avantage : le code que j’écris est plus court, de meilleure qualité.

Inconvenient : ce que je vais débuggé n’est pas ce que j’ai écrit.

Mon avis, très clairement, est que c’est bien l’avenir !

Je pense depuis longtemps qu’à moyen terme, les langages du web n’ont pas vocation à être manipulés directement : ce sont, de mon point de vue, des langages de trop bas niveaux, avec des contraintes beaucoup trop complexes. Je pense bien sûr en particulier au problème de multi-terminal / multi navigateur.

Pour prendre une analogie, cela me fait penser au Postscript : c’est un langage de bas niveau pour piloter les imprimantes (ou autres interfaces d’ailleurs). Mais personne n’aurait l’idée d’écrire à la main du code Postscript !

J’ai donc la conviction qu’il devrait sortir des systèmes qui vont bien plus loin dans cette voie :

C’est une voie étroite, parce que, de mon point de vue, ces systèmes doivent être spécifiques web, alors que ce qu’on voit bien souvent, ce sont des frameworks génériques, et je ne crois pas du tout à cette approche.

C’est pour cela que je trouve les initiatives type LESS ou SASS particulièrement intéressantes : on améliore la qualité, de manière très spécifique au Web.

Et vous, qu’en pensez vous ?