CMS open-source ou développement Ad-hoc ?

Cette question se pose au lancement de chaque projet, aussi immuable que “thé ou bien café ?” mais dans notre cas la réponse n’est pas du tout une question d’affinité (enfin elle ne devrait pas l’être) mais doit être le fruit d’une vraie réflexion prenant en compte plusieurs grands facteurs à partir du moment où le projet dépasse le cadre du simple site vitrine.

the_ou_cafe

 

Le temps de mise en place / le nombre de sites à déployer

Ca semble évident mais si la deadline du projet est trop rapprochée, il est certainement plus sage de s’appuyer sur un produit prêt à l’emploi. De plus avec le grand nombre de plugins disponibles pour les principaux CMS open-source, il est possible de s’approcher très près du cahier des charges sans avoir à saisir une seule ligne de code.

Néanmoins, il arrive qu’un projet ne concerne pas un seul site, mais 2, 3, 5 ou plusieurs dizaines de sites, quasiment similaires à quelques petites variantes près (je pense à un projet international ou il faut plus qu’une simple traduction de pages : un pays souhaite avoir telle fonctionnalité, un autre pays telle autre option). Dans ce cas, il est important de prendre en compte le temps de déploiement, configuration et d’adaptation nécessaire pour utiliser x fois un CMS standard. Il est possible que le développement d’un CMS interne permettant le déploiement, la gestion et la mise à jour de plusieurs sites soit une meilleure option.

 

La spécialisation du projet

Si vous n’avez qu’un site vitrine de 10 pages à mettre en place, sans aucune spécificité, la question ne se pose pas, mais dans les 2 exemples ci-dessous, la spécialisation du site internet fera grandement pencher la balance en faveur soit du CMS clé en main, soit du développement sur mesure

Mise en place d’une boutique en ligne

Malgré le grand nombre de boutiques disponibles sur internet, la mise en place d’un site marchand est un projet extrêmement spécifique : gestion du stock, gestion des clients, fournisseurs, module(s) de paiement… le nombre de fonctionnalités nécessaires est tel et la qualité des CMS tels que Magento ou Prestashop est telle qu’il vaut mieux passer du temps à réaliser des adpatations graphiques plutôt que de réinventer la roue, puis le moteur, et la transmission …

Présentation de données à structure complexe

Avec ou sans options de navigation poussées, il arrive que la structure des données à présenter soit tellement complexe qu’aucun outil standard ne sera utilisable sans passer par le développement de module. Or si c’est votre première expérience dans ce domaine, il faudra nécessairement passer par un cycle d’apprentissage qui peut s’avérer plus long que la simple écriture d’un produit complet avec des outils qui sont déjà maîtrisés à 100%.

La sécurité

Il y a quelques années la situation n’était pas aussi tranchée : utiliser un CMS opensource (je me souviens par exemple d’OsCommerce qui nécessitait beaucoup de manipulations pour devenir sûr) ou même un composant opensource pour votre site internet vous exposait parfois aux attaques de bots spécialisés dans ces outils pour prendre le contrôle de votre site. Tout comme pour les virus informatiques, la popularité d’un outil en fait une cible de choix pour des personnes mal intentionnées. Mais maintenant la popularité d’un outil est synonyme de communauté motivée et dont la qualité est rarement à remettre en cause. Ainsi, si une faille est découverte dans un CMS dont la communauté est très active, elle l’est souvent par des personnes bienveillantes et les corrections sont apportées très rapidement, parfois même avant que la faille ne soit rendue publique.

Par contre si vous développez votre propre solution de publication, vous serez seul(e) uniquement face à des ennemis potentiels et la difficulté à sécuriser votre CMS grandira en même temps que sa complexité et le nombre d’outils externes qu’il utilisera. Par exemple si vous utilisez un projet opensource pour l’édition de textes riches, vous devrez assurer vous-même la veille de cet outil pour être averti(e) à temps en cas de mise à jour de sécurité. Si votre serveur est bien configuré, que votre projet n’est pas complexe… la sécurité n’est pas non plus le point le plus important pour votre décision, tout est affaire de compromis.

Définitivement, à mes yeux, la sécurité est le point qui peut faire pencher la balance en faveur du CMS grand public et surtout à grande communauté.

 

Conclusion

Il n’aura pas échappé au subtil lecteur que le blog sur lequel je m’exprime est publié avec WordPress et il est légitime que la question soit posée : lequel de ces critères a été le plus déterminant dans ma décision ?

Avant tout, c’est une question de temps : j’ai choisi de communiquer de façon efficace sur ces pages, pas de passer mes soirées à faire ce qui occupe déjà une partie de mes journées : coder.

C’est aussi une question de sécurité : WordPress n’a pas connu beaucoup de gros problèmes de sécurité depuis sa création en 2003 (eh oui, presque 10 ans !) et sa communauté continue de grandir et de réagir au fil des mois. Je pense donc ne pas prendre de gros risques en utilisant cet outil.

Enfin, n’ayant pas l’intention de mettre en place de modules spécifiques ou de vous présenter des données qui ne rentreraient pas dans les cases, je ne vois aucune limite dans ce qu’un CMS grand public peut faire pour moi. Dans les faits c’est plutôt l’inverse : quelle que soit la fonctionnalité recherchée, il faut passer du temps à trier parmi les dizaines de plugins disponibles.

Une réponse

  1. 206media dit :

    Merci pour ce comparatif, je pensais que plus personne ne faisais de développements sur mesure !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *