LINUX.ORG.RU

Подскажите CMSку моей мечты

 


12

9

Сразу скажу, не уверен, что такое вообще существует в природе, ибо требования у меня противоположны всему, что сейчас воспринимается как мейнстрим. В общем, нужна CMS для сайтов, которые заведомо _не_ относятся (и никогда не будут относиться) к категории «высоконагруженных». При этом имеются два совершенно категорических требования:

1) свободное распространение и использование без ограничений (в том числе без всяких обязательных ссылок и т.п.)

2) ничего тьюринг-полного на стороне клиента; JS, HTML5, CSS3 запрещены под страхом смертной казни, то есть если CMS генерит что-то из перечисленного, то она не рассматривается вообще, вот то есть даром не нужна; в идеале — генерит XHTML и использует мелкий CSS-файлик на десяток классов;

Кроме того, есть ещё несколько более мягких, но тоже существенных пожеланий:

3) Язык реализации. В идеале она вообще должна быть написана на C или C++ с использованием минимума (лучше — zero) внешних библиотек, но такого, скорее всего, не бывает. PHP я терпеть ещё готов, Perl с его системой библиотек и dependecny hell — уже с трудом, что касается Питона, Руби, Джавы и прочей экзотики — мне проще будет её самому написать. Или без сайта обойтись.

4) Хранилище. Идеальная с моей точки зрения CMS не использует никакие СУБД вообще от слова совсем, то есть даже SQLite. Для хранения всего и вся — обычные текстовые файлы в обычных директориях.

5) Кастомизация. Сменные темы, среди которых есть что-нибудь лёгкое и НЕ привязанное к конкретной ширине экрана.

При этом она должна обязательно поддерживать настраиваемую навигацию, блоки, появляющиеся на определённых страницах (на всех или на некоторых), а также пользовательские комментарии (крайне желательно, чтобы пользователи могли заходить со своими OpenID — да, я имел в виду именно OpenID, а не OAUTH).

Если кто видел что-то подобное, киньте ссылочку :-)

★★★

Ответ на: AiKi engine от digiport

AiKi Engine

JSON... JQuery...

Какое именно слово во фразе «JS запрещён под страхом смертной казни» непонятно?

Croco ★★★
() автор топика
Ответ на: комментарий от OyyO

microtext.info

Увы. Автор предполагает всё мало-мальски динамическое делать с помощью AJAX. Отказать.

Croco ★★★
() автор топика
Ответ на: комментарий от Twissel

А чем cppcms не походит?

Если я правильно понял, что это такое, то это библиотека (автор упорно пишет «framework») для создания собственной CMS, то есть придётся попрограммировать. Чтобы понять, подходит оно мне или нет, нужно попытаться что-то с её помощью сделать, это не на пять минут дело. Будет немножко свободного времени — я её обязательно посмотрю и попробую.

Croco ★★★
() автор топика
Ответ на: комментарий от Stanson

Сам напиши, если всё сильно утрировать, то похапе в зубы и можно обойтись несложным index.php который в зависимости от query генерит тебе странички из темплейта и собственно контента. Темплейт страницы может быть в самом index.php.

вебмакак не слушай, они просто тупые и способны только использовать готовых монстров. Всё вполне реализуемо и не очень сложно. Готовых не найдёшь, потому что штука слишком простая, никто из написавших подобное не считает нужным это обнародовать из-за очевидности решения.

Можно и на сях в общем-то написать, просто придётся навелосипедить обработку query, что в похапе есть искаропки. Или, как вариант, можно вообще такой модуль к апачу забабахать, генерирующий странички из контента и темплейта, например.

Не слушай веб-макак, напиши сам. Роутер, затем шаблонизатор, предусмотрев защиту от XSS, после реализуй защиту от CSRF, убедись, что нет невалидируемых редиректов и переадресаций, на C ещё и сессии, затем на файлах создай свою Субд. Дело простое и тривиальное, поэтому никто из написавших не считает нужным это обнародовать. Или просто как лох, поставь за 5 минут готовое, да пользуйся. Но это, понятно, не путь джедая.

MadDeer
()

В идеале она вообще должна быть написана на C или C++

PHP я терпеть ещё готов,

что касается Питона, Руби, Джавы и прочей экзотики — мне проще будет её самому написать

и прочей экзотики

Начинай писать сам, потом расскажешь как там в файлах инфу хранить.

ggrn ★★★★★
()
Ответ на: комментарий от MadDeer

