Una historia de cómo se evoluciona de las simples páginas HTML a lo más moderno, la web 2.0. Es más o menos la historia de lo que le puede pasar (y le ha pasado) a cualquiera como yo, que empieza como aficionado con un sitio web puramente en HTML y poco a poco, va evolucionando.
Cuando decides empezar a hacer una página, te buscas un editor HTML, a ser posible WYSIWYG, y te lías a hacerla. Vas poniendo en tu sitio una página HTML, otra, luego otra y finalmente otra más. Vas en ella repitiendo una y otra vez los estilos, fondos, secciones comunes como listas de enlaces, una pequeña cabecera, un pequeño pié, …
Empiezas a pensar que algo no va bien. Estás repitiendo muchas veces lo mismo. Lo primero que se te ocurre es hacer una plantilla.html, en la que pones todo lo que es común. Cuando quieres hacer una nueva hoja HTML, copias la plantilla.html y empiezas a rellenar. Luego descubres que hay editores más modernos que te dan soporte para este tipo de plantillas.
Más adelante, te apecete cambiar el estilo de tu página web, cambiar los colores, los fondos, la forma de los subrayados … y NO lo haces. ¿Por qué?. Tienes que ir por todas las páginas HTML, una a una, cambiando el estilo y volver a subirlo todo al servidor. ¿No habrá forma de solucionar esto?.
Pues ahora sí la hay, se llama CSS. En un fichero separado, que llamamos hoja de estilo, escribimos el estilo de todos nuestros elementos de HTML. En ese fichero indicamos que queremos los títulos de color verde, que la imagen de fondo es la protagonista de nuestro manga favorito, los párrafos deben llevar una fuente de letra determinada… Cuando quieres cambiar el estilo de tu sitio web, simplemente cambias el contenido de la hoja de estilo una sola vez, lo subes al servidor y maravillosamente, todo cambia solo.
Otro día decides añadir o borrar alguno de los enlaces del menú que es común a todo tu sitio, o quieres que alguno de los bloques comunes cambie por otro, añadir anuncios de google en todas tus páginas, cambiar el contador de visitantes por otro, o los scripts que llevan las estadísticas de los visitantes. Todo esto no es estilo ni está soportado por CSS. Hay que cambiarlo en todas las páginas HTML una a una nuevamente. ¿No habra solución para esto?. También la hay. Podemos usar algún lenguaje de programación embebido en la página HTML y que nos genere el texto HTML de esas zonas comunes a todas las páginas. El código de este lenguaje de programación se puede meter en un fichero separado, de forma que todas las páginas HTML usen ese ùnico fichero. Pongamos que cogemos un servidor que soporte PHP y hacemos un fichero funciones.php. Ahí metemos diversas funciones de código PHP que nos generan la lista de enlaces, el código del contador, el código para los anuncios google, la cabecera y el pié común a todas nuestras páginas… La extensión de nuestras paginas.html debe cambiar ahora a paginas.php.
Esto nos deja un fichero HTML realmente curioso. Al principio incluye una página de estilo CSS, luego incluye un fichero php, y finalmente se dedica a llamar a una serie de funciones de ese fichero, luego se escribe en HTML sin estilo ninguno el contenido real de nuestra página y listo. Una sitio web construido a base de muchas páginas.php con sólo el contenido específico de ellas. Cambiar el estilo o las partes comunes se hace tocando un único fichero y subiéndolo al servidor.
Este es el punto en el que estoy ahora. Estoy modificando mis antiguas páginas.html a páginas.php con estilo CSS separado.
Se me está planteando la siguiente mejora. ¿Por qué tengo que escribir el contenido directamente en una página .php?. Eso sólo puedo hacerlo en mi casa, donde tengo una copia local de mi sitio web. Abro la herramienta para trabajar en el sito web (dreamweaber o similar) y escribo el artículo. Luego lo subo al servidor. Resulta que así no puedo trabajar en mi página de aficionado durante las vacaciones, que es cuando más tiempo tengo. La solución es guardar los artículos en una base de datos en el servidor. Nuestras páginas.php simplemente consultarían en base de datos el contenido del artículo. Vaya, que nuestra página.php simplemente incluye la hoja de estilo CSS, la librería.php, hace una serie de llamadas a funciones de esa librería para cabecera, pie y demás, y luego hace unas consultas a base de datos para el contenido del artículo. Por supuesto, tendría una página.php especial que me permita escribir nuevos artículos desde el navegador, en cualquier sitio, y guardarlos en la base de datos.
Con esto acabamos de llegar a los actuales gestores de contenido, blogs y demás. Sitios web en los que el propietario tiene un usuario y password de administrador. Desde cualquier sitio puede entrar en el sistema y escribir, modificar o borrar artículos.
Sin embargo, el asunto va más allá. Puesto que es tan fácil publicar desde cualquier lado con un sistema como este, ¿por qué no le damos también un usuario y password a nuestro amigo Federico para que el también pueda escribir sus propios artículos en mi página, ayudarme y la hacemos entre los dos?. O más allá, ¿por qué no doy posibilidad a cualquiera que la visite de añadir comentarios, modificar los artículos o lo que crea pertinente?. Ya lo tenemos, los blogs permiten colaboración entre varios autores, añadir comentarios. Las wikis permiten a cualquier visitante añadir y modificar artículos. Y llegados al extremo, nuestro sitio web podría permitir a los visitantes crear sus propios sitios web, estilo bebo o myspace. En esto precisamente consiste la web 2.0, sitios web en las que los visitantes pueden añadir y modificar contenidos, hacer comentarios.