Hace ya un par de meses que tomé la decisión de convertir el proyecto en un sistema cliente-servidor. Y eso es exactamente lo que he ido haciendo todo este tiempo.
En primer lugar, monté una infraestructura LAMP casera, y la publiqué en internet. Para ello abrí y redirigí los puertos correspondientes en mi router, y me di de alta en DynDNS. Ya de paso estuve enredando un poco con SSH. Añado al ToDo hacerme unos túneles, que tiene pinta de ser entretenido.
En segundo lugar, programé un script en Python que descarga, descomprime e inserta en base de datos todos los registros de los archivos actualizados de la web del Ministerio. Y hasta guarda un histórico de precios pasados, y hace un log de todo lo que pasa entre bambalinas. Sólo le faltaba el lacito: tras un sencillo crontab -e, se ejecuta cada dos horas.
En tercer lugar, desarrollé para el servidor web unas páginas en PHP que recibiendo unos parámetros, devuelven un XML con las gasolineras, sus precios, geolocalización, horario, ...
En cuarto lugar, implementé el lado del cliente. De hecho Josefa tiene instalada una versión pre-Alpha. Pese a ser una prueba de concepto, estar llena de bichos y tener una apariencia horrible, hace dignamente su trabajo: me da los precios del combustible, los rótulos de las estaciones y distancia a las mismas en el radio de kilómetros que yo le indique. Y lo hace bien.
Hace unas tres semanas, como no me atrae la idea de tener un ordenador 24x7 en casa, me dediqué a buscar un alojamiento gratuito que me permitiera externalizar la parte de servidor ya desarrollada. Me decanté por x10hosting: PHP5, dos bases de datos MySQL, disco de espacio ilimitado, transferencia ilimitada... todo ello para crear tu página web. ¡Oh wait! ¿Ha dicho página web? ¡No contaba con su astucia! Bueno, hay que saber aprovechar las oportunidades, así que me he liado la manta a la cabeza, y para cuando me he dado cuenta he construido una web y he aprendido un montón de cosas: a utilizar PHP como plantilla, a cargar contenido dinámico, a crear formularios, a confeccionar hojas de estilo, un poquito de AJAX, qué es un mapa web, cómo indexan los buscadores las páginas, y alguna cosilla más.
En cuanto al contenido, estoy publicando pequeños conceptos de código. Si le sirvieran a alguien, mejor. Y en adelante haré la versión web del programa, así que ¡habemus mellizo!
Respecto a la forma, es una web más:
- juego de colores similar a este sitio, para mantener cierta congruencia.
- un logotipo hecho en dos minutos con el Gimp.
- Un menú de navegación construido al vuelo desde base de datos.
- Un área donde se muestran el contenido que carga asíncronamente mientras muestra un gif made in Josu.
Como chascarrillo: hoy se me ha ocurrido pasar el validador del World Wide Web Consortium, y me ha dicho que "This document was successfully checked as
HTML5!" y que "¡Este documento es CSS versión 3 válido!" y aunque no valga para nada, me llena de orgullo y satisfacción.
¡Ah! La web es ésta.
No hay comentarios:
Publicar un comentario