мой первый опыт работы с PHP и MYSQL

Изображение пользователя den2007.

Давненько не писал ничего, все занят самообразованием :) и работой.
Подумать только, мало кто для школ пишет действительно нужное ПО, те же кто пишет заламывают непомерные цены, понять конечно можно, все хотят кушать, но некоторые явно перегибают палку в цене своих продуктов, не оказывая ни должной техподдержки, и не способствуя кроссплатформенности своих приложений.
Но самое интересное пожалуй то, что многим разработчикам вообще не до нужд пользователей, погоня за прибылью это все что их интересует.
И вот казалось бы нашли подходящую программу по школьному питанию для нашей школьной столовой, но
1. за серверную версию просят 10000 рублей.
2. под сервером подразумевается конечно же только WIN
3. на наш запрос о доработке ни ответа, ни привета.
4. демо-версия показала себя не с лучшей стороны постоянно сыпя ошибками.
5. на сообщения об ошибках тоже ни привета, ни ответа.
Все это говорит о том, что разработчикам в данном случае нужные быстрые деньги, а все остальное побоку.
В общем, пока работаем по старинке, на open office,правда с одним но...
В один прекрасный день, мне надоело смотреть на препирания завхоза с классными руководителями по поводу заполнения табелей питания,
слишком много ошибок и несвоевременность заполнения приводили к сдаче табелей почти на месяц позже...
И я решился, открыв лекции по PHP с диска INTUIT, за неделю по вечерам, я написал простенькое веб-приложение,требующее только любой веб-сервер с MYSQL и PHP.
И теперь чтобы классному руководителю заполнить табель питания(завтрак,обед, молоко, льготное питание,полдник) достаточно всего лишь одного браузера!!! и не важно WIN, LINUX стоит у учителя.
Собственно как это теперь работает.
1. Учителя заполняют табеля
2. Завхоз заполняет заявки
3. Учителя могут сверить табеля с заявками и в случае расхождений гораздо легче найти ошибку.
4. Своевременность заполнения табелей тоже решилась достаточно просто, таблица расхождений доступна и завхозу и директору!!! что уже повышает самоконтроль.
5. Плюс написаны скрипты создания pdf-отчетов, их только распечатать и отослать в бухгалтерию :) думаю готовый pdf распечатать труда не составит.

Интересно, что после двумесячного использования, все уже не представляют как раньше обходились без этого веб-приложения.
Это собственно был мой первый опыт работы с PHP и MYSQL, теперь я понимаю многие свои ошибки допушенные как и в плане безопасности, так и в плане структуры, и пр.
Но я быстро учусь, не смотря на то что сравнительно давно закончил школу, просто новые знания необходимы мне как воздух, я привык до всего доходить сам, и очень редко полагаюсь на других.
Я не хвастаюсь, как могло показаться многим, просто хочу показать, что даже небольшими усилиями можно сделать нашу жизнь лучше и легче,хотя бы в своем коллективе,
если конечно не следовать примеру нашего министра образования, который спит на заседании(фактически на работе, сегодня по телевизору даже показали, позор нашему министру)

Изображение пользователя den2007.

Интересно

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

Самое интересное в веб-интерфейсе не то, чтобы менять значения опций, а то чтобы управлять всеми аспектами фильтрации, такими как фразы, списки, проводить анализ и пр.

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

На данный момент уже написано около 60 php-файлов веб-интерфейса и база состоит из 15 таблиц. И это только пока одна часть проекта, вторая это системная служба, обновляющая структуру конфигов из базы.

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

Потом останется переписать под чистовик,используя все наработки и улучшения и дать проекту новую жизнь :)

Собственно, я запланировал следующие функции веб-интерфейса:
1. Управление опциями конфигурационного файла
2. Отдельное управление опциями сборки, поскольку везде разные, где-то нет антивирусной поддержки, где-то originalip
3. Управление категориями фраз и списков.
4. Управление фразами, списками сайтов
5. Сбор статистики по использованию фраз
6. И много чего еще

Изображение пользователя Школяр.

А поделиться?

Денис, плиз, можно это людям как-то отдать, или ты тоже будешь заламывать 10000? :))

Изображение пользователя den2007.

Вообще-то у меня есть и другой проект, более востребованный.

