26.02.2014

Удаление статьи из Хабра

Вчера опубликовал статью на хабре. В 19-50 она была перемещена из черновиков, примерно в 21 час статью сняли с публикации.
Аргументы следующие:
__________________________________________________________
Пройдёмте, infotv!
К сожалению, я вынужден ограничить ваше участие на Хабре, переведя ваш аккаунт в readonly режим. Не просто так, конечно, а за нарушение правил Хабра:
  • не успел зарегистрироваться, а уже начал размещать рекламные посты.
Впрочем, есть несколько способов досрочного освобождения: http://habrahabr.ru/info/help/registration/#invite

С уважением, ОХРАННИК.
____________________________________________________________________

Откровенно говоря, я ничего не понял. Почему? Где там реклама? 

Странные действия. За два часа пост просмотрели более 1000 пользователей. Желающие могут прочесть статью в предыдущем сообщении этого блога. Есть незначительные отличия от текста на хабре (правки восстанавливать не буду, так как делал их в хаброредакторе, всего не вспомню).

PS. В профиле появилась запись (или вчера проглядел ???):

____________________________________________________________
Вы были переведены в режим read-only c 25.02.2014 до 27.03.2014
Причина: не успел зарегистрироваться, а уже начал размещать рекламные посты.
______________________________________________________

25.02.2014

Единое информационное образовательное пространство школы

Итак, статья номер два для habrahabr.ru

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



Кроме того, еще есть и информация, которая "крутится" вокруг школьных тем - это различные группы и сообщества школьников и их родителей в соцсетях, сетевые сообщества педагогов на специализированных сайтах, и много другое. Это также и информация от "сторонних" источников о школе - как правило от местных СМИ, социальных партнеров и т.д. А ведь есть еще информация на локальных сетевых ресурсах (фото и видеоархивы, коллекции ЦОР, методические материалы педагогов, и чего там еще только нет)

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

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

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

Итак, что такое ЕИОП школы? Это совокупность сайтов, сетевых ресурсов и сетевых служб, содержащих информацию о школе, связанных между собой единой точкой входа (стартовой страницей) и горизонтальными ссылками. Также ЕИОП должно обеспечивать наглядный вывод информации из наиболее важных ресурсов школы, а также иметь возможность "выдавать" информацию в ЕИОП верхнего уровня (для примера, в ЕИОП города).

Все эти рассуждения подкреплю описанием того, что уже сделано в МБОУ СОШ №21 города Коврова. Сразу предупреждаю, что не все задуманное реализовано в полной мере, еще не все элементы ( в том числе работа звена субъектов ЕИОП:  педагоги, родители и учащиеся) приняли и начали работать в системе. Но мы работаем, и в этом кстати мне помогают педагоги и родители школы. Кстати. ИИС, описанная в моей предыдущей статье, это и есть один из элементов ЕИОП.



