Archivo de la categorÃa ‘Esenciales [Desarrollo Web]’
Piwik sistema completo de estadÃsticas de libre distribución
Por fin recupero la rutina y hoy os recomiendo un completo sistema de estadÃsticas similar a google analytics, con una diferencia muy importante: como es código de libre distribución puedo modificarlo, y sé lo que sé hace con las estadÃsticas.
El sistema es muy sencillo de instalar y nos permite tener varios sitios ya que utiliza una cookie para almacenar las estadÃsticas. La instalación es muy sencilla:
Lo descargamos -http://piwik.org/latest.zip
Lo descomprimimos, lo subimos vÃa ftp al alojamiento y seguimos las instrucciones de instalación.

Nos permite la configuración de permisos para cada usuario, y las estadÃsticas a las que tienen acceso, además todos los módulos del tablero son configurables, sin duda una alternativa al arcaico awstats y sobre todo a google analytics de gran hermano.
Dispone de un plugin para joomla 1.5 que nos permite implementarlo en un sitio joomla sin tener que insertar el código en cada página, ni siquiera en la plantilla.
Una maravilla, y sino me gusta pues accedo al código y lo cambio!
Aquà podéis ver una demo del aspecto:
http://piwik.org/demo/index.php?module=CoreHome&action=index&idSite=1&period=day&date=yesterday#module=Dashboard&action=embeddedIndex&idSite=1&period=day&date=yesterday
Aquà podéis descargar el plugin para integrarlo en sitios joomla.
http://www.artd.ch/artd-webdesign-s-blog/compiwik-a-piwik-integration-to-joomla-15.html
http://joomlacode.org/gf/project/piwikjoomla/frs/
Formulario de contacto ajax utilizando lightform
Cuando creamos un sitio web, una de las secciones “santÃsima trinidad”* es la de contacto. Obviamente no podemos ponerle barreras al usuario si se quiere poner en contacto con nosotros, utilizar un enlace a una dirección de correo implica que el usuario que por lo general utiliza un correo de webmail, tenga que configurar un cliente de correo o copiar y pegar esa dirección.
Además publicar una dirección de correo electrónico en una web (un mailto:) es un caramelo para bots de SPAM, cuando rastrean la web.
Para realizar un buen formulario de contacto:
- Simplicidad: si hay campos obligatorios explicar claramente el motivo del error poniendo un ejemplo del formato.
- Brevedad: Requerir el número de campos obligatorios imprescindible. Nombre, asunto, dirección de correo.
- Alternativas: Posibilidad de elegir si quiere ser contactado por teléfono o por correo electrónico.
Lightform es una excelente extensión para crear un formulario de contacto, como es de libre distribución podemos mejorarlo y adaptarlo, pero es una buena base:

