Parcourant les forums web sur ma fidèle licorne, je vois souvent des posts de personnes cherchant :
– La fonction de leur rêve toute faite, à utiliser sans rien changer.
– Une façon d’arriver rapidement à créer un site web gratuitement.
– Des problèmes avec l’utilisation de certaines bibliothèques ou frameworks.

En tête de liste les problèmes avec le très connu Framework HTML/CSS : Bootstrap.

Le problème ne vient souvent pas de l’outil utilisé, mais de la façon de l’utiliser et de l’appréhender.
Car oui, il s’agit avant tout d’outils et non de solutions magiques et toutes faites.
La différence est de taille.

Je cite ici principalement Bootstrap, mais le problème reste le même avec d’autres bibliotèques du même type, bien que certaines soient beaucoup plus adaptées à la réalisation d’une interface front-end.

Il faut arrêter de voir les frameworks comme des outils magiques.

Les frameworks ne sont pas des outils magiques où il suffit de copier/coller des lignes de code pour arriver à un résultat correct.
C’est avant tout une logique et une façon de créer. L’outil nous met à disposition des « briques », où il est possible de modifier légèrement ce qu’il propose déjà.

Pour ceux qui ont testé Bootstrap sans utiliser Less ou Sass, vous vous souvenez surement de la gageure que c’est pour modifier les styles de celui-ci. Changer l’apparence d’un bouton, des tailles de typographie, de marges est un travail colossal au vue de la factorisation opérée par Bootstrap dans ses fichiers.

La personne non initiée va, du coup, surcharger violemment ceux-ci à grand coups de !important et réécrire la moitié du code de bootstrap, ce qui va mener à des problèmes d’affichage dans certains cas. Voire pire.

Boostrap, n’est pas un outil front-end

Bootstrap a été crée dans un but précis, il a été imaginé comme outil pour faciliter la vie des développeurs back-end chez Twitter. Pour qu’ils arrivent facilement à créer des interfaces cohérentes, plutôt agréables et maintenables pour leurs applications. Cette vision persiste dans le temps, et c’est bien normal, et c’est pourquoi Bootstrap n’est pas un bon outil pour réaliser un site web au design custom.

Il faut arrêter d’essayer de plier un outil à sa volonté quand il n’est pas fait pour ça.

Certes les outils sont très pratiques, et utiliser du code éprouvé et mis à jour est très intéressant, mais il ne faut pas perdre de vue ce que vous souhaitez réaliser en utilisant tel ou tel outil, et la qualité que vous envisagez.

Que réaliser avec quel outil?

Vous souhaitez un design entièrement personnalisé?
Bootstrap n’est pas fait pour vous.
Vous souhaitez réaliser une interface de gestion back-end?
Bootstrap est fait pour vous.

Chaque outil son utilisation, restons logiques, l’on n’utilise pas une petite cuillère pour couper un steak…

Chaque Framework présente des avantages et inconvénients, certains étants plus ou moins modulables, incluant peu de styles de base par exemple, ou des fonctions javascript faciles à mettre en place. En théorie, c’est génial. En pratique un peu moins.

Le réflexe à la con

Premier réflexe, se croire plus intelligent que d’autres personnes avant vous, en voulant plier l’outil à son besoin.
C’est typiquement la chose à ne pas faire. Pourquoi?
Vous connaissez l’effet élastique? Tirez sur l’élastique, fort fort fort, et une fois que ce sera trop fort, il vous claquera au visage.

Il faut juste arrêter de faire n’importe quoi.

Restons sérieux un moment, l’on ne peux pas se dire « Je vais réaliser un site génial, sans apprendre à coder, en utilisant un framework et voilà ».
Je rappelle au passage que développeur front-end est un métier, un vrai, comme dentiste ou maçon. C’est un peu plus compliqué que de copier/coller des bouts de code les uns à la suite des autres.

Chaque outil son utilisation, comme je disais plus haut, l’on n’utilise pas une petite cuillère pour couper un steak. C’est la même chose ici. Il ne faut pas choisir un outil car il est « à la mode » ou que quelqu’un vous à dit qu’il à réalisé quelque chose avec. Il faut choisir un outil car il correspond au besoin que vous en avez, qu’il vous facilite la vie et que vous utilisez au moins une bonne partie de ce qu’il propose.

Car oui, ces outils sont bourrés de fonctionnalités et possibilités, si vous n’utilisez qu’une seule fonction de celui-ci, est-il vraiment nécessaire de s’accaparer de toutes les autres?

Alors, quel framework utiliser ?

Que l’on s’entende bien, je ne crache pas sur les frameworks ou bibliothèques de composants, je dénonce principalement leur mauvaise utilisation abusive et irréfléchie.

Mais pour en avoir testé plusieurs, je dirais : ça dépend, je vous conseille de lire un bref comparatif que j’avais réalisé et qui est toujours d’actualité : Foundation vs Bootstrap

Rapidement :
– Pour une interface back-end, Bootstrap est un bon choix.
– Pour du front-end, Foundation est intéressant

Pour tout le reste, il y à KNACSS ;)

Merci à Geoffrey Crofte pour la relecture.