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?
Réponses:
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:
la source
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
Les inconvénients
CMS maison / personnalisé
Avantages
Les inconvénients
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
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
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
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.
la source
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.
la source