Existe como plugin para WordPress:
http://wordpress.org/extend/plugins/wp-lightform/
Y también para incluirlo en cualquier web:
http://web-kreation.com/demos/LightForm/
Lo instalamos como cualquier otro plugin (podemos utilizar el explorador de plugins de WP)
Insertamos el código LightForm en la página donde se debe mostrar el formulario de contacto.
Este script es el que uso en patripe.com para el formulario de contacto.
*(¿quiénes somos? | ¿dónde estamos? | contacto)
Herramientas LD para profesionales de las TI
Tan importante para una web es tener una buena programación, un buen contenido y un buen diseño, como la máquina en la que se aloja, y la seguridad de nuestro sitio web.
Obviamente no podemos predecir si nuestra página tendrá dos usuarios o diez mil, pero si podemos preparar un plan de contingencia para ello, ya que una página visitada, es un caramelo para hacer spam y ataques.
Tampoco deberÃamos permitirnos el lujo de que el sitio se quede fuera de lÃnea porque simple y llanamente no sea capaz de soportar un pico de tráfico, por una reseña, o un buen posicionamiento google y entonces se dé lo que venimos en llamar “morir de éxito”. Para comprobar que nuestro servidor, programación y sitio están en forma podemos utilizar las siguientes herramientas que ha recopilado la gente de kineo open source, para poder realizar una auditorÃa de seguridad y de calidad del código.
Herramientas para comprobar los servidores, errores sobre las máquinas, pruebas sobre las bases de datos, pruebas de rendimiento, comprobación de enlaces, y otro tipo de pruebas.
Herramientas para verificar la programación dividas por lenguaje de programación.
Sin duda un recurso imprescindible que se merecÃa una entrada y no un simple enlace.
¿Qué tiene wordpress en contra de mover las imágenes? Va fatal la alineación. Si le pongo espacio horizontal y vertical, todavÃa es peor.
Gestores de proyectos de desarrollo colaborativos
Cuando estamos creando un proyecto entre varias personas, se hace imprescindible montar un entorno colaborativo.
Existen excelentes programas de libre distribución que nos permiten hacer esto vÃa web (CMS de gestores de proyectos), de todas las alternativas posibles dependerá el uso que le vamos a dar, mis favoritos:
Gestores de proyectos con controlador de versión de código, y aplicación de tecnologÃas de programación extremas y/o ágiles como SCRUM, XP, y que nos permiten tanto gestionar los diferentes usuarios, tareas, proyectos, etc…como controlar los cambios realizados en el código, de modo que todos los desarrolladores trabajen sobre el mismo código, y generar un informe sobre quién ha hecho cada cambio, y la posibilidad de recuperar versiones anteriores de ficheros.
Collabnet svn: Collabnet Subversion. Integración del ciclo de vida del software, binarios certificados de subversion (asegura que todos los desarrolladores trabajan con la misma versión que la de subversion). Repositorio centralizado de código fuente. Versión para escritorio y multiplataforma.

FVE Project Manager: Integración de tecnologÃas ágiles y de programación extrema como SCRUMP, XP…Es una versión modificada de dotnet hecha en españa! Incluye también subversion.
Gestores de proyectos vÃa web sin control de versiones: En esta categorÃa se encuentran los gestores de proyectos enfocados a la gestión de soporte técnico, y/o herramienta de comunicación con el usuario, y la mayorÃa disponen de un sistema de incidencias. Todos disponen de creación de grupos, asignación de tareas, creación de roles, control del estado del proyecto, generadores de informes, envÃo de solicitud de asistencia (ticket…)
Sobran los comentarios para este sistema. Excepcional, aunque el estilo no está completamente cuidado es fácil modificarlo utilizando plantillas.

