Choisir un CMS ou un Framework selon vos besoins
Choisir un CMS ou un Framework selon vos besoins
Publié le 20 mars 2019
Faire son site internet, c’est aussi choisir une solution technique. Car il en faut un peu de technique dans un site web ! CMS ou Framework ? Tout dépend de vos besoins, vos usages et de votre vision à long terme. Flexibilité, évolutivité, durée de vie, maintenabilité et sécurité : autant de critères qui peuvent vous aider à faire votre choix.
Pourquoi c’est important de faire le bon choix dès le début ? Selon votre maintenance évolutive (TMA), vous aurez un site difficile à maintenir. Pire encore : vous risquez d’arriver au point de non-retour et d’avoir à repartir de zéro.
Plan de l’article :
Pourquoi j’utilise un CMS ?
1- C’est quoi un CMS ?
CMS pour Content Management System.
C’est un gestionnaire de contenus qui utilise une base de données.
Il en existe une grande variété basée sur différentes technos. Ils sont tous organisés à peu près de la même manière et intègrent des fonctionnalités communes.
Vous pouvez par exemple gérer vos utilisateurs et leurs droits d’accès, ou encore gérer des contenus et la manière de les afficher.
Concrètement, un CMS vous permet de créer aussi bien des sites de contenus, des blogs, et même des boutiques en ligne.
Chez Hippocampe, on a un petit faible pour WordPress. Pourquoi le recommande-t-on ? Parce qu’il motorise 33% des sites web dans le monde. Il convient aussi bien à des petits sites qu’aux sites de sociétés cotées au CAC 40 !
Toujours dans le monde du PHP, il y a aussi Drupal, CMS qu’on connaît bien chez Hippocampe, mais plus complexe à mettre en œuvre et à maintenir.
Ou encore, Typo3, qu’on connaît aussi, mais qui perd du terrain, du moins en France. Joomla, mais là on n’est pas des spécialistes.
2- Les atouts d’un CMS, comme WordPress
WordPress, c’est avant tout une communauté de développeurs
Ce CMS bénéficie d’une forte communauté de développeurs dans le monde, depuis son lancement en 2003.
Elle contribue à enrichir, améliorer ou créer des modules (bundles) et corrige rapidement les failles.
C’est plutôt pratique, car on trouve facilement ce dont on a besoin. Et c’est aussi ce qui explique les milliers de modules existants.
C’est aussi une grande variété de thèmes et de modules
Vous avez un grand choix de templates et de modules sur WordPress.
Chez Hippocampe, comme on fait du « sur mesure », on développe nos propres thèmes.
Quant aux modules, on installe les modules standards pour gérer les problématiques de base. Sinon, on développe les nôtres, car généralement, un module ne répond jamais à 100% aux besoins des clients.
Un outil modulaire, facile à prendre en main et à faire évoluer
WordPress se caractérise par sa souplesse et sa polyvalence. Il est rapide à mettre en place. Il permet au développeur de se concentrer sur le développement de modules spécifiques et à forte valeur ajoutée. Il convient à de très nombreux projets web.
Il est facile à prendre en main par l’utilisateur. Son éditeur WYSIWYG (What You See Is What You Get) est très intuitif pour les utilisateurs et proches d’un Word. Pas besoin côté webmaster de connaître le code !
Il est évolutif et modulaire. Vous pouvez lui ajouter des modules au fur et à mesure de vos besoins. Il est aussi facile à maintenir… Sous réserve, bien entendu, de l’installer dans les règles de l’art !
La plate-forme est aussi bien référencée… si toutefois vous créez des contenus de qualité et pensez à remplir les balises html pour alimenter les moteurs de recherche.
3- Les inconvénients d’un CMS
Les CMS les plus populaires, comme WordPress, sont en Open source. Tout le monde peut accéder aux sources, y compris les hackers !
Ces derniers chassent les failles de sécurité… à vous de veiller à faire ou faire faire des mises à jour régulières de votre plate-forme.
C’est pour cela que nous proposons à nos clients un contrat de maintenance (TMA – Tierce Maintenance Applicative). Ce dernier inclut toujours la mise à jour régulière des modules pour assurer la sécurité de leur site.
On pourrait parler aussi des CMS propriétaires…mais que nous n’utilisons pas, car nous voulons assurer l’évolutivité des sites que nous créons.
Sans compter que le site ne vous appartient pas, uniquement ses contenus ! Si vous souhaitez vous désengager, vous devez refaire votre site.
Enfin, un CMS ne peut pas répondre à toutes les demandes spécifiques… Si le site web est très spécifique et si ses fonctionnalités s’écartent sensiblement des spécificités du CMS, vous avez alors tout intérêt à partir sur une solution de type Framework.
Et pourquoi pas un Framework ?
1- C’est quoi un framework ?
Le Framework est un cadre de travail.
Il apporte au concepteur et au développeur un ensemble de librairies qui lui permettent de construire une application sur mesure, en définissant un cadre qui sécurise ses développements.
Ces librairies répondent à l’ensemble des problématiques qu’on peut rencontrer quand on développe une application à partir de rien.
On les utilise notamment pour les problématiques de sécurité, d’accès aux fichiers, de gestion des échanges http, de création de formulaires, de génération de pages html…
En fait, c’est comme une trousse à outils pour développeurs.
Il existe des Frameworks très puissants orientés application web. Ils permettent de construire un site web presque aussi rapidement qu’avec un CMS (pour des fonctionnalités standards).
Quelques exemples de Frameworks en PHP : Symphony, Laravel, Cake PHP, Zend… Mais notre chouchou, c’est sans conteste Symfony, et on vous dit pourquoi.
2- Les atouts du framework Symfony
Une grande flexibilité pour répondre à de multiples besoins
Parmi les atouts indéniables de Symfony, on note sa flexibilité et son évolutivité. Il intègre des design patterns (modes d’organiser le développement) reconnus et prouvés de longue date.
Et il motorise un grand nombre d’applications, voire de CMS, comme Drupal par exemple. Ce qui lui permet de répondre à n’importe quelle problématique technique.
L’ensemble est très cohérent et donne beaucoup de consistance au code, tout en restant souple. Ce Framework offre donc un cadre solide.
En plus, une grande communauté s’est formée autour. Facile donc de trouver d’autres développeurs maîtrisant ce Framework (ce qui est un point très important quand on choisit une techno).
Un grand nombre de modules ont été développés par la communauté et répondent à toute une série de problématiques plus ou moins complexes.
Comme la génération de PDF, l’intégration de Rich texte editor, la création d’API ou l’intégration de moteurs d’indexation, comme Elastic Search (l’un des meilleurs moteurs de recherche actuel).
Solidité, robustesse et légèreté
Un framework permet de créer un produit robuste, de structurer le code et de construire pour durer.
Nous avons intégré ce Framework depuis plus de 3 ans, et on est très satisfaits ! Les sites construits il y a 3 ans n’ont pas bougé.
C’est donc un Framework stable, performant. On arrive sans efforts ou presque à obtenir un double A dans l’indice GTmetrics (performance d’une page web).
A ne pas négliger non plus : les pages html produites sont ultra optimisées, parce que l’on écrit exactement ce que l’on veut. Plus on est maître de son code htlm, plus on va à l’économie.
Concrètement, cela veut dire moins de balises html – si on sait coder proprement – et le résultat se voit instantanément !
Le rapport contenu efficace vs balises html pour l’afficher est réduit au maximum dans un site Symfony par rapport à un CMS.
En termes de SEO, ce n’est pas négligeable. Aucun CMS ne peut arriver à ce niveau d’optimisation, en particulier si on utilise un modèle tout fait.
Quant à la sécurité, c’est un enjeu majeur pour tout site ou application web. Les frameworks disposent de toute une série de librairies pour gérer finement la sécurité.
Pas besoin non plus de mettre à jour régulièrement le framework, comme c’est le cas pour un CMS.
3- Les inconvénients du framework
Il faut plus de compétences techniques pour se lancer dans un framework, car il faut programmer ! Et pour le faire évoluer, il faut aussi faire appel à un développeur.
Après, comme dans tout outil, CMS ou Framework, s’il est mal construit au départ, votre site web sera lent, voire difficile à faire évoluer.
Alors : CMS ou Framework ?
Pour faire le choix, notre approche est la suivante. Si votre site web est orienté contenus (articles, actualités…), on vous recommande fortement l’utilisation d’un CMS.
En effet, si vous mettez toute votre énergie dans le contenu, sa présentation, sa rédaction, le CMS s’impose. Après, selon vos besoins et votre budget, vous opterez pour un site sur mesure ou un site « tout fait ».
En revanche, si le site web intègre des règles métier bien spécifiques, comme l’interfaçage avec le système d’information de l’entreprise, l’intégration de processus métier, la saisie de formulaires complexes (projet Itavi), le Framework est tout indiqué.
Par exemple, si vous voulez monter un site web pour offrir un service à tous vos clients, avec accès à un compte (comme pour de nombreux logiciels), alors vous utiliserez un Framework.
Il existe aussi des CMF (un mix entre CMS et Framework), comme Drupal 8. L’avantage : vous avez la gestion de contenus avec le CMS, et le Framework pour les services plus spécifiques. Mais ce n’est pas si évident, et pas toujours bien intégré.
Par ailleurs, en ce qui concerne Drupal 8, cela nécessite la double compétence : Drupal et Symfony qui le motorise… Cela a un coût.
De manière générale, les projets sont plus tranchés : c’est soit l’un, soit l’autre. Si l’on doit avoir recours aux deux, on monte l’un et l’autre séparément. On crée ensuite une passerelle entre les deux environnements via un Single Sign One (SSO).
Chez Hippocampe, on a développé la double compétence Framework (Symphony) et CMS (WordPress) après avoir fait du Drupal pendant longtemps… et encore maintenant !
Le but : offrir à nos clients l’outil le plus adapté à leurs besoins.
Si on devait utiliser une métaphore pour comparer Framework et CMS, ce serait comme de construire une maison.
Vous avez des outils (les éléments de base, c’est-à-dire un Framework), et avec eux vous pouvez construire votre maison de A à Z, de manière totalement personnalisée.
Alors qu’avec un CMS, la maison est déjà construite, et vous ne faites que la décorer en installant des meubles (vos contenus), et en passant la peinture (le template) !
On espère que cet article vous aidera à faire le bon choix. N’hésitez pas à nous poser des questions, on y répondra avec plaisir 😊