web-dev-qa-db-fra.com

Comment puis-je décider si je dois lancer mon propre logiciel ou utiliser un CMS packagé (et les plug-ins appropriés)?

Je suis un ingénieur logiciel peu expérimenté sur le Web et qui souhaite actuellement utiliser mon hôte Web et mon nom de domaine pour autre chose qu'un dépotoir de fichiers pour les fichiers auxquels je dois donner accès à d'autres personnes. Mon plan est de déployer en quelque sorte un site Web/blog personnel/professionnel, en utilisant des produits FOSS standards, des logiciels personnalisés ou des composants standard avec des modules/plugins personnalisés.

Mes exigences sont:

  1. HTML sémantique (utilisation correcte des attributs, microformats le cas échéant, utilisation de CSS pour le style et HTML pour le balisage)
  2. Validation du code HTML et du code CSS (XHTML, HTML4, HTML5, tous acceptables, à condition qu’ils soient immédiatement validés)
  3. Support pour un blog
  4. Prise en charge de la modification et de la gestion de mon CV au format HTML, ainsi que de la gestion des fichiers téléchargés au format PDF, ODT et DOC que je mets à disposition pour le téléchargement
  5. Écrit dans une langue que je connais et que mon hôte prend en charge - PHP préféré car c'est le plus facile pour moi d'accueillir et je le connais aussi bien
  6. Facile à obtenir ou écrire un thème pour
  7. Prise en charge des pages statiques qui changent peu (à propos de moi), des pages statiques qui changent parfois (listes de projets), des pages dynamiques (blog, commentaires) et des formulaires (me contacter)
  8. Joue bien avec d'autres outils dans le même environnement - J'utilise Trac sur le même hôte pour la gestion de projet et je déploie d'autres logiciels tels qu'un déploiement personnel de MediaWiki.
  9. Facile à intégrer avec d'autres médias sociaux (Twitter? Facebook? Pandora?) - ne nécessite pas, mais serait Nice
  10. Génération et maintenance du plan du site et/ou du fichier robots.txt

Mes questions:

  • Quelle solution FOSS, le cas échéant, me conviendrait? J’ai joué avec Drupal et WordPress dans le passé - WordPress m'a semblé être un outil solide, mais à l'époque, il était très axé sur le blog (je comprendre que cela a changé plus récemment pour devenir plus semblable à un CMS).
  • Quelles solutions libres (mais pas open source) pourraient être appropriées pour moi? Je préférerais avoir un accès complet à la source, mais ce n'est pas une obligation.
  • Si je vais rouler le mien, par où dois-je commencer? Je préférerais ne pas lancer le mien. Mon expérience en génie logiciel me dit que mes exigences devraient être communes et que je devrais être en mesure de trouver une ou plusieurs solutions existantes que je pourrais combiner pour que cela fonctionne.

Merci.

11
Thomas Owens