Какие сайты и ресурсы и службы включены в ЕИОП 21-й школы?
  • Основной сайт school21.edukovrov.ru со стартовой страницей ЕИОП. Технологическая платформа - Drupal 7, хостинг Rucenter. Сайт содержит официальную информацию о школе, основную новостную ленту, агрегатор информации с основных ресурсов школы, базу нормативно-правовой информации школы, тематические разделы (их много). Интегрирован с наиболее значимыми социальными сетями (см. ниже) через виджеты и возможность комментировать материалы сайта в соцсетях.
  • WiKi школы, wiki-school21.edukovrov.ru. Технологическая платформа MediaWiKi, хостинг  Rucenter. На вики "прижилась" в основном педагогическая информация (сетевые сообщества, отчеты о педсоветах, материалы работы кафедр), очень хотелось бы туда затащить родительские комитеты школы, но как то пока это идет туго.
  • Службы Google Apps for Education. Они также включены в ЕИОП школы, и использование служб - это всегда актуальная информация по расписаниям занятий, звонков, графиков питания (в поддержании информации в актуальном состоянии участвуют завучи и секретариат, это уже огромный плюс в отличии от ситуации, когда все корректировки ложатся на администратора сайта). Это уже система, работающая в автоматическом режиме, и это реальный шаг вперед. Если вы вспомните ИИС из предыдущей статьи, то вы поймете, как эти элементы системы дополняют друг-друга. 
  • Электронные услуги школы. Это электронный журнал/дневник на платформе 1СХронобус,  также на основе Google Form сделана интернет-приемная директора и HepDesk школы.
  • Социальные сети. Да, я понимаю, что школьникам там не место. Но они там есть, и это нужно использовать. Поэтому школа открыла официальные аккаунты в     twitter.com/School21Kovrov  facebook.com/School21Kovrov  vk.com/club52732457 youtube.com/channel  plus.google.com/communitie  odnoklassniki.ru/group. Вся (подчеркиваю, вся новостная информация) для расширения охвата из school21.edukovrov.ru дублируется в эти социальные сети. Ну что-то типа "..тогда школа придет к вам сама". И еще получилось так, что использование "обратной" информации из соцсетей на стартовой странице ЕИОП оказалось очень удобным: это твиттер лента, канал школы на Youtube и Google Calendar.
  • Сайты госуслуг, которые содержат информацию о школе. Это и bus.gov.ru, zakupki.gov.ru, региональный образовательный портал с электронными дневниками и журналами (у нас во Владимирской области уже третий месяц буквально мучают БАРС, понаделали столько нелепостей, но речь сейчас не об этом).
  • Включение в ЕИОП сторонних образовательных сайтов и сервисов (на примере interneturok.ru - вроде-бы нехитрое дело - разместить ссылки и сайт в iframe, а в итоге оказалось, что десятки учеников регулярно смотрят учебные видеоматериалы с interneturok.ru)   
И вообще, по определению, в ЕИОП включается любой интернет-ресурс, который содержит информацию о школе: от портфолио педагогов, размещенных на педагогических сайтах до видеороликов о коле в местных СМИ.

Итак, основные цели, поставленные при создании ЕИОП:
  • собрать и по возможности структурировать всю информацию, которая генерируется в школе и вокруг школы; 
  • представить информацию для участников образовательно-воспитательного процесса в наиболее доступном виде;
  • обеспечить комфортные условия и низкий входной барьер для размещения информации участниками образовательно-воспитательного процесса. 
Все ли идет гладко? Нет, конечно нет.

Некий (я бы сказал, промежуточный) результат вы можете "в живую" посмотреть и потрогать руками на примере school21.edukovrov.ru. Да, это далеко от идеала, да нужно работать с дизайном и функционалом, все это я признаю. Для всего этого нужно время, его как всегда не хватает. 
Поэтому, если найдутся единомышленники и специалисты, готовые помочь делом - добро пожаловать, давайте объединять усилия.

В конечном итоге хотелось бы получить готовый для развертывания дистрибутив (да хотя-бы на платформе того-же Drupal), который бы предлагал несложный для школьных администраторов инструмент "из коробки" для создания школьной образовательной среды.  

12.02.2014

Школьная информационная система


В этой статье не будет описания самых передовых технологий. Здесь все намного скромнее. Я просто хочу поделиться опытом по организации бюджетной школьной информационной системы. https://geektimes.ru/post/212591/

Школа у нас обычная, на 1300 школьников + примерно 100 сотрудников (педагогический коллектив и технический персонал). Из компьютерного оборудования в школе 118 компьютеров, пару серверов, 18 интерактивных досок и куча другой компьютерной периферии (и все это железо далеко не новое). В общем, финансированием на ИКТ школа не избалована (в отличии от столичных).

И вот в 2011 году школа получает грант на развитие - целых 400 тысяч рублей. Руководство решило рискнуть - и на часть этих денег решили создать школьную информационную систему. Общий бюджет системы составил 140 тысяч рублей, совсем не густо, но что поделать. Зато название системе дали гордое - Интерактивная Информационная Система (ИИС).

Целью новой системе определили:
  • заменить традиционные стенды со школьными объявлениями, создать возможность оперативного размещения информации на телевизионных панелях с любого компьютера от пользователей, обладающего соответствующими правами (это завучи, секретарь, директор);
  • дать ученикам доступ в холле школы к расписанию уроков, звонков, графику питания в столовой и другой информации;
  • организовать в холле открытую зону WiFi для подключения через мобильные устройства (без авторизации, но с правами доступа "Ученик" к Интернет-контенту) 

