MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Tcos PHP Monitor, ya hace capturas de pantalla.

Estos días sin duda están siendo bastante productivos, ya he conseguido que la versión web de TcosMonitor, bautizada de momento como TcosPHPMonitor, haga capturas de pantalla al equipo seleccionado, y para prueba un pequeño video grabado con byzanz:



Lo que he tenido que programar es lo siguiente:
  • He añadido soporte gettext tanto a PHP (muy sencillo, como a smarty (basándome en un array de traducción PHP, como en Javascript, también basado en PHP) esto ha sido una idea feliz que hace que el archivo de traducción *.po contenga todas las cadenas traducibles de la web.
  • Una clase Javascript (dyntable.js) que dibuja una tabla con todos los datos de los equipos (estos datos se obtienen de una petición Ajax).
  • Otra clase Javascript (dynmenu.js) que genera un menú de acciones por equipo.
  • Clase PHP (localdata.class.php) que recoge los parámetros locales de todos los terminales ligeros (bastante mejorable).
  • Un wrapper para que las llamadas a AJAX devuelvan lo que deben.
  • Un pequeño wrapper para acceder a las capturas de pantalla (img.php). Los mini servidores web (busybox httpd) de donde tomo las capturas que se ejecutan en cada terminal sólo son accesibles desde el servidor por eso he tenido que programar este wrapper para que el servidor lea la captura y pueda recogerla desde la web.

Cosas por hacer:
  • Implementar autenticación mediante usuario y contraseña y posiblemente varios niveles de entrada: administrador, profesor, invitado.
  • Mejorar el systema de sockets de PHP y añadir tiempos máximos de espera (apache y iceweasel se tuestan si se desconecta un equipo a lo bestia)
  • Implementar la pestaña preferencias y guardar los datos en una cookie o en un archivo de texto en el servidor (prefiero no añadir la dependencia de base de datos de momento).
  • Programar el resto de las acciones del menu y añadir las que faltan.
  • Añadir el menú de opciones las acciones para todos los equipos.
  • Programar un pequeño wrapper dbus para los mensajes, ejecutar aplicaciones y ver procesos por cada usuario.
Estoy abusando en exceso de AJAX, ya que la web sólo se carga al principio (~140Kb), y todo lo demás son llamadas asíncronas. Quizás no sea buena idea pero también me está sirviendo para adentarme un poco en las tripas de Javascript avanzado. Pensaba que todo me iba a resultar más complicado pero visto lo visto, las cosas no son dificiles sino que llevan más o menos tiempo.

Articulos relacionados:

Comentarios

Comentarios cerrados