La question buy-vs-build est une question éternelle. Je dirais que WordPress et Drupal répondent tous les deux à vos critères. J'ai plus d'expérience avec WordPress donc je le ferais dans WordPress. Pour répondre à vos besoins:

  1. HTML sémantique (bien formé, utilisation correcte des attributs, microformats le cas échéant, utilisation de CSS pour le style et HTML pour le balisage)

    Oui , la plupart thèmes pour WordPress utilise xhtml par défaut sans aucun problème. Les balises liées aux microformats que vous devrez probablement faire à la main dans une vue HTML, bien qu'il puisse y avoir des plugins qui facilitent cela.

  2. Validation du HTML et du CSS (XHTML, HTML4, HTML5, tous acceptables, du moment qu'ils valident immédiatement)

    Oui , la plupart des thèmes pour WordPress valident ou sont sur le point de valider sans trop de difficulté. Il y a une excellente documentation pour les thèmes.

  3. Prise en charge d'un blog

    Oui , absolument.

  4. Prise en charge de la modification et de la gestion de mon CV au format HTML, ainsi que de la gestion des fichiers téléchargés aux formats PDF, ODT et DOC que je mets à disposition pour le téléchargement

    Oui , faites simplement en sorte que le CV soit une page statique et gérez les fichiers téléchargés à l'aide de l'outil de gestion de média natif dans WordPress.

  5. Écrit dans une langue que je connais et que mon hôte prend en charge - PHP préféré car c'est plus facile pour mon hôte et que je le connaisse aussi

    Oui , WordPress = PHP + MySQL + Apache fonctionne mieux pour mod_rewrite

  6. Facile à obtenir ou écrire un thème pour

    Oui , voir Développement du thème

  7. Prise en charge des pages statiques qui changent peu (à propos de moi), des pages statiques qui changent parfois (listes de projets), des pages dynamiques (blog, commentaires) et des formulaires (me contacter)

    Oui les pages sont gérées dans WordPress sous la partie Pages de l'interface. Les formulaires de contact fonctionnent bien avec des plugins tels que Formulaire de contact 7

  8. Joue bien avec d'autres outils dans le même environnement - J'utilise Trac sur le même hôte pour la gestion de projet et pourrais déployer d'autres logiciels tels qu'un déploiement personnel de MediaWiki

    Oui , mais vous devrez peut-être ajouter des règles de réécriture afin que tout ne pointe pas vers WordPress. Je lance WordPress dans un sous-répertoire et le laisse tout gérer normalement. Vous devrez peut-être ajouter un spécificateur pour que WordPress ignore un fichier racine du répertoire MediaWiki.

  9. Facile à intégrer avec d'autres médias sociaux (Twitter? Facebook? Pandora?) - pas besoin, mais serait gentil

    Oui , via des plugins. Par défaut, vous pouvez également extraire des flux RSS dans WordPress barres latérales.

  10. Génération et maintenance du plan du site et/ou robots.txt

    Oui , Générateur de sitemap Google .

6
artlung

J'ai utilisé Wordpress pour configurer plusieurs sites, chacun ayant des besoins différents, et je pense que Wordpress répondrait également à vos besoins:

  • http://chaos.trader.name/ - Principalement un site d’information orienté page, avec quelques blogs.
  • http://ludus.unicornsrest.org/ - D'abord un blog, mais avec une structure de page profondément imbriquée. J'ai écrit un plugin pour créer des liens vers des pages au sein de publications tout en me permettant de réorganiser les pages.
  • http://driia.com/ - Le site Web de mon épouse, le blog et le site de vente. J'ai écrit des plugins qui permettent de regrouper automatiquement les publications sur des pages en fonction de catégories et de balises, et de reconnaître que les publications avec une balise spécifique représentent des bijoux ou des œuvres d'art à vendre. Les prix de vente sont stockés sous forme de méta-données sur les posts.
  • http://barkingmad.org/ - Site de publicité pour un groupe de divertissement à but non lucratif.

Le nombre et la qualité des thèmes et des plugins disponibles pour Wordpress sont stupéfiants, mais la licence GPL signifie que tout ce qui ne répond pas complètement à vos besoins peut être amélioré à votre guise.

2
Craig Trader

Je ne pense pas que vous allez trouver un projet FOSS qui fasse ce que vous voulez, c'est OTB. WordPress est solide, mais vous devrez travailler un peu pour générer ce que vous voulez. Drupal pourrait être plus un mal de tête qu'il n'en a l'air au début. Je sais que les gens adorent ça, et je sais que j'ai essayé, mais je préfère ne pas m'inquiéter d'avoir à maintenir autant de piratages entre les mises à niveau de version.

Franchement, j'irais avec WordPress si j'étais à votre place, et des plugins personnalisés pour créer ce dont vous avez besoin, si vous n'en trouvez pas déjà des logiciels libres.

La mise en garde est que depuis que Matt Mullenweg (PDG d’Automattic, la société derrière WordPress) a commencé à tirer un Richard Stallman sur tout le monde, il croit et préconise que tous les thèmes (code de thème, pas images/css) et plugins (code de plugin) est la GPL en vertu du fait qu’elle est un travail dérivé de WordPress dans sa vue (ce que je trouve personnellement déformé). Donc, vous êtes bon si vous le faites vous-même, mais si vous avez une "distribution", comme si vous donniez les plugins à 2 personnes, vous pourriez être légalement tenu de les gérer vous-même, ce que vous pouvez vouloir ou ne pas vouloir faire. .

1
intlect

Cela dépend de ce que vous voulez faire et en sortir:

  1. Apprendre une pile de technologies
    J'ai écrit la majeure partie du code qui alimente mon site personnel en tant qu'exercice d'apprentissage permettant de se familiariser avec les derniers changements de la technologie dans laquelle je travaillais.ASP site, puis il est passé à ASP.NET 1.1, puis à 2.0, et s'exécute maintenant sur ASP.NET MVC 2.0 après une mise à niveau récente depuis ASP.NET MVC 1.0.
  2. Il suffit de lancer votre site
    À la fois au travail et pour quelques sites d’église que j’exerce pendant mon temps libre, j’utilise un logiciel intégré. Au travail, nous parlons de CMS "entreprise" (MOSS, Tridion) c'est FOSS ( N2 CMS ) - parce qu'ils offraient des fonctionnalités bien au-delà de celles que j'étais prêt à écrire.

Si votre profession est celle de la création de sites Web, l'utilisation de la technologie que vous "vendez" est un argument de poids. Si c'est autre chose, je vous recommanderais de consacrer votre temps au contenu plutôt qu'à la technologie.


En réponse au commentaire

Ensuite, je recommanderais d’en choisir une sur le marché. Je ne peux pas vous en dire beaucoup sur la sphère PHP car ce n’est pas ma spécialité, je le crains. Si vous pouvez faire face à certains C # N2 CMS est très flexible, mais n’a pas l’immense base de plug-in/thème de quelque chose comme WordPress, qui par la suite satisferait probablement à vos besoins bien...

1
Zhaph - Ben Duguid

Je construis des CMS de niveau entreprise pour gagner ma vie ... et je hais personnellement les systèmes standards tels que Joomla, Wordpress et Drupal. Voici mes raisons:

1) Dans les endroits où j'ai travaillé, ces (types de) paquets ont été exploités plusieurs fois parce que nous n'étions pas assez rapides pour les mettre à jour ... et dans certains cas, les mises à jour peuvent être hebdomadaires. Une fois que vous êtes piraté, vous vous demanderez sérieusement pourquoi vous avez déjà emprunté cette voie… ça pèche.

2) Les modèles de Wordpress sont exaspérants. L'un aura une zone d'administration complète, tandis que le suivant n'en aura pas et s'attend à ce que vous piratiez le code. Où regarder? AHHHHH !!! J'ai déployé beaucoup d'entre eux, mais cela me fait mal à chaque fois. À mon avis, Wordpress est un système de blog ... utilisez-le pour ce à quoi il est destiné.

3) J'ai mis en place des centaines de sites Joomla (et Mambo) dans un emploi précédent. Même quand vous savez ce que vous faites, bonne chance pour essayer de sortir de ce style "mise en page Joomla" ... surtout si le temps ne vous est pas favorable. Même chose pour Wordpress ... vous pouvez le dire quand vous êtes sur un site Wordpress. Non merci ... Je suis payé pour produire un travail original.

4) formation. Essayez d’expliquer l'administration de Joomla ou Drupal à quelqu'un en 5 minutes ou moins. Le CMS que j'ai construit peut être enseigné à quelqu'un avec un paragraphe d'instructions écrites (ou moins) parce que je l'ai construit pour n'inclure que les outils dont chaque site Web a besoin ... sinon, le bouton disparaît. Je vous mets au défi d'essayer de former une personne avec moins d'instructions qu'un annuaire téléphonique, surtout si elle n'est pas techniquement avisée.

