• Какую проектную команду компания считает целесообразным выделить под выполнение очерченного вами круга задач: состав, кратко – компетенции и опыт каждого сотрудника.
   • Документация по проекту (что будет подготовлено к моменту сдачи проекта, кроме самого сайта).
   • На каких условиях, в том числе с финансовой точки зрения, будет осуществляться дальнейшая поддержка сайта.
 
   Рис. 8. Хороший знак, когда веб-студия четко расставляет акценты в подаче брифа и в вопросах юридического характера (со страницы http://artgorbunov.ru/bureau/contract/)
 
   Прекрасно, если в тендерной заявке веб-студия выступит со своими идеями по поводу вашего сайта. Требовать ли от потенциального исполнителя эскизов и макетов, вопрос дискуссионный, но мы ответим скорее отрицательно. Подобное может быть оправданно разве что на проектах с очень крупными бюджетами и/или при работе с госзаказом.
   Обязательно прислушивайтесь к себе: комфортно ли вам общаться с представителями студии, насколько аргументированно они отстаивают свои доводы. Вам с ними хоть и не жить, но работать бок о бок не одну неделю. Тем более что, возможно, эта компания будет заниматься техподдержкой вашего сайта. Поэтому быть приятными друг другу – не такое уж абсурдное в своей кажущейся сентиментальности требование.
   И помните: вы создаете сайт не на века, а на некий отрезок времени в обозримом будущем. Чтобы воплотить первый свой интернет-проект в графике и коде, вам необязательно разоряться на услуги топовой московской студии. Почему бы не поддержать рублем крепкую региональную, которая стабильно выдает продукт качеством выше среднего, и не расти ближайшие года три вместе с ней? И да здравствует баланс между «шашечками» и «ехать».

Как договариваться с веб-студией

   По нашему опыту, негативные стороны работы с веб-студией, перво-наперво инертность, поддаются сглаживанию – за счет того самого человеческого фактора, который и предопределяет эти досадные особенности. Клин клином вышибают, а по-модному говоря, на всякий баг в системе у нас лайфхак[9] по теме.
   Вариант «изменить систему изнутри» отпадает, да и шут с ним: вы же сайт сделать хотите, а не совершить корпоративную микрореволюцию. Однако почему бы не попробовать найти того, чье плечо послужит вам рычагом, способным оказывать мягкое давление на разработочную махину и ускорять процессы в ее недрах? Посмотрим, с кем вы будете контактировать на протяжении реализации проекта.
   Почти всегда открывает вашу коммуникативную одиссею встреча со штатным кудесником веб-студии (зачастую ее директором, особенно если контора региональная), чья святая обязанность и суперспособность – обаять вас и оставить в приятном изумлении, готовым к подписанию договора. Голос за кадром: «Вы его больше никогда не увидите». Харизматичный мастер убеждения понесся растапливать сердца другим, а вы и не заметили, как оказались переданы в руки менеджера по продажам, которые умеют считать купюры, но, скорее всего, не касаются ни интерфейсов, ни проектной документации. С одной стороны, этот специалист должен подвести вас к подписанию договора, уточнив ваши требования к сайту, с другой – невелика вероятность того, что ваши желания и стремления будут бережно донесены до конечных исполнителей: юзабилистов, программистов, дизайнеров, верстальщиков. Сейлз (от англ. sales – «продажи») не горит желанием вас обмануть. Более того, он в большинстве случаев рад бы сделать все, что в его силах, чтобы согласование ваших запросов с возможностями студии прошло без конфликтов, но не успевает. После подписания договора вас поджидает очередная карусель лиц, и перед вами предстает новая персона – аккаунт-менеджер, который будет вас, как принято говорить, «вести».
   А вот здесь внимание. Сейчас мы нашепчем вам несусветную ересь, за которую нас, будьте уверены, заклюют коллеги по отрасли веб-разработки – и справедливо, потому что она нарушает их бизнес-логику! – однако лично вам это отступление наверняка принесет пользу.
   В лучшем случае аккаунт-менеджера вам выделят из числа не самых занятых. Казалось бы, какая разница, кто будет «цифровым курьером» между вами и «интернет-строителями»? Большая. Аккаунт-менеджер, в сущности, ваша единственная надежда и опора в круговерти веб-разработки. Вам может повезти с таким посредником, а может и нет. Не к лицу человеку, решившему заняться бизнесом в Интернете, полагаться на судьбу. Стало быть, дерзните выбрать аккаунта сами и настаивайте на своем. Так не принято, но так эффективно.
   Как понять, какой менеджер хорош? Порасспрашивайте своих друзей, сотрудничавших с какой-либо студией и довольных как результатом, так и процессом сайтостроительства, кто вел проект. Изучите «цифровой профиль» кандидатов (Facebook, «ВКонтакте», «Мой круг», LinkedIn, собственные блоги). А если вы успели приглядеть студию и вам больше прочих симпатичны несколько сайтов из ее портфолио, не постесняйтесь позвонить или написать в заказавшие их компании, чтобы узнать, какой аккаунт-менеджер был им выделен и все ли было гладко в реализации проекта.
   Возможно, ваше поведение покажется боссам веб-студии ребячливым (хотя едва ли, ведь они-то знают, кто из их аккаунтов чего стоит), зато вы существенно снизите свои риски.
   В сайтостроительной конторе средней руки целая россыпь департаментов: дизайн, программирование, верстка, SEO – и у каждого своя загрузка, свои трудности, «своя атмосфера». А еще свой начальник, у которого свое видение того, в какую очередь и с какого бока браться за ваш проект («Еще один интернет-магазин на программинг – издеваетесь? У меня завал»). Да что там – иногда между отделами разгорается настоящая война! И быть вашим Вергилием, вашим рупором и бейсбольной битой в жарких цехах веб-разработки не кому-нибудь, а аккаунту. Если вы не ошиблись в выборе, он будет волочить ваш сайт на своих плечах «…с этапа на этап, // По пустырю, по бурелому», стыкуя между собой департаменты и отдельных исполнителей и не давая им забыть о ваших потребностях, и в частности о техзадании, сглаживая острые углы и экономя ваше время. В общем, в каком-то смысле вы выбираете даже не студию, а аккаунт-менеджера.
   Другой способ заставить громадину веб-студии шевелить ластами и хвостом – простимулировать ее материально, выплачивая небольшие транши заранее оговоренных размеров за удачно закрытый этап промежуточных работ, например:
   • предоплата – 50 %;
   • техническое задание – 10 %;
   • дизайн и верстка – 20 %;
   • программинг – 20 %.
 
   Поскольку в веб-студии не понаслышке знают о таком грустном явлении, как кассовый разрыв, при четко зафиксированных договоренностях о порядке выплаты траншей руководство компании будет подстегивать сотрудников департамента, где проект вдруг «завис», с тем чтобы заслуженно получить очередной платеж.
   Так что, подступаясь к созданию сайта, лучше изучайте не PHP, а психологию и основы бизнес-коммуникаций.

http://2013.tagline.ru/top100-digital-production/
   «Рейтинг Рунета»: http://www.ratingruneta.ru/web/2012/
   «Особенности и риски крупного веб-проекта. Как строить работу»: http://www.intervolga.ru/blog/thoughts/big-project-risks/

Глава 5. Выбор CMS: почти готовое платье

   На форумах начинающих интернет-предпринимателей только и разговоров что о CMS. Кто-то брызжет оптимизмом: дескать, купил такую «коробку» – и прощайте, программисты, сам теперь сайт смастерю. Кто-то более сдержан: приятели из веб-студии уверили его, что, какую систему ни возьми, все равно ее придется долгие недели доводить до ума. Одни считают, что делать по-настоящему серьезный сайт на CMS хуже, чем возводить небоскреб на деревянных сваях. Глупо отказываться от изысканного замка в пользу панельного дома, убеждены другие. Истины в форумных пересудах нет, а правда в каждом случае своя. Какая из них ваша, вы точнее поймете, прочитав эту главу.

Что представляет собой CMS

   Аббревиатура-матрешка: одна ее интерпретация вмещает другую. Часто под CMS (content management system – «система управления контентом») понимают меньшую часть – то, что в обиходе зовется админкой: «служебное помещение» сайта, где простейшими манипуляциями можно менять тексты, вставлять фотографии, добавлять и убирать разделы (и решать менее очевидные задачи, например без головной боли контролировать различные версии документов) с той легкостью, как если бы все эти действия выполнялись в штатных офисных программах; обычные веб-формы, узнаваемые пиктограммы – и никакого тарабарского кодинга (рис. 9).
   А в широком понимании CMS – это готовый движок, ядро сайта, обеспечивающее его функционирование в Сети и взаимодействие с пользователем. И включает как одну из своих составных частей ту самую админку – служебный кабинет, в котором контент-менеджер, обычно не обремененный техническими знаниями, меняет наполнение сайта.
   Иначе говоря, можно возводить здание сайта с нуля, а можно использовать CMS, создатели которой заложили фундамент за тебя.
   Предметнее: в самом общем смысле CMS – это программный комплекс, который устанавливается на веб-сервер (хостинг) и, «сшивая» по заданным правилам шаблоны дизайна и информацию из баз данных, динамически компонует страницы и отдает их браузеру посетителя. Конечно, по-прежнему встречаются интернет-ресурсы, состоящие из статичных HTML-страниц, и иному сайту-визитке аскетичное исполнение по старинке даже к лицу. Сделаны они, как правило, вручную. Есть системы управления контентом, которые умеют создавать статичные страницы, но в подавляющем большинстве случаев подразумевается «динамика».
   Рис. 9. Работа в WYSIWYG-редакторе наглядна и интуитивно понятна

Всегда ли нужна CMS?

   В узком понимании, как зона администраторского доступа с легким в освоении инструментарием, включая WYSIWYG-редактор[10] с возможностью упрощенной HTML-разметки, нужна безоговорочно. Даже если архитектура сайта и все его программные модули пишутся с нуля, вам как заказчику и будущему владельцу веб-проекта понадобится интерфейс, обеспечивающий правку текстов, замену изображений, добавление разделов и т. д. А строго ли обязателен готовый движок? Копий, сломанных в попытках доказать ту или другую точку зрения на поднятый вопрос, хватило бы на псевдоримские ограды всех безвкусных вилл Подмосковья. Рискнем лишь высказать свою позицию: для большинства компаний малого и среднего бизнеса использование CMS как платформы сайта может быть разумно и экономически оправданно. Так что прежде чем стучать кулаком по столу с возгласом: «Долой полумеры! Потратимся, но пусть код от первой до последней строчки будет наш собственный», – осмотрительному заказчику есть резон изучить, какой выбор предлагает ему отрасль веб-разработки. Готовое – не значит плохое.
   Чуть углубившись в IT-дебри, уточним, что, помимо CMS, существуют так называемые frameworks – фреймворки, или «каркасы». Это своего рода пред-CMS, готовые наборы программных компонентов, которые, в частности, описывают механику работы с базами данных сайта. Зачастую при создании «тяжелых», сложносоставных, высоконагруженных интернет-проектов применяются именно фреймворки.

Типы CMS

   Недаром CMS – платные и бесплатные, с открытым исходным кодом и проприетарные, универсальные и узконаправленные – сосуществуют годами: все они пока находят свое применение (а нет – так потихоньку вымирают). Одни в большей степени, другие в меньшей. Однако свои сильные стороны есть у каждого типа.
   Запомните крепко-накрепко: выбирать CMS нужно, опираясь исключительно на необходимую вам функциональность сайта с прицелом на обозримое будущее (см. главу 1 «Техзадание: последний раз себя спрашиваю!»). Такие показатели, как безопасность системы, язык программирования, на котором она написана, и т. д., тоже нельзя сбрасывать со счетов, однако четко заданные «эксплуатационные характеристики» сайта действеннее сузят круг поисков.
   Не торопитесь следовать услышанным краем уха советам: «Скажи, пусть делают тебе интернет-магазин на Magento 1.7. Я долго выбирал и знаю, о чем говорю». Даже если доморощенный эксперт – простите, но мягче не скажешь – занимается, как и вы, электронной торговлей, едва ли он досконально разбирается в особенностях вашего бизнеса и ваших потребностях, а тем более в Magento и его плагинах. И сомнительно, чтобы он хотя бы знал, к какому классу CMS принадлежит Magento. А надо бы.

Массовые коммерческие

   В иных классификациях их величают «платными коробочными» (о «бесплатных коробочных» читайте в следующем подразделе), реже – «тиражными». Фактически это одно и то же, только каждое из трех определений характеризует отдельное свойство продукта. Итак, подобная система изначально представляет собой платное решение, рассчитанное на массовое использование, притом что каждая его лицензионная копия подлежит отдельному учету.
   Сленговое словечко «коробка» применительно к CMS – без пяти минут архаизм. Считанные годы назад большинство коммерческих систем управления сайтами как товар действительно представляли собой картонную упаковку с CD, на который был записан софт, и документацией. Сегодня издатели CMS «массового назначения» гораздо реже косвенно губят деревья и загружают линии фабрик, штампующих компакт-диски: дистрибутив системы передается клиенту через Интернет после оплаты. Хотя от коробок в прямом смысле слова отрасль еще не отказалась окончательно.
   Важнейшее достоинство коммерческих CMS – их отчуждаемость. Разъясним: покупка такой системы не привязывает вас к ее производителю. Разрабатывать сайт на ее базе может как ваш штатный специалист, так и сотрудник студии, у которой, например, заключен партнерский договор с издателем CMS, а в большинстве случаев и фрилансер. Благо документация у коммерческих систем управления контентом подробнейшая (во всяком случае так полагается) и интегратор-настройщик со стороны способен вникнуть в их нюансы. По этой причине, а также ввиду широкого распространения самых популярных тиражных сиэмэсок вокруг каждой из них сложилось более или менее многочисленное сообщество умельцев, способных быстро и безболезненно внедрять и «допиливать» ее под требования заказчика.
   Нет двух одинаковых бизнесов, и нет двух одинаковых сайтов. Но коль скоро продукт платный и бьет в масс-маркет, жизненно необходимо, чтобы его потенциал, насколько это возможно, удовлетворял запросам самых разных заказчиков. Поэтому тиражные системы управления контентом по преимуществу универсальны, отчего напоминают спортсменов-десятиборцев: разносторонне развитые, они не могут быть одинаково сильны в метании копья, толкании ядра и беге на дистанцию 100 м и почти никогда не превосходят в каждом отдельном состязании тех атлетов, которые отдали жизнь одной дисциплине. В большинстве случаев CMS «из коробки» способна почти на все, что нужно ее усредненному покупателю, предусматривает многочисленные структурные шаблоны (хоть интернет-магазин, хоть сайт-визитка, хоть блог) и гибка в настройке.
   Вместе с тем к коммерческим движкам как нельзя лучше подходят слова старинной песни: «Эх, полным-полна моя коробушка: // Есть и ситец, и парча…» Да, все есть, включая гору возможностей и опций, которые вам никогда не понадобятся. В своей универсальности «коробки» по определению избыточно функциональны. Выскажем дискуссионное мнение: по нашим наблюдениям, в среднем сайты, сделанные на тиражных CMS, работают все же чуть медленнее, особенно в тех случаях, когда веб-проект на протяжении нескольких лет обрастал дополнительными возможностями и имеет длинную историю «наследуемого кода».
   В связи с универсальностью таких продуктов велик риск переплаты за абсолютно ненужные вам функции.
   Но саму платность коммерческих CMS мы бы не рассматривали как недостаток. В конце концов, лицензия налагает на разработчика ответственность за продукт и предусматривает такие полезности, как централизованная официальная техподдержка, своевременное обновление ядра системы и отдельных ее модулей. В случае чего есть кому предъявлять претензии и есть кого просить о помощи.
   Так-то оно так, но загодя высчитать «полную цену владения» (total cost of ownership) таким продуктом часто та еще задачка: сперва купи дистрибутив, потом заплати разработчику, который его «подстрогает» под твои задачи, да еще через год, глядишь, понадобится заплатить за апдейт[11] (а киберпреступники очень любят те сайты на основе коммерческих CMS, чьи владельцы из экономии не продлевают лицензию: бреши в софте со временем становятся секретом Полишинеля, но по понятной причине на ресурсе у скупца остаются незалатанными).
   С одной стороны, поскольку такие системы создаются и поддерживаются целой командой, совершенствующей функциональность продукта и закрывающей дыры в его коде, они обладают сильной защитой. С другой – взломщику вскрывать тиражные CMS интересно как раз потому, что на них сделано множество сайтов, и если злокозненный финт удастся с одним, то почти наверняка пройдет и с тысячами других, построенных на той же платформе.
   Конечно, у разработчиков тиражных движков есть roadmap – продуманный план, исходя из которого они выпускают обновления продукта. Однако до ядра CMS они посторонних (хоть купи у них самую дорогую лицензию) допускать не склонны. Дескать, носик подправить – пожалуйста, а в ДНК не лезьте.
   «Массовый» не равно «ширпотреб». На коммерческой системе «1С-Битрикс», например, функционируют интернет-магазин сети «Эльдорадо» и множество других известных коммерческих веб-проектов, а также онлайн-СМИ (рис. 10).
   Рис. 10. На тиражной CMS «1С-Битрикс» построено, например, авторитетное отраслевое онлайн-СМИ Roem.ru
 
   Важно точно знать, чего именно вы хотите от массовой коммерческой CMS, иначе в ее анфиладах легко заплутать.
   Самые известные и распространенные в Рунете: UMI.CMS, «1С-Битрикс», NetCat.

Свободно распространяемые

   Можно было бы назвать CMS данного типа бесплатными – а обычно так и есть, – но давайте мы все-таки развеем миф: частенько такая система требует дополнительных трат. И еще один довод во избежание путаницы: бесплатные версии нередко имеются у студийных CMS (см. ниже).
   Что значит «распространяются свободно»? «Свободно» здесь мы читаем как «по лицензии GNU GPL». А попросту говоря, вносить изменения в исходный код CMS вправе кто угодно (лишь бы сохранялось указание первичного авторства), писать для нее дополнения и расширения – тем паче. Естественным образом отсюда вытекают как достоинства, так и недостатки подобных систем.
   Вопреки стереотипам, разработка и поддержка «вольноопределяющихся» CMS не прерогатива стихийно возникающих комьюнити программистов-«антикопирастов». Действительно, энтузиасты отдают много сил развитию таких систем и целенаправленно объединяются в сообщества, однако часто основную линию развития движков с открытым исходным кодом курируют софтверные корпорации разного калибра. Так, один из самых известных, Drupal, подшефен компании Acquia.
   Если вы углубитесь в предмет, то вскоре встретите на форумах веб-мастеров и других злачных местах Веба такое понятие, как «сборка». Фактически это движок с «обвесом» из модулей и плагинов, которых достаточно для запуска полноценного сайта. Иными словами, аналог «коробок», о которых мы успели рассказать выше. Условно такие «дистрибутивы с шашечками» с небольшой натяжкой периодически называют «бесплатными коробками». Сборку может сделать независимый разработчик, отталкиваясь от вашего техзадания и пожеланий, но в случае с наиболее популярными системами производство таких комплектов поставлено на твердую ногу. Одну из самых популярных русских сборок CMS Joomla! выпускает компания Red Soft.
   Открытость исходного кода всячески благоприятствует улучшениям и исправлению ошибок. Пожалуй, даже не в меньшей степени, чем у тиражных CMS. Впрочем, так как мы имеем дело с формально некоммерческим продуктом, обычно его качество владельцу сайта никто не гарантирует – как минимум ручаться не обязан. И разумеется, не каждая открытая система управления контентом имеет службу технической поддержки. Тем не менее у ряда таких CMS есть саппорт, а главное, на форуме «адептов» и «отправителей культа» того или иного свободно распространяемого движка получить дельную консультацию подчас удается оперативнее, чем если бы у него была действующая по инструкциям штатная техподдержка.
   С настройкой бесплатной CMS под типовой сайт совладает любой пряморукий фрилансер, которому доводилось с ней разбираться. Заранее оговоримся, что последнее утверждение относится к наиболее распространенным в Рунете сиэмэскам. «Поднять блог на Wordpress» умеют тысячи. Сделать интернет-магазин на Magento – сотни. А вот того, кто гарантированно управится с MODx, еще надо будет поискать: эта CMS, по широко распространенному мнению, несколько сложнее в освоении для веб-разработчика. Есть и оборотная сторона медали: любой мало-мальски нетривиальный проект на базе «свободного» движка требует участия разработчика, который с ним давно на «ты». Если вы ангажировали пусть даже толкового веб-программиста делать что-нибудь отличное от шаблонного блога на Drupal (допустим, сервис с разветвленной системой отзывов о ресторанах), притом что он раньше эту CMS в глаза не видел, есть ненулевая вероятность того, что «изучение матчасти» займет у вашего исполнителя больше времени, чем можно было бы потратить, предпочтя более привычный ему вариант.
   Бесплатность – вкусный пряник для тех, кто делает первые шаги в интернет-бизнесе. Но как вы думаете, на одном ли голом энтузиазме держатся свободно распространяемые CMS? Безусловно, нет. За многие по-настоящему полезные дополнения просят деньги – не то чтобы баснословные, но и не символические; взять хотя бы плагин для красивой реализации социальных комментариев на Joomla!. Более того, консультации по «базово бесплатным» движкам и их внедрение – услуги также платные. Не секрет, что внешние модули для движков данного вида могут давать чрезмерную нагрузку на веб-сервер, поскольку их создатели были не в силах предусмотреть всех программно-аппаратных комбинаций и предсказать, кто из их предшественников как преобразовал ядро CMS. Чтобы разобраться в ситуации, одного искреннего «спасибо» может быть мало. Тем более что не каждый движок с открытыми исходниками достаточно подробно задокументирован.
   Лемма: допиливать сайт на CMS с открытым кодом вам, так или иначе, придется, вопрос лишь в масштабе бедствия. Аксиома: такие движки, будучи взятыми в эксплуатацию на коммерческий сайт, в большинстве своем каких-нибудь расходов да требуют. Разве только вы сами опытный веб-программист.
   Свободно распространяемые движки в штатном исполнении годятся для сравнительно простых сайтов малого и среднего бизнеса, подходят и для блогов. Меньше – для корпоративных сайтов. Если за такую CMS возьмется смышленый разработчик «с упованьем и крепкой дубиной», на выходе можно будет получить сайт с филигранной, богатейшей функциональностью. Не верите? Поверьте: один из крупнейших в России интернет-магазинов «Сотмаркет. ру» воздвигнут не на чем-нибудь, а на Drupal. Конечно, подвергнутом бесчисленным усовершенствованиям.
   Встречаются и узкоспециализированные движки с открытым исходным кодом, например phpBB – для интернет-форумов. Антиспам, средства модерации, многоуровневая система делегирования прав пользователям и пр. – все включено, так что редкому разработчику взбредет в голову писать форум целиком самому. В свою очередь, популярный Wordpress был задуман как CMS для комфортного ведения блогов, однако имеет и иные «амплуа».
   Самые известные и распространенные в Рунете: Drupal, Joomla! Wordpress.

Студийные

   Бывали дни веселые, когда каждая студия считала делом чести иметь свою CMS. Как дворянину полагался герб. Еще лет восемь назад на ниве CMS в Рунете царила феодальная раздробленность. Постепенно, год от года, рыночная доля студийных, или, шутливо выражаясь, «частных» (еще их называют «индивидуальными»), CMS сокращается за счет того, что веб-студии все чаще отдают предпочтение коммерческим тиражным продуктам. Однако многие студийные движки сумели в свое время набрать небольшую армию сторонников (иногда сторонников поневоле: бывает, переносить сайт на новую систему куда мучительнее, чем иметь дело с надоевшей, но привычной).
   В общих чертах уцелевшие под гнетом новейших интернет-трендов студийные движки отличаются высокой скоростью работы и обладают весьма широкими возможностями. Правда, лоскутный феодализм никуда не делся. У каждой студийной CMS свои особенности и странности, достоинства и недостатки.