Предоставление интерфейса редактирования - это полдела, но это довольно просто. Уже есть приложения для редактирования шаблонов и медиа-файлов, так что это всего лишь расширение.
Самая сложная часть - это перезапуск сервера, что должно произойти, чтобы новый код был скомпилирован. Я не думаю, что есть способ сделать это изнутри сервера, поэтому вот как я бы это сделал:
- Когда вы делаете редактирование, создайте новый файл в корне проекта. например, пустой файл с именем restart.
- Напишите bash-скрипт для поиска этого файла, если он существует, перезапустите сайт и удалите файл.
- Cron скрипт для запуска каждые 10 секунд. Он не должен использовать какие-либо значимые ресурсы.
Одна серьезная проблема - если вы вводите ошибки. Вы можете протестировать компиляцию (то есть запустить dev-сервер перед тем, как перезапустить сайт и проверить входные данные), но это не очень надежно, и вы легко можете оказаться в ситуации, когда вы потеряете доступ к сайту.
В таком случае было бы разумно настроить редактор как отдельный сайт, чтобы вы никогда не были заблокированы ...