L’éternel débat : un CMS à code source ouvert ou codé en dur?

Pin It

Hier j’ai partagé le statut suivant sur les médias sociaux :

Passer la journée à interviewer des fournisseurs web suite à un appel d’offres avec un client = On a de la belle expertise au Québec

Or, dans ma messagerie Facebook, une connaissance qui s’adonne à être développeur, me fit parvenir ce message et une discussion s’en suivit :

Interlocuteur

Il me semble que tu as discuté de l’avantage des CMS par rapport à des sites codés entièrement à la main…
Je ne sais pas si j’ai contribué à ce sujet, ni tes conclusions. Mais j’ai quelques remarques à ce sujet, rafraichies par une expérience que j’ai vécu ajourd’hui, est-ce que ça t’intéresse ?

Moi

Oui pourquoi pas

Interlocuteur

Désolé pour la longueur, c’est pour ça que j’ai demandé avant
Aujourd’hui, j’ai un autre exemple sous la main: les sites avec CMS se font hacker comme c’est pas permis.
Je dois bien avoir programmé et/ou supervise pas loin d’une centaine de sites web, dont une vingtaine qui sont sur des CMS, particulièrement Joomla, mais aussi Drupal, WordPress et SPIP.
Jusqu’à présent, à ma connaissance, aucun des sites programmés entièrement à la main n’a été hacké. Versus _tous_ les sites sur CMS, dont certains plusieurs fois.
Je crois que c’est dû à différents facteurs :
– c’est plus facile de trouver des failles dans le code des CMS, que dans le code d’un site fait “à la main”, car le code des CMS est accesible publiquement et gratuitement, pas celui développé juste pour un site.
– comme pour les virus pour Mac vs Windows, plus une plateforme est répandue, plus c’est plus “payant” soit en “bragging rights”, soit en dollars, selon les intentions du hacker de trouver des failles exploitables. Si un hacker trouve une faille dans un de mes sites “fait main”, ce sera dommage pour moi, mais aussi pour lui, car il n’aura trouvé la “clé sous le paillasson” pour un seul site. Alors que s’il trouve une faille dans un CMS, c’est “bonjour la visite!”.
– les CMS utilisent des plugins et des “Templates” qui sont parfois de provenance douteuse. Il est très difficile de tout vérifier ce code pour des “backdoors” et autres failles exploitables même si en théorie la “communauté” veille au grain, il en passe toujours entre les mailles du filet. Pas simple non plus de le garder à jour ces plugins, surtout qu’il y a une forte rotation, chez les auteurs de ces plugins, extensions, modules, templates, alouette! Récemment, je travaillais avec un programmeur de plugin Vietnamien, qui m’a demandé les paramètres d’accès FTP, pour le compte sur lesquel est un de mes sites!
– finalement, il n’est pas toujours simple de faire migrer un site vers une version à date du CMS. Ce qui fait que plusieurs webmestres et clients retardent les mises à jour. Et comme ces mises à jour concernent souvent des améliorations au niveau de la sécurité, avec chaque jour qui passe qu’un système n’est pas mis à jour, ses chances qu’un hacker lui trouve une faille augmentent…

Moi

c’est un intéressant point de vue. Mais un site codé en dur peut difficilement rivaliser en fonctionnalité/coût et en intelligence avec celui développé par une foule de passionnés. Par ailleurs, même la CIA et le NSA sont en open sources.
et on s’entend que pour un site à vocation informationnelle ce n’est pas si critique

Interlocuteur

C’est comme pour le reste dans la vie, c’est toujours utile d’avoir des bons backups
Pis pour la CIA et la NSA, ils ont tout avantage à attirer les méchants qui viennent se jeter gratis dans leur bouche et ils ne manquent pas de ressources pour “patcher” et avoir du code “custom” non plus.

Moi

et attaché un client à qu’un seul fournisseur est aussi le peinturer dans l’coin

Interlocuteur

Oh, absolument. Ça dépends vraiment du but du site, les très cheaps ne valent pas le trouble et les assez gros peuvent se payer du code in-house. Les CMS sont idéaux tout le reste qui est entre ces deux extrèmes.

