CMS vs framework JavaScript

La mode n'est plus à l'utilisation d'un CMS, mais plutôt au framework comme Bootstrap.

Cette tendance que l'on voit sur les nouveaux sites portails est confirmée sur Google Trends. La recherche sur le mot CMS (Content Management System) est en baisse tandis que BootStrap connaît une hausse soudaine en 2012 et il ne fait aucun doute que ce soit à cause du framework lancé par Twitter.

Mais si les webmasters passent aux frameworks HTML 5 au détriment des CMS, quelle peut en être la raison? Une tentative d'explication: l'augmentation de l'audience des mobiles et tablettes au détriment des PC, car un CMS reste assez lourd et lent, et ajouté au temps de téléchargement, ne convient plus vraiment à un navigateur sur mobile.
Au contraire, BootStrap depuis la version 2, comme d'autres "boilerplates" HTML 5, prend en compte l'écran réduit des mobiles et permet un chargement rapide de la page.

Nous allons comparer les avantages des deux moyens de création de site Web. Evidemment cela ne concerne que de simples sites de présentation d'un produit, ou un blog, et pas ceux dont les pages font appel à quantité d'information prises dans une base de données.

Un objectif commun de réutilisation de code

CMS et framework de présentation ont un même but: décharger le webmaster des tâches de présentation des pages pour qu'il puisse se concentrer sur le contenu. Ils ont aussi l'avantage d'offrir une interface utilisateur similaire sur tous les sites.

Il est plus difficile de faire un site avec BootStrap, mais l'essentiel est là: le code JavaScript (basé sur jQuery) et CSS a été testé sur la plupart des OS de PC et de mobile, ce que le webmaster n'a plus à faire.

Les deux systèmes proposent des plugins qui aident à la navigation ou à la présentation. Les plugins de BootStrap sont plus orientés vers les wigdets, lesquels peuvent aussi être fournis par les thèmes de Wordpress, mais on trouve difficilement un thème avec tous les widgets désirés.

Les CMS de blogs: une conception perfectible

La conception de base des CMS de blogs est en fait depuis toujours déficiente. Cela consiste à mettre le contenu du site dans une base de données, puis à générer une page à partir d'une requête SQL. Puis comme on s'aperçoit que c'est trop lent à l'affichage, on ajoute un plugin de mémoire cache qui crée pour chaque page un fichier statique HTML.

Mes pages en PHP sont organisées sur le principe suivant:

<?php include("top.php");?>
<p>Contenu de l'article</p>
<?php include("bottom.php");?>

L'en-tête et le pied de page et le contenu dynamique sont inclus dans chaque page qui ne contient en fait que le contenu propre, qui est l'équivalent de ce que Wordpress place dans la table des billets, la table POST.

Pourquoi mettre le contenu dans une base de données pour ensuite le copier dans un fichier sur le système local, plutôt que le stocker directement dans un conteneur HTML?
Avoir une base de donnée ne nous apporte même pas de fonction de recherche puisqu'il faut taper une liste de tags explicitement pour cela. En fait on obtient un vrai outil de recherche en incluant le champ de recherche de Google, ce qui fonctionne aussi bien sur un site statique.

La façon de concevoir un CMS pour les sites modernes devrait être revue si l'on veut permettre l'accès aux mobiles. On peut envisager une conception mixte, statique ou dynamique selon la vitesse de transfert, laquelle qui peut s'évaluer avec une technologie comme WebSocket ou WebRTC.

Ne pas négliger la SEO

Wordpress est devenu un boulet pour le positionnement d'un site. Le pavé du nuages de tags bourrés de liens internes, le blogroll qui transforme le site en ferme de lien, et les thèmes pas toujours optimisés, ajouté au fait que le temps de chargement est devenu un critère de positionnement et en outre que les pages retournent toutes un code HTTP de redirection, font que ce CMS (comme les autres), peut nuire au trafic du site, à moins que le code ne soit parfaitement étudié par le webmaster. Or le but d'un CMS est de dispenser de s'occuper du code...

Tendance: Le retour des sites statiques

Tant que les utilisateurs veulent se borner à faire des pages de blogs sans toucher une ligne de code, ils semblent préférer utiliser un CMS comme Wordpress. Mais cela entre maintenant en concurrence avec les sites sociaux qui sont aussi des plateformes de blogs : Facebook et Google+, ou même GitHub qui offre un générateur de page (gratuit).

Quand au contraire les webmasters veulent créer un site ultra-performant et optimisé pour le bureau ou les mobiles, il préfèrent utiliser un framework CSS dont ils peuvent éventuellement surcharger le code pour en personnaliser l'apparence. Il semble que la tendance actuelle soit à la création de sites statiques basés sur ces frameworks.

BootStrap créé à l'origine pour Twitter, prend en charge la partie CSS, il offre plusieurs exemples de personnalisation. C'est un framework parmi d'autres, voir la section CSS pour d'autres templates.

Voir aussi Pourquoi JavaScript à la place de PHP sur le serveur? ou Générateurs de sites statiques, la nouvelle tendance.