Quels CMS pour quel Projet Web ? Les erreurs à ne pas commettre !

Fédérations

Quels CMS pour quel Projet Web ? Les erreurs à ne pas commettre !

Dans un projet Web, la mise en place d’un système de gestion de contenus (CMS) couplée à une logique Métier

proposant des services peut souvent s’avérer être un casse tête.

Comment appréhender cette problématique, quelle est sa complexité ?

Avant de choisir, définir dans quelle catégorie se situe votre projet

Il est avant tout important de prendre la mesure de la répartition des fonctionnalités de votre projet, entre ce qui constitue la partie contenus de la partie services. Les choix qui en découlent seront forcément différents entre les projets. S’agit-il d’un nouveau service n’ayant qu’une page “Qui sommes-nous ?” à gérer, ou d’un site de basés sur les contenus et contenant une petite logique Métier ?

Une fois cette étude faite, il est important de qualifier la complexité et la spécificité des fonctionnalités attendues sur le CMS et le Métier. Cela permettra ensuite de déterminer si les outils Open Source existants correspondent à votre besoin, ou permettent facilement d’y répondre.

WordPress, Drupal, des géants aux pieds d’argile

Si on a tendance à se focaliser sur la partie CMS, dans l’univers du Web et des technologies PHP, WordPress et Drupal tirent principalement leur épingle du jeu.

Les statistiques de Build With sur le Top 1 000 000 des sites dans le monde révèlent un usage de WordPress à 51% et Drupal à 5%. Le reste des CMS est minoritaire.

Pour parler de WordPress, il est évident que ce CMS, qui existe depuis 2003, est un incontournable dans le Web. Il existe sur WordPress des dizaines de milliers de plugins et thèmes, gratuits ou payants. Et c’est d’ailleurs la force et la faiblesse de cet outil. Nombreux sont ceux qui pensent que l’on peut tout faire avec WordPress, et nous avons la conviction qu’ils se trompent, pour plusieurs raisons :

  • Un plugin ou un thème tout prêt pour 20€ c’est bien, mais dans 90% des cas ce dernier ne correspondra pas à votre besoin et nécessitera de gros travaux d’adaptation.
  • Du fait de sa popularité, WordPress est un outil très attaqué. Si WordPress dispose de mises à jour fréquentes, ce n’est pas forcément le cas des plugins que vous utiliserez.
  • La structure des données (post, post_meta, options), qui sert de fourre-tout pour tous les types de données rendra sceptique n’importe quel administrateur de base de données.
  • Pour finir, l’aspect procédural du code WordPress ne correspond pas forcément aux standards actuels de développement.

Drupal pour sa part est réputé être un CMS plus « solide » que WordPress. La dernière version du CMS repose sur des composants Symfony. Notre appréciation de Drupal se heurte à 2 points :

  • Le back office proposé par Drupal est assez austère, et nos clients ont du mal à se faire à la notion de taxonomie.
  • Au contraire de WordPress, Drupal a une tendance gloutonne au niveau de la base de données, ou l’on se retrouve rapidement avec plus de 100 tables dès lors que quelques types de contenus ont été créés.

Au final, ce qui fait la force Wordrpress et Drupal devient leur faiblesse : à vouloir tout faire et tout prévoir, ils finissent craquer lorsqu’on les pousse un peu.

Un outil pour chaque besoin, la force de Grav + Symfony

Une fois que cela est dit, comment faire ? Voici notre piste de réflexion. Nous pensons qu’il faut le bon outil pour chaque fonctionnalité. Car quel est notre besoin ?

  • Disposer d’un CMS proposant un back-office ergonomique et convivial, comme WordPress.
  • Disposer d’un CMS évolutif et ouvert.
  • Développer sur une architecture MVC les fonctionnalités Métier spécifiques au projet.
  • Avoir une architecture permettant de modéliser les différents types de contenus proprement

Selon les critères ci-dessus, nous avons retenu la solution Grav + Symfony.

Grav ?

Grav est un CMS basé sur des composants Symfony. Ce CMS repose sur le principe de flat files, c’est à dire que les contenus ne sont pas sauvegardés en base de données, mais dans des fichiers.
Pourquoi cela nous semble avantageux ? Car cela est une réponse aux problèmes soulevés par WordPress ET Drupal, à savoir des bases de données.

Sur l’aspect Back-Office, Grav propose nativement un espace clair et convivial, dans lequel nos clients se retrouvent.

Symfony pour le spécifique et le Métier

Grav peut simplement se coupler à Symfony, qui fait partie des Framework PHP de référence.

Cela répond à notre besoin de pouvoir effectuer des développements spécifiques, reposant sur une architecture MVC et ouvre également la voie à l’utilisation de Bundles Symfony largement répandus.

Et maintenant, on fait quoi ?

Nous l’avons dit, chaque situation de projet nécessite une réponse appropriée. Le couple Grav + Symfony est une corde supplémentaire à votre arc de solutions, qui est adapté au cas des projets complexes regroupant Gestion de Contenuset Métier.

Grav (5000+ étoiles sur Github) et Symfony (plus de 500 000 000 de téléchargements) sont sans conteste des outils robustes sur lesquels bâtir votre projet.

Si vous souhaitez en savoir plus sur le couplage de ces deux outils, ACSEO est là pour vous. N’hésitez pas à nous contacter pour en savoir plus.