Роутер, затем шаблонизатор, предусмотрев защиту от XSS, после реализуй защиту от CSRF, убедись, что нет невалидируемых редиректов и переадресаций, на C ещё и сессии, затем на файлах создай свою Субд.

Веб-макаки такие вебмакаки. :) Зачем это всё это дерьмище нужно для задач ТС? Какой нахер XSS и CSRF если жабоскрипта у ТС нету? Какие ещё редиректы и куда? Нахрена нужна БД, если нет данных которые разумно было бы хранить в БД?

Веб-макаки превратившие www в вебдванольное прыщеангулярное жабоскриптное говно - эталон ламерства и дебилизма.

Stanson ★★★★★
()
Ответ на: комментарий от ggrn

потом расскажешь как там в файлах инфу хранить.

А в чём проблема хранить контент десятка-сотни страничек в файлах? Они один хрен все в буферах окажутся и будут там сидеть до смерти сервера. Накладных расходов - только сисколлы на open/read/close, никакого io вообще не будет. Никакого выигрыша БД в этом случае не даст.

Совать БД туда где она нафиг не упёрлась - маразм.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну ТС тоже излишне суров. Готовые инструменты для генерации ему не подходят по каким-то религиозным причинам, писать на недоязычках он брезгует. Даже не знаю, что тут можно придумать. Может просто index.html со ссылками на те самые текстовые файлы с инфой. Вот это я понимаю олдскул.

bread
()
Ответ на: комментарий от Stanson

Какой нахер XSS и CSRF если жабоскрипта у ТС нету?

У ТС'а то может и нет, а у посетителей его сайта он есть.

эталон ламерства и дебилизма

Признание своей проблемы - уже половина её решения.

MadDeer
()
Ответ на: комментарий от bread

Может просто index.html со ссылками на те самые текстовые файлы с инфой. Вот это я понимаю олдскул.

Ну обычно на сайтике желателен header+footer и некая навигация, которые присутствуют на всех страничках. Вот пущай ТС и напишет себе похапешку строк на 200, которая будет всё вышеупомянутое рисовать и контент из файликов показывать в соответствии с url.

С комментариями, правда, не очень понятно - чего же именно ТС хочет и удовлетворится ли каким-нибудь минимализмом без тредов и т.п.

Stanson ★★★★★
()
Ответ на: комментарий от Croco

JohnCMS вызывает некие подозрения тем, что у неё сайт на русском. Изоляционизм вообще внушает недоверие. Ну то есть если бы у неё ещё какие-то достоинства были, я бы ещё посмотрел, но если это тоже PHP/mysql, то у меня вообще-то пока есть drupal 5-6 с вручную отстриженными тэгами script (с семёркой уже не проходит этот номер).

Сайт на русском, потому что разработчик говорит на русском. Этой cms пользуются активно вьетнамцы, да и англоговорящие не брезгуют, куча языковых пакетов. Джон простой, как два пальца. Раньше активно ковырял, клепал сайты на нем, потом как-то забил, не до этого стало.

NoobeR ★★★★
()
Ответ на: комментарий от MadDeer

У ТС'а то может и нет, а у посетителей его сайта он есть.

И что с того, что у посетителя где-то там есть какой-то JS, если ему сервак всучит статичный html+css?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Комментарии тоже хранить в текстовом файле. Можно упороться и сделать структуру отступами. Добавлять POSTом, читать как есть.

bread
()
Ответ на: комментарий от Stanson

Кстати, заметно по треду, что вебщики уже не представляют как делать элементарные вещи без клиентских скриптов. Хорошенько мозги промыли.

bread
()
Ответ на: комментарий от Croco

Croco

Не поверишь — мне стало не на чем разворачивать собственные сайты. Так что это не проект, я ищу набор отвёрток лично для себя.

А какие у тебя сайты? Можно пару ссылок? Просто ну очень специфические требования... Интересуюсь еще и потому, что думал сделать архив ПО и игр для Mac OS 9, сделать его на чистом HTML 4 и CSS 2, без JavaScript. Именно потому, что последний на Mac OS 9 не работает, а сайты с новыми технологиями отображаются крайне специфично.

ravdinve
()
Ответ на: комментарий от Twissel

Twissel

Например, http://stolyarov.info/

По-моему такой сайт было логично сделать на чистом HTML. А еще можно извратиться и написать свой собственный WEB-сервер на C и сделать сохранение комментариев в текстовый файл. Но опять же, я не понимаю, почему ТС так против БД.