5) Conformité aux normes… C'est quelque chose sur lequel je ne compromettrai pas personnellement. Je contrôle tout ce que mon CMS produit en sortie, et je l’ai construit de telle sorte qu’une dizaine de lignes de code peuvent être insérées dans n’importe quel modèle compatible HTML en quelques minutes pour produire un code conforme à chaque fois. Wordpress est d'accord, Joomla et Drupal pas toujours autant.

6) négociabilité. Les CMS font tous les mêmes choses. Mais essayez de vous adresser à un client potentiel et de lui dire "Je voudrais vous facturer beaucoup pour personnaliser un produit gratuit du commerce" par rapport à "Voici un système spécialement conçu pour vos besoins" Si c'est un bon produit, vous gagnerez cette affaire presque à chaque fois. Dans votre cas, cela n'a pas d'importance ... mais qui sait, vous pourriez peut-être utiliser la fonctionnalité pour les projets futurs ... projets payants ...

Il y a bien sûr des inconvénients. Vous construisez tout vous-même, ce qui prend du temps. Si vous le faites pour plusieurs sites, les économies d’échelle réduisent les dégâts. Aucune armée de personnes ne trouve de vulnérabilités… une fois encore, plusieurs déploiements peuvent aider le code à évoluer. Mais si vous avez les connaissances nécessaires pour écrire un code de qualité, c'est une excellente solution.

Bonne chance.

1
bpeterson76

Cela ressemble, dans votre cas d’utilisation, à un CMS packagé est probablement la meilleure voie à suivre.

Cela fait quelques années que j'ai évalué pour la dernière fois PHP CMS, et à l'époque, mon exigence principale était l'extensibilité propre. À l'époque, Joomla était un concurrent sérieux et Xaraya semblait intellectuellement intéressant même si le cycle de développement semblait lent.

Si vous souhaitez en essayer quelques-unes, le site opensourceCMS vous permet d'essayer sans avoir à vous installer. La dernière fois que j’ai essayé, cela semblait beaucoup moins encombré de publicités, mais je suppose que vous devez payer les factures. De nombreux CMS exploitent également leurs propres sites de démonstration (par exemple, Démo Joomla , Démo Xaraya ).

0
JasonBirch

Si vous avez une tonne de temps et une démangeaison qui ne va pas disparaître - ouais, lancez le vôtre. Sinon, installez WordPress (" installation célèbre de 5 minutes ") et donnez-vous 2 heures ... c'est tout ce dont vous avez besoin pour avoir une très bonne idée.

Je voulais poster quelques commentaires en réponse aux réponses précédentes - vous pouvez certainement créer des sites Web qui sont des "pages" avec WP pas seulement des blogs (et c'est très bien pour la création de sites Web avec des blogs intégrés), et je suis d'accord. Commentaire de @ intlect sur les thèmes. Il peut y avoir une énorme différence dans la qualité de certains thèmes (également un bon endroit pour apprendre/voir comment fonctionne WP>) - j'ai été mordu plusieurs fois et j'ai également mis à niveau WP pour trouver le thème n'est pas compatible avec la version plus récente (et ensuite vous découvrirez à quel point le support du développeur est bon).

0
Dan

Il existe bien sûr une troisième option, vous pouvez utiliser un CMS moins "lourd" comme MODX Cela vous permettrait de ne pas avoir à réinventer la roue de tous les fichiers cms standard ( gestion des utilisateurs, gestion des documents, etc.) tout en vous offrant un environnement simple et flexible pour créer votre propre code. J'ai utilisé un certain nombre de CMS et ils ont tous leur créneau, mais si vous voulez quelque chose de facile à développer et suffisamment léger pour que vous puissiez le comprendre sans avoir à creuser des semaines (certains systèmes de CMS sont vraiment puissants ... ce dont vous n’avez probablement pas besoin pour un site Web personnel). MODX est fondamentalement conçu pour le type de tâches que vous souhaitez effectuer. Il vous fournit un noyau de fonctionnalités que vous ajoutez ensuite aux vôtres. De plus, les utilisateurs partagent leur code afin que vous trouviez des extraits, des modules, etc. que d'autres ont utilisés.

0
Astaldaran