Итак, вот что у нас получилось. В состав системы вошли:
  • два ЖК-телевизора (диагональ 55");
  • один информационный терминал с сенсорным экраном 19" и со странным названием "Фуга" (производства "Союзполитех" из Ростова-на Дону);
  • один неттоп iRU (один из немногих в то время с SVGA и HDMI выходами);
  • одна точка доступа LinkSys WRT54GL (легендарная железка!!!);
  • ну и из дорогих комплектующих - два HDMI кабеля  длиной по 20 метров (напоминаю, что это был 2011 год и "свистков" типа Chromecast в природе еще не было). 
Функциональная схема системы показана на рисунке:


Все это железо смонтировали в холле школы: телевизоры вывешены на кронштейнах на стене:


    Информационный терминал установили около стола охранника (анкерные болты в в бетонный пол, кабели питания и HDMI подведены в напольном электромонтажном коробе):

    Неттоп и точку доступа установили в ящике стола охранника (извините за бардак в соединительных кабелях)



    Неттоп через HDMI подключен к правой телевизионной панели, работает под Ubuntu.

    На панель через Google Chrome (в полноэкранном режиме по F11) выводится лента официального аккаунта школы в Twitter. Показ ответов в ленте отключен, таким образом в ленту выводятся твиты (либо ретвиты), которые размещены только администрацией школы.
    Кстати, точно такая же лента есть и на школьном сайте (можно посмотреть на school21.edukovrov.ru). Твит появляется и на телевизионной панели, и на сайте одновременно максимум в течении 3 минут без перезагрузки страницы. Очень удобно. 
    Еще на правой телевизионной панели размещаются школьные часы (с привязкой к расписанию). На панель выводится информация о том, какой урок или перемена сейчас идет, сколько времени прошло с начала перемены и сколько времени еще осталось. 
    В дни проведения общешкольных мероприятий на панель в полноэкранном режиме выводится постер (ну вот вроде такого). В случае необходимости управляется неттоп по сети с использованием UltraVNC, но такое случается редко.

    Левая телевизионная панель подключена втором монитором к компьютеру информационного терминала. Изначально он работал тоже по Ubuntu, но из-за проблем с драйверами сенсорной панели пришлось перейти по Windows 7 (это совпало с вхождением школы в программу Microsoft K-12, и дополнительных расходов на софт не потребовалось).
    Ну и для удобства управления контентом информационного терминала в 2013 году школа приобрела лицензию SteKiosk (около 7 тысяч рублей).


    SiteKiosk повысил безопасность интернет серфинга на терминале (сейчас открыт доступ не только к школьному сайту, но и к другим ресурсам). 

    На левую панель в режиме слайд-шоу средствами SiteKiosk выводятся постеры (как правило, это инфографика от Минобрнауки по ЕГЭ, советы по безопасному использованию Интернета от Google, постеры от МЧС по пожарной безопасности, просто статичные постеры,  и прочее). 


    Вообще, я постарался построить систему таким образом, чтобы поддержание информации в актуальном состоянии не отнимало много времени. 

    Организовано это следующим образом: возьмем к примеру расписание. 

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

    Чтобы упростить эту задачу,  в Google Диске заведены документы (презентации), в которые завуч и вносит корректировки. Данные документы встроены в нужные страницы Drupal, а уже он доступен на информационном терминале. В итоге - завуч работает в привычной для нее среде - Google Диск, а изменения видны сразу: и на сайте  (при доступе из Интернета), и на информационном терминале. 

    И теперь про WiFi. В холле он работает, подключение к Интернету без пароля. Однако сама точка доступа авторизована в Traffic Inspector с правами "Ученик", а это значит, что пользователь работает по "белым спискам" (у нас это примерно 2000 сайтов).   

    Надеюсь, что эта статья поможет в организации информационной системе в вашей школе.



























    11.02.2014

    Скрипт школьных часов с привязкой к урокам


    lav: существует две Школы Метода Тыка
    lav: первая (старая) подразумевает, что ты должен написать обработчик даты-времени самостоятельно, запутавшись во вложенных условиях и сварганить костыль для 31-ого февраля.
    lav: Вторая (новая) требует ныть до тех пор, пока не будет обнаружен класс или функция "date()".




    Публикую скрипт школьных часов...У меня такие в школе работают...может кому надо...

    Писал по принципу "очень быстро", если будут улучшения - пишите...

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru-RU">

    <head>
    <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>Школа №21 Ковров</title>
    <link rel="shortcut icon" href="favicon.ico" >
    <style type='text/css'>
    body {background-color:#000000; background-image:url(00.jpg); background-size:100% 120%; background-repeat:no-repeat,no-repeat;}
    p {font-family:Arial; font-size:1.2em; color:#ffffff; text-align:center; padding:2px; margin:1px ; border:1px;}
    h1 {font-family:Arial; font-size:4.2em; color:#F7A70E; text-align:center; padding:1px; margin:1px ; border:1px;}
    h2 {font-family:Arial; font-style:normal; font-size:0.8em; color:#99A5C2; text-align:center; padding:1px; margin:1px ; border:1px;}
    h3 {font-family:Arial; font-size:.8em; color:#F7A70E; text-align:center; padding:1px; margin:1px ; border:1px;}
    table ,th ,td { margin-left:auto; margin-right:auto;border-style:solid; border-width:2px; border-color:#ffffff;
    width:60%; border-collapse:collapse;}
    #tab1 td { padding:10px; }

    </style>

    </head>
    <body>


    <table id='tab1'>
    <tr>
    <td>
    <p><span id="nameday"></span></p>
    <h1><span id="day"></span></h1>
    <p><span id="namemonth"></span>  <span id="fullyear"></span></p>
    <h1><span id="time"></span></h1><hr>
    <p><span id="numberurok"></span>  <span id="numbersmena"></span></p>
    <p>от начала прошло: <font color="#F7A70E"><span id="timeot"></span></font></p>
    <p>до окончания осталось: <font color="#F7A70E"><span id="timedo"></span></font></p><hr>
    <p>до каникул осталось <font color="#F7A70E"><span id="dateege"></span></font> дней</p>
    </td>
    </tr>
    </table>
    <script type="text/javascript">
       
          obj_namemonth=document.getElementById("namemonth");
          obj_day=document.getElementById("day");
          obj_nameday=document.getElementById("nameday");
          obj_time=document.getElementById("time");
          obj_numberurok=document.getElementById("numberurok");
          obj_numbersmena=document.getElementById("numbersmena");
          obj_fullyear=document.getElementById("fullyear");
     obj_timeot=document.getElementById("timeot");
     obj_timedo=document.getElementById("timedo");
     obj_dateege=document.getElementById("dateege");

      name_month=new Array ("января","февраля","марта", "апреля","мая", "июня","июля","августа","сентября", "октября","ноября","декабря");
      name_day=new Array ("воскресенье","понедельник", "вторник","среда","четверг", "пятница","суббота");
      function wr_hours()
      {
      time=new Date();
          time_sec=time.getSeconds();
          time_min=time.getMinutes();
          time_hours=time.getHours();
          time_wr=((time_hours<10)?"0":"")+time_hours;
          time_wr+=":";
          time_wr+=((time_min<10)?"0":"")+time_min;
          time_wr+=":";
          time_wr+=((time_sec<10)?"0":"")+time_sec;
          flag_zan = "0"; // флаг отсутствия занятий: 1-занятий нет (ночь или воскресенье), 0-занятия идут

      if (name_day[time.getDay()]=="суббота")// програмирование расписания занятий в будние дни
          {
          u111="08:00:00";u112="08:40:00";
          u121="08:50:00";u122="09:30:00";
          u131="09:40:00";u132="10:20:00";
          u141="10:30:00";u142="11:10:00";
          u151="11:20:00";u152="12:00:00";
          u161="12:10:00";u162="12:50:00";
          u171="12:10:00";u172="12:50:00";
       u211="13:00:00";u212="13:40:00";
          u221="13:50:00";u222="14:30:00";
          u231="14:40:00";u232="15:20:00";
          u241="15:30:00";u242="16:10:00";
          u251="16:20:00";u252="17:00:00";
       u261="16:20:00";u262="17:00:00";
          }
       else  // програмирование расписания занятий в субботу
          {
          u111="08:00:00";u112="08:40:00";
          u121="08:50:00";u122="09:30:00";
          u131="09:50:00";u132="10:30:00";
          u141="10:40:00";u142="11:20:00";
          u151="11:35:00";u152="12:15:00";
          u161="12:25:00";u162="13:05:00";
          u171="13:10:00";u172="13:50:00";
          u211="14:00:00";u212="14:40:00";
          u221="14:50:00";u222="15:30:00";
          u231="15:50:00";u232="16:30:00";
          u241="16:40:00";u242="17:20:00";
          u251="17:30:00";u252="18:10:00";
          u261="18:20:00";u262="19:00:00";
          }
        if (name_day[time.getDay()]=="воскресенье") {text= "в настоящий момент";smena="занятий нет";time_start="24:00:00"; time_fin=u111; flag_zan = "1";}
    else if (time_wr>u111 && time_wr<u112){text= "идет 1-й урок";smena="1-й смены";time_start=u111;time_fin=u112;}
        else if (time_wr>u112 && time_wr<u121){text= "идет перемена между 1-м и 2-м уроком";smena="1-й смены";time_start=u112;time_fin=u121;}
        else if (time_wr>u121 && time_wr<u122){text= "идет 2-й урок";smena="1-й смены";time_start=u121;time_fin=u122;}
        else if (time_wr>u122 && time_wr<u131){text= "идет перемена между 2-м и 3-м уроком";smena="1-й смены";time_start=u122;time_fin=u131;}
        else if (time_wr>u131 && time_wr<u132){text= "идет 3-й урок";smena="1-й смены";time_start=u131;time_fin=u132;}
        else if (time_wr>u132 && time_wr<u141){text= "идет перемена между 3-м и 4-м уроком";smena="1-й смены";time_start=u132;time_fin=u141;}
        else if (time_wr>u141 && time_wr<u142){text= "идет 4-й урок";smena="1-й смены";time_start=u141;time_fin=u142;}
        else if (time_wr>u142 && time_wr<u151){text= "идет перемена между 4-м и 5-м уроком";smena="1-й смены";time_start=u142;time_fin=u151;}
        else if (time_wr>u151 && time_wr<u152){text= "идет 5-й урок";smena="1-й смены";time_start=u151;time_fin=u152;}
        else if (time_wr>u152 && time_wr<u161){text= "идет перемена между 5-м и 6-м уроком";smena="1-й смены";time_start=u152;time_fin=u161;}
        else if (time_wr>u161 && time_wr<u162){text= "идет 6-й урок";smena="1-й смены";time_start=u161;time_fin=u162;}
    else if (time_wr>u162 && time_wr<u171){text= "идет перемена между 6-м и 7-м уроком";smena="1-й смены";time_start=u162;time_fin=u171;}
    else if (time_wr>u171 && time_wr<u172){text= "идет 7-й урок";smena="1-й смены";time_start=u171;time_fin=u172;}
        else if (time_wr>u172 && time_wr<u211){text= "уроков нет";smena="пересменка";time_start=u172;time_fin=u211;}
        else if (time_wr>u211 && time_wr<u212){text= "идет 1-й урок";smena="2-й смены";time_start=u211;time_fin=u212;}
        else if (time_wr>u212 && time_wr<u221){text= "идет перемена между 1-м и 2-м уроком";smena="2-й смены";time_start=u212;time_fin=u221;}
        else if (time_wr>u221 && time_wr<u222){text= "идет 2-й урок";smena="2-й смены";time_start=u221;time_fin=u222;}
        else if (time_wr>u222 && time_wr<u231){text= "идет перемена между 2-м и 3-м уроком";smena="2-й смены";time_start=u222;time_fin=u231;}
        else if (time_wr>u231 && time_wr<u232){text= "идет 3-й урок";smena="2-й смены";time_start=u231;time_fin=u232;}
        else if (time_wr>u232 && time_wr<u241){text= "идет перемена между 3-м и 4-м уроком";smena="2-й смены";time_start=u232;time_fin=u241;}
        else if (time_wr>u241 && time_wr<u242){text= "идет 4-й урок";smena="2-й смены";time_start=u241;time_fin=u242;}
        else if (time_wr>u242 && time_wr<u251){text= "идет перемена между 4-м и 5-м уроком";smena="2-й смены";time_start=u242;time_fin=u251;}
        else if (time_wr>u251 && time_wr<u252){text= "идет 5-й урок";smena="2-й смены";time_start=u251;time_fin=u252;}
        else if (time_wr>u252 && time_wr<u261){text= "идет перемена между 5-м и 6-м уроком";smena="2-й смены";time_start=u252;time_fin=u261;}
        else if (time_wr>u261 && time_wr<u262){text= "идет 6-й урок";smena="2-й смены";time_start=u261;time_fin=u262;}
        else if (time_wr>u262){text= "в настоящий момент";smena="занятий нет";time_start=u262;time_fin="24:00:00"; flag_zan = "1";}
        else if (time_wr<u111){text= "в настоящий момент";smena="занятий нет";time_start="00:00:00";time_fin=u111; flag_zan = "1";}

        // вычисление времени от начала урока или перемены
    time_start_hh = time_start.substring(0,2);time_start_mm = time_start.substring(3,5);
    start = new Date(time.getFullYear(),time.getMonth(),time.getDay(),time_start_hh,time_start_mm,0);
    real = new Date(time.getFullYear(),time.getMonth(),time.getDay(),time.getHours(),time.getMinutes(),time.getSeconds());
    date = (real.getTime() - start.getTime()) / (1000) ; time_real = Math.round(date);
    min = Math.round((real.getTime()-start.getTime())/60000);
    if (flag_zan == "1"){sec = "0"; min = "00";}
    else if (time.getSeconds()<30) {sec = (real.getTime()-start.getTime())/1000-min*60;}
    else {sec = (real.getTime()-start.getTime())/1000-min*60+60;min=min-1;}
    sec=((sec<10)?"0":"")+sec; timeot = min + ":" + sec;

    // вычисление времени до окончания урока или перемены
    time_fin_hh = time_fin.substring(0,2);time_fin_mm = time_fin.substring(3,5);
    fin = new Date(time.getFullYear(),time.getMonth(),time.getDay(),time_fin_hh,time_fin_mm,0); //осталось
    real = new Date(time.getFullYear(),time.getMonth(),time.getDay(),time.getHours(),time.getMinutes(),time.getSeconds());
    date = (-real.getTime() + fin.getTime()) / (1000) ; time_real = Math.round(date);
    min = Math.round((-real.getTime()+fin.getTime())/60000);
    if (flag_zan == "1"){sec = "0"; min = "00";}
    else if (time.getSeconds()<30) {sec = (-real.getTime()+fin.getTime())/1000-min*60+60;min=min-1;}
    else {sec = (-real.getTime()+fin.getTime())/1000-min*60;}
    sec=((sec<10)?"0":"")+sec; timedo = min +":"+ sec;

    // вычисление количества дней до какого-либо события
    ege = new Date(2014,02,20,9,0,0); //осталось до 1-триместра
    real = new Date();
    dateege = (ege-real)/86400000-30; dateege = Math.round (dateege);

     obj_namemonth.innerHTML=name_month[time.getMonth()];
          obj_day.innerHTML=time.getDate();
          obj_nameday.innerHTML=name_day[time.getDay()];
          obj_time.innerHTML=time_wr;
          obj_numberurok.innerHTML=text;
          obj_numbersmena.innerHTML=smena;
          obj_fullyear.innerHTML=time.getFullYear()+" года";
     obj_timeot.innerHTML=timeot;
     obj_timedo.innerHTML=timedo;
     obj_dateege.innerHTML=dateege;
    }
          wr_hours();
          setInterval("wr_hours();",1000);
     </script>
    <br><br><br><br><br><br><br><br>
        <h2>Внимание, школьные часы работают в экспериментальнм режиме, проверяйте время !</h2>
    </body>
    </html>