Les frameworks et les CMS sont des outils du web permettant de créer des sites sur internet avec peu de connaissances techniques dans la majorité des cas. Ils sont en vogue depuis quelques années grâce à leur capacité à créer des sites à la volée. Ils s'appuient sur des structures solides (souvent en programmation orientée objet) qui donnent la possibilité de générer des pages web et autres applications au sein d'une interface propre.
Les CMS les plus connus sont gratuits, tels que Joomla, WordPress, Drupal, Spip. Quant aux frameworks, on retrouve souvent le francophone Symfony, Zend, Zope, qui se composent de structures propres. Ces logiciels ont fait la part belle des créateurs de sites web qui voyaient en eux des gains de temps dans la conception et dans l'utilisation du back-office chers aux clients. En effet, l'énorme avantage pour les utilisateurs se trouve dans l'interface d'administration qui permet de créer, modifier ou supprimer des articles, ajouter des modules, gérer un workflow, etc.
Je tenais à apporter un regard un peu plus en profondeur basé sur mon expérience personnelle (ce n'est donc pas une vérité générale) en analysant les avantages et défaillances de ces systèmes de gestion de données.
Les frameworks et CMS ont des avantages certains :
* Gain de stabilité : ce sont des logiciels qui sont bien codés généralement (à quelques erreurs près) et souvent mis à jour.
* Sécurisation avancée : la gestion du workflow et de la sécurité est souvent bien gérée.
* Gain de temps : tout le monde peut installer un CMS avec un tantinet de connaissances web et en base de données. Un CMS s'installe en 10 minutes environ en général.
* Facilité d'accès : les utilisateurs peuvent aisément écrire des articles, gérer les commentaires, etc.
* Structure fiable : les frameworks offrent des structures intéressantes et bien réalisées.
Au regard de tout cela, on pourrait penser qu'ils ne proposent que des avantages, mais la réalité est différente si l'on observe leurs freins et inconvénients :
* Temps d'adaptation long : les utilisateurs peu confirmés doivent s'habituer aux logiciels et à leurs modifications après les mises à jour. Il m'est souvent arrivé que des clients me demandent comment on faisait telle ou telle chose dans des CMS comme Joomla par exemple. L'interface est complète en règle générale, mais il faut s'y accoutumer, et cela prend du temps.
* Evolutions limitées : les mises à jour sont régulières, que ce soit pour les frameworks et CMS, mais aussi pour leurs modules internes. En revanche, les utilisateurs peu confirmés ne savent pas toujours gérer ces mises à jour et perdent en qualité. Il faut souvent l'intervention d'un développeur pour faire évoluer l'outil originel.
* Lourdeur et lenteur : ces logiciels sont généralement assez lourds et demandent énormément de ressources au serveur et en base de données. Certes, ils sont efficaces, mais il est fréquent de perdre de la qualité en temps de chargement. Cet aspect est important pour le référencement (Page Speed).
* Référencement limité : utiliser des logiciels prêts à l'emploi est souvent un choix néfaste pour le référencement. Au-delà du nombre de pages générées, c'est surtout un code peu accessible et qui ne permet pas de modifications en profondeur offrant ainsi un référencement géré à 100%. Il est certain que les référenceurs ne peuvent pas déployer toutes leurs techniques dans des CMS ou Frameworks libres, ils sont souvent obligés de délaisser certains aspects. Sinon, ils doivent modifier les codes sources mais ils pénaliseront ainsi les mises à jour puisque ces dernières supprimeraient les modifications. Un framework fait maison ou un site vitrine offre de plus grands avantages en terme de référencement.
Tout n'est pas noir ou blanc dans ces logiciels, il faut relativiser et les utiliser quand cela se veut utile.
L'exemple des CMS d'e-commerce est assez bon pour juger de tout cela : Magento est magnifiquement codé, mais est très lourd et lent ; OSCommerce est dépassé mais facile d'accès pour les utilisateurs lambda ; Prestashop est léger, assez rapide et gère très bien le référencement. Dans ce cas, quels logiciels privilégier ? Mon choix est souvent Prestashop, car je le trouve adapté pour tous les publics. Si j'ai affaire à des utilisateurs confirmés, le conseille Magento sans hésitation. OSCommerce me semble trop dépassé actuellement pour rivaliser avec eux.
Pour résumer, si vous souhaitez créer un site web et que vous avez peu de connaissances techniques, les frameworks et CMS sont assez intéressants car ils offrent un pack de fonctionnalités et de possibilités importantes, mais vous saurez que votre référencement profond sera limité. En revanche, si vous êtes programmeurs, je vous conseille plutôt d'adapter vos sites web à vos besoins et à vos clients si possible, cela évite une longue adaptation et vous permet de faire un référencement personnalisé et poussé. Nul ne peut prétendre quelle formule est la meilleure, elle dépend réellement des utilisateurs et des besoins. Je vous laisse donc juge pour vos sites web...