Деньги в данных случаях для меня не главное,
на счет отдать, я скажу по-другому, я выложу с лицензией GPL, но не сейчас, поскольку фактически начал переписывать код с нуля, так как прежний работал при включеных глобальных переменных, и содержал явные уязвимости. Скорее всего это будет начало августа.
Прямо сейчас я работаю над веб-интерфейсом к самой востребованной программе, который будет распространён также под GPL, хотя в первую очередь я пишу его под свои нужды, думаю он заинтересует очень многих.
И я говорю о веб-интерфейсе к Dansguardian, как вы уже догадались.

Изображение пользователя Школяр.

Дело мастера боится

а черти боятся трудолюбивых рук, светлой головы и доброго сердца. Ждем, Денис, ждем. Я думаю, что это будет на самом деле супер, если ты это напишешь. Просто мне хотелось, чтобы и другие попытались пройти твоим путем, начав с какой-то в общем простой программки, и поняв, что не боги PHP обжигают :))
Удачи и сил :))

С почином!

Обычно так и возникают нужные приложения. А в целом Денис, вы постигли на собственном опыте основной принцип: "Linux - тебе надо ты и делай" (Г. Курячий) :)
Ну, а если серьезно, то до уровня "выдачи на гора" еще много чего предусмотреть надо.
1. Возможность упаковки в "дистрибутивное состояние" или пакет
2. Возможность апгрейда (и структур баз и кода) без ущерба для работы и с минимумом ручных действий.
3. Проверить работоспособность на всех основных типах браузеров...
Тот еще геморрой.

Если интересно, есть подобные решения в Ростове-на-Дону у партнеров Альта http://www.altlinux.ru/partners/partners-list/integrators/ и, вроде не так уж и дорого.
Но, свое детище ближе к телу :)

Изображение пользователя den2007.

Что подобные

Что подобные решения есть я знаю, есть и коммерческий веб-интерфейс для Dansguardian.
Но в них нет нужного конкретно мне функционала.
Изначально я начал писать веб-интерфейс под себя, по спартански, без тем, AJAX, флеша, с минимумом CSS. Лично мне красивости и удобности сейчас не нужны, сейчас мне нужно получить работающий веб-интерфейс, а потом уже можно определиться в каком направлении двигаться,вдобавок я уже не буду один. Я мог бы вполне обойтись и консолью, но вот для некоторых моих экспериментов нужен более быстрый доступ к опциям и базе данных.

Теперь, что касается денег, я не собираюсь никому платить за продукт, который не может удовлетворить 95% моих запросов, а запросы у меня достаточно высокие.
Коммерческое не всегда значит хорошее, вдобавок на многих приложениях закрытый исходный код, что в случае исчезновения разработчика приведет к отсутствию поддержки и развития программы. А ошибки могут неисправляться годами.

Что толку от "бесплатного" 1С хронографа когда для его работы в Linux нужны костыли,
да еще и платные, и после каждого обновления молиться чтоб все не накрылось.Были бы исходные тексты, сообщество достаточно быстро бы переписало основные библиотеки. И Хронограф нативно бы запускался в Linux.

Знаете, но когда мы собирались покупать для столовой софт, мы его показали сотрудникам СЭС, поскольку этот софт позволял формировать меню, блюда, и знаете что нам ответили, вы купите, поставьте, поработайте, а мы там посмотрим,соответсвует ли результат работы софта нашим требованиям... ВАУ просто класс! выложи деньги, а потом плюйся потому, что вот это колоночка должна быть в отчете, а ее нет и разработчикам начхать абсолютно что ее нет, деньги то они получили, и компания однодневка сразу же развалилась.

Школам нужно кроссплатформенное ПО с нормальными лицензиями, а не с лицензиями-подачками(вот это нельзя,а за вот это срок, да еще и лицензия ограниченная во времени).

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

Насчет принципа (Г.Курячий), абсолютно не согласен, такое во всех операционных системах, просто в некоторых менее выражено.

Изображение пользователя Школяр.

Спасибо, Денис!

Читаю ваши статьи и комментарии, и просто нарадоваться не могу. Полностью согласен, и покорен на редкость вменяемым, трезвым и, главное, полезным подходом к делу :)
Пускай люди читают, и понимают, что не только их так нагибает (СЭС или кто-то еще), и не только у них эти проблемы, и что проблемы эти ведь решаемы в принципе: надо только руки приложить.
А что это не только в СПО - тоже согласен 100%. Из опыта продажи коммерческих продуктов уже понял: лучшие продукты это те, которые имеют открытый API и допускают программирование и расширение пользователем. Все равно каждый по месту допиливать приходится.