Y’a quand même l’exception des sites web qui sont vraiment bien codés, avec plein de commentaires dans le code etc… quand c’est bien fait, ce n’est pas si difficile à reprendre pour un autre codeur qui a les qualifications. Les clients ne sont alors pas si mal pris que ça. Et pour ce qui est des CMS, ça arrive aussi que c’est tellement mal foutu qu’il faille tout rebâtir de zéro. En fait, les CMS ne sont pas nécessairement une garantie que ce soit facile ou même juste possible de reprendre un projet par une autre équipe.

Imprimez ce billet Imprimez ce billet

Commentaires

  1. Guy Provost

    Bravo pour cette information. Votre “interlocuteur” est une personne d’expérience. J’oeuvre en informatique depuis 1988 et sur le internet depuis ses débuts “corporatifs” vers 1991 et participé à la naissance du web.

    Ce que cette personne “interlocuteur” informe est très vrai… du moins… je suis tout à fait d’accord avec son point de vue.

    J’ai aussi apprécié vos inputs tout à fit juste et aussi comment vous et cet interlocuteur vous respectez mutuellement dans vos commentaires… disons que c’est rafraîchissant!

    Je conserve cet article afin de le faire ligne à mes clients lorsque vient le temps de choisir une techno afin de maintenir en ligne du contenu.

    Bravo!

  2. Yves Moisan

    C’est sûr que de ne mentionner que “Joomla, … Drupal, WordPress et SPIP” comme CMS, c’est un tantinet réducteur, en l’occurrence aux SGC programmés en PHP. Il y en a d’autres (1200 selon http://www.cmsmatrix.org/), qui n’utilisent pas le LAMP classique et qui ont un historique de sécurité : http://plone.org/products/plone/security/advisories.

    Il y a aussi les “frameworks” qui, sans fournir toutes les fonctionnalités d’un SGC, permettent de programmer dans un contexte initial plus intéressant que “zéro pis une barre”, par exemple : http://www.pylonsproject.org/projects/pyramid/about. OK la main-d’oeuvre pour développer sur de tels outils (Plone utilise une BD NoSQL avant même que le terme NoSQL existe …) n’est pas légion, mais il me semble qu’il y a des tas de trucs intéressants qui militent pour qu’on arrête de repartir à neuf.

  3. L’éternel débat : un CMS à code source ouvert ou codé en dur? | Bienvenue! | %blog_URL%

    […] L’éternel débat : un CMS à code source ouvert ou codé en dur? […]

  4. Bruno

    Je n’a toujours que travaillé avec des sites à CMS et j’ai toujours adoré l’aspect gratuit et “facile” à modifier. Mais dernièrement, on m’a mis entre les mains un site web codé à la main… J’aime moins l’aspect dépendre d’une seule entreprise, mais wow! Les fonctionalitées n’ont été pensées qu’en fonction de l’utilité finale du site. Ce qui en fait le site le plus simple d’utilisation et complet que j’ai vu!!

    Pour ce qui est de la sécurité, je n’y avait même pas pensé, mais maintenant j’admet que c’est un autre bon point!

  5. Nicolas

    Je ne suis pas d’accord avec le point où il mentionne les backdoors dans les plugins et templates. Ce n’est pas sérieux de prendre du code de ce type sans que la source ne soit fiable ou de vérifier la présence de code mailcieux. Il ne s’agit pas simplement de piger à droite et à gauche sur internet pour récupérer des morceaux et les assembler.

  6. Nary Andrian

    Au fait, chaque solution présente à la fois ses
    avantages et ses inconvénients 🙂

    – codage à la main : faut savoir coder
    (ce qui n’est pas le cas de tout le monde)
    ou engager un programmeur (ce qui n’est pas aussi
    à la portée de tout le monde)

    – CMS : on peut arriver à installer son
    site et les fonctionnalités si on n’est pas trop
    fainéant à lire la documentation et les instructions
    (ou à s’informer sur les forums), mais on est
    plus vulnérable …

    Donc la solution idéale dépend surtout de l’utilisateur 🙂

    Amicalement