ravdinve
()
Ответ на: комментарий от ravdinve

Не могу подтвердить, у меня довольно шустро. Даже в такой «ненужно-экзотике» как NetSurf.

Хотя, возможно, Андрей Викторович задумал пилить отдельный новый проект.

Пусть сам ответит.

Twissel ★★★★★
()
Ответ на: комментарий от Croco

Чтобы понять, подходит оно мне или нет, нужно попытаться что-то с её помощью сделать, это не на пять минут дело. Будет немножко свободного времени — я её обязательно посмотрю и попробую.

Мне вот тоже, как и анонимусу выше, кажется, что при твоих специфических требованиях лучше попрограммировать на cppcms, чем пытаться найти что-то сразу готовое.

hobbit ★★★★★
()
Ответ на: комментарий от Twissel

Twissel

Не могу подтвердить, у меня довольно шустро. Даже в такой «ненужно-экзотике» как NetSurf.

Хотя, возможно, Андрей Викторович задумал пилить отдельный новый проект.

Пусть сам ответит.

Вот ЛОР у меня работает очень шустро, а сайт ТС у меня «задумывается» при нажатии на любую ссылку на секунду, не меньше. Но не суть.

hobbit

Мне вот тоже, как и анонимусу выше, кажется, что при твоих специфических требованиях лучше попрограммировать на cppcms, чем пытаться найти что-то сразу готовое.

Не щупал, не знаю... Я лишь свое мнение высказал, на мой взгляд WEB и C (и даже C++) не сделаны друг для друга... Плюс при должном знании этих языков (к слову, я ни один, ни другой не знаю) быстрее, на мой взгляд, сделать свой проект с нуля, а не изучать еще один фреймворк.

ravdinve
()
Ответ на: комментарий от ravdinve

Плюс при должном знании этих языков (к слову, я ни один, ни другой не знаю) быстрее, на мой взгляд, сделать свой проект с нуля, а не изучать еще один фреймворк.

Ну я пишу на плюсах. :) Но при этом если рискну вляпаться в написание на них чего-нибудь для веба, я предпочту воспользоваться фреймворком, чтобы не пилить руками авторизацию, роутинг URLов и тому подобное.

hobbit ★★★★★
()

В идеале она вообще должна быть написана на C или C++

А чего не на ассемблере? Есть один паренёк, пилит форум на ассемблере. Я думаю, вам стоит подружиться.

th3m3 ★★★★★
()
Ответ на: комментарий от Stanson

А теперь почитай

Какой нахер XSS и CSRF если жабоскрипта у ТС нету?

т.е защита от XSS как бе стала внезапно нужна ^)

ritsufag ★★★★★
()
Ответ на: комментарий от ravdinve

Главным образом, сайт медленно грузится из-за медленного хоста.

То, что CSS не помещены в один файл и не минифицированы, ну, не самый большой грех. Но один и тот же CSS скачивается два раза! Используя современные средства разработки, подобные проблемы исправляются сразу же после появления.

anonymous
()

ТС упорот. Возьми ты уже и выучи Django. SQLite, между прочим, прекрасная субд, с «всё в файликах» даже рядом не стояла по скорости поиска и т.п.

menangen ★★★★★
()
Ответ на: комментарий от ritsufag

т.е защита от XSS как бе стала внезапно нужна ^)

Ты вообще в курсе что такое XSS?

Ты вообще в курсе, что страницу можно сделать нечитаемой или загружающей всякую хероту непойми откуда, вообще без всякого жабоскрипта?

Ты вообще в курсе, что для всяких внешних данных есть такая банальная штука как quoting, и что её использование - это как мытьё рук после туалета?

Если ты после своих вебмакачьих высеров какие-то идиотские защиты себе придумываешь от вещей которых даже не понимаешь, ну типа молишься и приносишь жертвы своей жабоктулхе, чтобы не обосраться, вместо того, чтобы просто помыть руки - то ты даже на вебмакаку не тянешь ещё.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

CSRF возможен и без клиентского js. Гугл в помощь. Но автору вообще не стоит волноваться об этом - никто не станет делать целенаправленную нетривиальную атаку на мелкий сайт-визитку.

Веб-макаки превратившие www в вебдванольное прыщеангулярное жабоскриптное говно - эталон ламерства и дебилизма.

Последний раз, когда я писал сайт на React, ради интереса открыл его в links. Я мог зайти на любую страницу и прочитать всю информацию. Иронично, что олдфажный сайт ТС часть информации не показывает в links.