PhpEasyProject: Sin duda uno de los más prometedores. Múltiples funcionalidad y sobre todo, facilidad de uso, para quienes necesitan un gestor de proyectos, fácil de instalar y de gestionar.
Utiliza el motor de plantillas Smarty, y entre otras cosas permite la exportación de datos a otras aplicaciones mediante xml.
Prueba tus servidores
Una parte muy importante en un sitio web y que se tiene muy poco en cuenta son las pruebas sobre el sitio web, tanto si tenemos un servidor dedicado, o un alojamiento compartido, deberemos comprobar que nuestro sitio aguanta repuntes de visitas, está bien programado, y responde de una manera rápida.
Para hacer pruebas sobre un servidor web, habrá que diferenciar dos partes fundamentales:
- El rendimiento de la máquina
Para ello tendremos los controladores siempre actualizados con las versiones estables.
Pruebas sobre el procesador, rendimiento de la tarjeta gráfica, tarjeta de red, chequeo de disco duro.
- El rendimiento de los aplicativos web.
Para ello deberemos hacer pruebas sobre el envÃo de todos los formularios, comprobación de programación redundante, cierre correcto de las conexiones a la base de datos, eliminación de las variables de sesión transcurrido un tiempo x desde la primera conexión.
Actualización y parcheado del sistema operativo, software y aplicaciones de terceros.
- La velocidad de la red.
Debemos asegurarnos un caudal constante, fluido y adecuado al tráfico de nuestro sitio web.
Para ello podemos realizar pruebas, realizando peticiones simultáneas con múltiples usuarios que realicen peticiones constantes al servidor, en diferentes formularios. Esto además de ayudarnos a comprobar la solidez de nuestros aplicativos, comprobará la velocidad de respuesta de la base de datos, carga de memoria, balanceo de aplicaciones…
Estos programas nos ayudan a realizar todo tipo de pruebas automatizadas, son de libre distribución :
Funkload Emula un navegador web (monohilo), con comprobación envÃo de formularios, funcionamiento de aplicativos web, monitorización de serviedores… Sólo Linux
TestMaker Test de escalabilidad, funcionalidad y mejora. Se crean agentes que nos permiten emular pruebas inteligentes, como si fuerámos un usuario navegando (multihilo). Buen centro de soporte. Todas las plataformas.
Jblitz Puede hacer pruebas sobre scripts ASP, scripts JSP, Servlets, CGI scripts etc. (Multihilo). Hecho en java, funciona sobre windows. Todas las plataformas, buen entorno gráfico.
Herramientas para depurar errores en un sitio web
Cuando desarrollamos un sitio web es relativamente sencillo provocar errores, aunque utilicemos un editor de programación muy intuitivo, siempre hay una parte que queda a merced del fallo humano: etiquetas mal cerradas, signos de puntuación olvidados, mezcla de lenguajes de programación. Para facilitar la tarea de corregir estos errores podemos ayudarnos de herramientas de depuración, se instalan como extensión en el navegador y !a corregir!
![]()
Para internet explorer Microsoft ofrece Internet Explorer Developer Toolbar. Puedes descargar esta herramienta desde el sitio web de Microsoft. En inglés.
Para Firefox, disponemos de Web Developer. Para instalarlo sólo es necesario pulsar en herramientas –> complementos y buscarlo, aunque también podemos descargarlo de la página de complementos para firefox.
Otra opción a tener en cuenta es instalar ie tab para firefox y dejar de usar Internet Explorer, esto nos permite ver las páginas en firefox con el motor de explorer, también nos permite usar la herramienta web developer.
Y sin duda mi favorito para Linux Debian es ie4linux que nos permite utilizar internet explorer dentro de linux. Para instalarlo necesitaremos también wine ($sudo apt-get install wine). Esta es una herramienta de desarrollo si utilizas linux, ya que no se puede instalar el complemento ie tab para explorer en firefox si estás usando un sistema operativo linux.
Además estas herramientas nos permiten también depurar las hojas de estilo del sitio web, ya que todas cuentan con soporte para css.
VirtualBox. Virtualizando Sistemas Operativos
VirtualBox es un programa de libre distribución que nos permite tener diferentes sistemas operativos en nuestro sistema operativo. Una de sus mayores ventajas es que es multiplataforma y dispone de instaladores para linux, mac, y windows. Además la descripción de la configuración de la máquina se crea en archivos xml, que permiten sea sumamente sencillo migrar las máquinas. En estos momentos lo utilizo tanto en Windows como en Debian Gnome, me permite tener instalado entre otros: en Windows un debian gnome y un ubuntu, y en debian un windows xp, y un windows 2003 server SP 2. En fin todo sea por que las páginas se vean igual para todo el mundo…También es una interesante alternativa si te piensas pasar a linux y sabes manejar algunos programas que no funcionan correctamente con los emuladores de windows en linux. Tiene versión de empresa de pago y versión Código Abierto (OpenSource).
Página web de Virtualbox (Abundante documentación para el usuario, para desarrolladores, soporte…)
Crear Documentación de un Proyecto
Cuando nos planteamos cualquier proyecto de programación la primera cosa que hay que tener en cuenta, es la continuidad del proyecto, puede que en un futuro el proyecto lo lleve otra persona, y comprender la programación de otros a veces es muy dÃficil. Para el trabajo en equipo resulta una condición indispensable tener una generosa documentación de un proyecto.
Doxygen es un programa de libre distribución que nos puede ayudar mucho en esto. Entre sus principales caracterÃsticas:
- Multiplataforma
- Libre Distribución (Licencia GNU/GPL)
- Excelente documentación para desarrolladores (…)
Se puede utilizar para documentar código escrito en:

