Pourquoi choisir un CMS établi plutôt que d'en créer un à partir de zéro?

13

Une grande partie de mes recherches au cours des prochaines semaines porteront sur différents CMS. J'ai déjà eu un bref aperçu de episerver et umbraco. En lisant ces systèmes, je ne peux m'empêcher de penser que fournir des fonctionnalités de gestion de contenu est réalisable sans connaître les détails et la structure de bon nombre de ces plates-formes CMS (plutôt grandes).

Dans le passé, on m'a confié des projets dans lesquels mon rôle de développeur doit être séparé de celui d'éditeur (c'est logique). c'est-à-dire que c'était ma tâche de développer la conception et la fonctionnalité du site et le travail de mes clients pour mettre à jour le contenu. J'ai atteint cet objectif en mettant également en œuvre une sorte de `` portail '' sur lequel il y avait quelques pages qui acceptaient la saisie de texte et les téléchargements d'images, etc. (en gros, quel que soit le contenu qu'ils voulaient), enregistraient ce nouveau contenu dans la base de données, puis de par sa conception, le code-behind lirait tout cela de la base de données dans les contrôles appropriés (répéteurs par exemple).

Pour moi, cela a été un moyen suffisamment efficace pour mes clients de gérer le contenu à déployer avec mes solutions. Je sais que je me trompe - et que les CMS sont préférables à ceux qui sont construits à partir de zéro - mais à part la question du coût, pourquoi?

SkonJeet
la source
1
Pourquoi voudriez-vous subir vous-même toute la douleur du développement (conception, codage, débogage, test) alors que quelqu'un d'autre a déjà fait tout cela pour vous?
PhilPursglove
5
Il y a document sur document et site Web sur site Web d'instructions et de tutoriels sur la façon de procéder pour apprendre ce type de CMS d'entreprise. Pourquoi voudrais-je passer par toute la douleur d'apprendre et de m'habituer à les mettre en œuvre alors qu'en fait je pourrais développer le mien à partir de zéro avec un contrôle complet?
1
La principale raison pour laquelle vous passez par la douleur de l'apprentissage est que vous évitez également la douleur du dépannage (de toute façon, espérons-le). Et si vous trouvez de la documentation, j'espère que cela signifie également que lorsque vous devez former quelqu'un, il vous reste beaucoup moins de documentation à faire.
sclarson
Il existe une technologie plus récente de l'ancienne approche d'installation du CMS où vous n'avez pas vraiment à apprendre quoi que ce soit et pouvez programmer dans votre propre langue. J'en ai construit un moi-même parce que j'en ai eu marre de ce problème d'installation ou d'utiliser quelque chose de confortable qui fonctionne pour les concepteurs. Mon profil explique comment s'y prendre.
Jason Sebring
@sparks, le dépannage des bugs des autres est 100 fois plus ennuyeux que le dépannage de vos propres bugs.
Pacerier

Réponses:

9

Vous utilisez un CMS existant pour vous débarrasser du poids des fonctionnalités qui sont probablement importantes pour les utilisateurs que vous ne voulez pas avoir à suivre.

EPiServer, Umbraco, Orchard, etc. ont tous des options intégrées pour garder une trace de choses comme les versions, à quel contenu est lié par un autre contenu, comment créer des formulaires, etc. Et au-delà, ils ont des événements que vous pouvez accrocher pour les modifier comme vous voyez bon.

Ils ont généralement des milliers d'heures de dépannage déjà effectuées, alors pourquoi ne pas en profiter. Surtout dans les versions gratuites ou open source où cela ne vous coûte littéralement rien d'autre que le temps d'apprentissage de leurs API que je peux presque garantir est moins de temps que vous ne passeriez à recréer cette fonctionnalité.

Donc, à moins que vous n'ayez pas besoin de reconstruire les fonctionnalités qu'ils fournissent, pourquoi ne pas utiliser quelque chose de déjà connu pour bien fonctionner?