anonymous
()
Ответ на: комментарий от anonymous

CSRF возможен и без клиентского js

И как же он возможен в случае отдачи серваком статичного html+css?

Последний раз, когда я писал сайт на React, ради интереса открыл его в links. Я мог зайти на любую страницу и прочитать всю информацию.

It works! ? Hello world ? :)

Иронично, что олдфажный сайт ТС часть информации не показывает в links.

Ну у ТСа-то там наверно картинки есть.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Даже лень отвечать на поток сознания какого-то пердоли, который вдруг решил что разбирается в вебе ^)

ritsufag ★★★★★
()
Ответ на: комментарий от Croco

Croco

Не должно оно мне ничего доставить, где я Go возьму под Openwall Linux?

Для чего такая экзотика (это вопрос, а не возмущение, восклицание и т.п.)? В смысле, чем Debian или Ubuntu, например, уступают этому дистрибутиву? Спасибо за пояснение заранее.

ravdinve
()
Ответ на: комментарий от Stanson

И как же он возможен в случае отдачи серваком статичного html+css?

csrf имеет косвенное отношение к js. он только поможет отправить запрос. но это может сделать и пользователь через form. почитай owasp.org например.

я не специалист по сетевой безопасности и я не за это получаю деньги. мне достаточно того, что и такие атаки возможны.

It works! ? Hello world ? :)

ну, без жс весь рендер хтмл просто проходит на сервере. поэтому, все, что могло работать без жс, оказалось рабочим :)

Ну у ТСа-то там наверно картинки есть.

http://stolyarov.info/node/216

видишь комментарии? я нет

anonymous
()

Тебе генератор статических сайтов нужен, а не CMS.

najlus ★★★★★
()
Ответ на: комментарий от Croco

Всё понятно, просто это необязательные опции. В Aiki функции JQuery во многом повторены на стороне сервера. А JSON это всего лишь формат хранения данных, к скриптам отношение не имеющий.

digiport
()
Ответ на: комментарий от menangen

Это скорее его принципиальная, «религиозная» позиция. Ни дать, ни взять. Так что, не обсуждается.

Twissel ★★★★★
()

Мдя. Зачем его только из больницы выпустили?

Miguel ★★★★★
()
Ответ на: комментарий от Stanson

Но зачем? Когда есть также Бд? И бекапить бд намного проще.

ggrn ★★★★★
()

Бывают случаи, когда базы данных избыточны. Представьте себе такую ситуацию: веб-сервер содержит 10 html страниц и 1 css файл. Есть еще скрипт, который добавляет на страницы возможность отправки комментариев, содержимое комментариев сохраняется в 10 txt файлов (служебные символы при записи в файл удаляются или заменяются). Содержимое .txt файлов интегрируется в соответствующие страницы скриптом или через iframe.
Неужели база данных в этом случае имеет хоть какое-то преимущество? Только файлы конфигурации этой базы данных скорее всего будут иметь более сложную структуру, чем скрипт для добавления и вывода на страницу комментариев. Также, необходимо поддерживать функционирование базы данных, которая будет висеть лишним процессом и потреблять память. А ведь примитивный http-сервер с той структурой файлов, что я привел выше, можно запустить на какой-нибудь встраиваемой системе или даже архи-древних компьютерах.

anonymous
()
Ответ на: комментарий от anonymous

конфиг SQLite это конекшн стринг и все, взять оттуда 10 коментов всяко быстрее чем копаться в файлах и еще не факт что файлы будут заметно быстрее. Да и в 21 веке когда сервер стоит всего 5$ не вижу смысла.

+ есть тот же дискас, тогда бд вообще не нужна

ggrn ★★★★★
()

Подскажите CMSку моей мечты

notepad.exe

anonymous
()
Ответ на: комментарий от ggrn

Я вас, наверное, крайне удивлю, но представьте себе, базы данных хранят информацию тоже... в виде... файлов! И еще выполняют с ними различные операции, чтобы достать 10 комментариев. По факту база данных будет ковыряться в файлах за вас (да, этот процесс оптимизирован, но в моем случае это не имеет значения). В моем примере скрипт просто считывает файл и отдает его целиком и полностью, без каких либо изменений. А если учесть, что файлы могут обитать в кэше, пока кто-нибудь не добавит новый комментарий и не изменит файл - становится очевидно, что конкретно в этом случае база данных не может быть быстрее. Хотя, это, конечно же, теоретический вопрос. На практике все будет происходить очень быстро и никто не заметит разницы.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.