Voici juste une brève liste des fonctionnalités existantes que vous n'auriez pas à implémenter vous-même:

  • versionnage de contenu
  • flux de travail
  • rapports d'état des liens de page
  • personnalisation de l'éditeur wysiwyg
  • modélisation de contenu (types de page / types de document)
  • API de récupération de contenu
  • documentation / formation pour les éditeurs et les développeurs
  • stratégies de mise en cache d'objets
  • systèmes de recherche de contenu pour la recherche
  • structures de hiérarchie de contenu (dans les CMS où le contenu est sous forme d'arbre de toute façon)
  • vues de l'éditeur
  • vues d'administrateur
  • contrôle d'accès
sclarson
la source
J'ai marqué cela comme la réponse car c'est la liste la plus complète des avantages que j'obtiendrais en optant pour l'un des CMS mentionnés. Je pense que cela va probablement m'amener à me salir les mains avec eux pour apprécier pleinement les avantages.
La configuration de votre propre système n'est un "statu quo" par rapport aux systèmes cloud que si vous n'appréciez pas le contrôle de vos propres données, la propriété de vos serveurs ou si vous ne comprenez pas la distinction entre les logiciels que vous possédez et les logiciels que vous louez. Ces publicités furtives pour votre entreprise me semblent très FUDdy. Si vous pensez vraiment qu'un CMS SOS basé sur le cloud est un bon choix pour la situation du PO, alors faites-en une réponse et laissez la communauté voter à ce sujet.
CodexArcanum
@CodexArcanum - Ne prenez pas au sérieux ce que dit emeraldcode. Ils sont le PDG d'une entreprise qui fournit ces services. Donc, fondamentalement, leur compte est une annonce géante.
Ramhound
4

Il n'y a PAS de réponse définitive quant à celles qui sont meilleures. Cela dépend de vos besoins, de votre structure, de votre coût, de votre main-d'œuvre et de nombreux autres facteurs.

CMS préfabriqué / établi

Avantages

  1. Économise BEAUCOUP de temps. Certains CMS qui existent depuis des années ont beaucoup d'heures de travail. Vous n'avez peut-être pas besoin de 10% des fonctionnalités d'un CMS pré-conçu, mais peu importe, il fait gagner du temps et le temps n'est pas gratuit!
  2. Économise BEAUCOUP d'argent.
  3. Ont généralement une énorme quantité de fonctionnalités qui fonctionneront probablement pour vos besoins.

Les inconvénients

  1. Licence . Vous devez respecter la licence du CMS préfabriqué que vous utilisez. Ce n'est peut-être pas un gros problème, mais vous souhaitez peut-être modifier quelque chose d'interdit par la licence, ou peut-être ne pourrez-vous pas l'utiliser dans un environnement de production.
  2. Lourd . Étant donné que le CMS sera très probablement adapté pour atteindre autant de publics que possible. Vous avez peut-être une limitation de serveur ou vous ne voulez pas charger des scripts supplémentaires pour la gestion de contenu de base.
  3. Peut-être écrit de manière non modulaire . Disons que vous avez implémenté un CMS prédéfini et que le site Web est prêt pour que le client se déconnecte et dise déployons! Ensuite, vous le envoyez à votre client et ils disent "Oh, je veux ajouter cette fonctionnalité au CMS!" Ensuite, si vous choisissez un CMS très complexe ou peu modulaire, vous risquez de rencontrer des problèmes lors de la mise en œuvre de leur demande de fonctionnalité ou cela peut prendre trop de temps.
  4. Héritez de leurs bugs . Vous hériterez de tous les bogues existants sur le CMS. Ce n'est pas un problème car ils sont généralement faciles à mettre à jour, mais que se passe-t-il si vous en modifiez fortement des parties pour ajouter une fonctionnalité?

CMS maison / personnalisé

Avantages

  1. Adapté à vos besoins . Vous pourrez intégrer UNIQUEMENT ce dont vous avez besoin et conserver une portabilité élevée.
  2. Écrit dans votre langue . Peut-être que vous avez un site Web ASP.net MVC et que tous les CMS sont écrits en PHP, mais vous en voulez un qui est écrit en C # en utilisant MVC et le moteur de visualisation de rasoir (exemple aléatoire idk). Il est beaucoup plus facile de maintenir une page Web uniforme et sans PHP / JS / etc. CMS au milieu de tout le code C #.
  3. Le vôtre / votre entreprise en est propriétaire à 100%, vous pouvez l'utiliser dans autant d'applications que vous le souhaitez sans acheter de licences supplémentaires, etc.

Les inconvénients

  1. Prend beaucoup de temps , donc c'est cher . Vous pouvez passer n'importe quel temps 1 à des dizaines de jours à travailler sur un CMS en fonction des heures passées, de l'expérience, etc., etc.

Si vous avez le temps, et qu'aucun des systèmes préconçus ne correspond à la facture ou n'est trop complexe, je ne vois aucune raison de ne pas construire le vôtre, à part le facteur chronophage bien sûr.


la source
2
Lorsque vous supprimez du temps et de l'argent comme contraintes, il n'y a rarement aucune raison de ne pas faire quelque chose.
sclarson
1
Les projets du monde réel @sparks ont TOUJOURS ces contraintes;)
1
Une sorte de ce que je disais avec mon commentaire. Dire les inconvénients du type de sucre «qui prend du temps» enrobe la quantité de travail nécessaire à l'écriture à partir de zéro. Vous écrivez le code, puis vous devez documenter / former et avoir tout le temps de débogage / dépannage pour chaque fonctionnalité que vous écrivez.
sclarson
2

Vous souhaiterez peut-être également ajouter la sécurité Web à la discussion. Si vous créez un CMS à partir de zéro, il y a de fortes chances que vous ayez des vulnérabilités à un certain nombre d'attaques (voir par exemple https://www.owasp.org/index.php/Top_10_2010-Main ). Si vous utilisez d'un autre côté un CMS existant, il sera généralement plus sécurisé, mais d'un autre côté ses vulnérabilités seront plus répandues.

C'est donc un peu un compromis sur le plan de la sécurité, mais je dirais qu'un CMS "standard" bien mis à jour est plus sûr qu'un CMS fait maison, mais cela dépend dans une certaine mesure de celui que vous choisissez.

Cependant, si vous utilisez un CMS "standard" et effectuez de nombreuses modifications, vous risquez de casser le chemin de mise à niveau et de ne pas pouvoir mettre à jour votre CMS et vous êtes donc vulnérable.


la source
1

Une chose devait être prise en compte, c'est que votre CMS peut devenir obsolète, pas nécessairement dans la langue, mais plutôt dans la fonctionnalité et la conception. Le prochain groupe de programmeurs peut ne pas vouloir travailler avec ces contraintes de fonctionnalité et en ce qui concerne la conception, cela peut ruiner leur image!

Si c'est un site Web simple, ou si vous n'avez pas beaucoup de temps à consacrer, CMS sonne bien!


la source
1

La principale raison de créer votre propre CMS est de pouvoir y ajouter vos propres fonctionnalités au fil du temps. Avec un CMS standard, vous êtes lié à l'architecture et à la technologie du tiers qui l'a créé.

Exemples:

  • Umbraco - dépendance sur XSLT pour la mise en page - #fail

  • Orchard - Courbe sur-conçue et d'apprentissage pour les développeurs Web Forms

...etc.

IrishChieftain
la source
1
Umbraco ne nécessite pas XSLT, mais c'est une option.
sclarson
Vous voulez dire que vous pouvez utiliser exclusivement CSS? Était-ce Umbraco qui avait également son propre langage de balisage propriétaire? Comme SkonJeet, j'ai également dû faire des recherches à ce sujet à un moment donné.
IrishChieftain
2
Umbraco a un formulaire web et une option mvc. Il ne vous a jamais demandé d'utiliser son propre langage propriétaire. Vous avez toujours été sur asp.net et avez toujours eu la possibilité d'interroger leur magasin de données et d'écrire des contrôles si vous le vouliez.
sclarson
1
Un autre CMS que j'ai utilisé était N2, qui avait un code vraiment élégant, à tel point que vous ne pouviez pas le comprendre. Leur avis était que le code devrait se documenter lui-même, ce qui est un Bee Ess total.
IrishChieftain
1
J'ai fait plusieurs sites Web à Umbraco et je n'ai jamais utilisé XSLT. Dans la nouvelle version, ce n'est même plus une option intégrée pour autant que je sache. Cependant, XSLT est apparemment extrêmement puissant (pour les 6 personnes qui peuvent le comprendre!).
EJ Brennan
1

S'en tenir au cœur de métier est aussi un très bon argument, je dirais. Ce n'est pas parce que vous construisez une voiture que vous devez également créer votre propre carburant. C'est un produit complètement différent et les chances sont bonnes que quelqu'un d'autre le fasse beaucoup mieux car votre attention sera ailleurs. Les bogues dans les systèmes nouvellement développés ne doivent pas non plus être sous-estimés. Un cms qui existe depuis un certain temps aura quelques bogues oui, mais non près du nombre que votre nouveau aura. Un cms existant a été testé par des millions d'utilisateurs au fil des ans.

Daniel Ovaska
la source
"votre concentration sera ailleurs" - lol
Tim Abell