Archivo de la categoría ‘A Fondo [Desarrollo Web]’

Asegurar un sitio Joomla! en 4 pasos

Si tenemos un sitio web Joomla básico, aquí os van cuatro sencillos consejos que os permitirán subir mucho el nivel de seguridad de una instalación predeterminada en media hora.

superlopez-11. Configurar los permisos:

Los permisos se debe configurar 755 a las carpetas y 644 a los ficheros.

2. Cambiar la ruta al administrator

Si hemos realizado la instalación predeterminada y no hemos movido/renombrado ningún directorio,  el atacante sabe perfectamente la ruta donde se encuentra instalada nuestra parte de administración. Para poner dificultades: Leer el resto de esta entrada »

Añadiendo funcionalidad a drupal [instalar y configurar módulos]

La segunda entrega de la instalación de drupal, artículo publicado en webmasterlibre.com.

En este artículo comenzamos a crear nuestro sitio web mediante módulos que nos permiten añadir funcionalidades.

Leer más [artículo en webmasterlibre.com]

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.

logo_collabnetCollabnet 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.

firstlogofveFVE 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…)

phprojekt_logo2

Sobran los comentarios para este sistema. Excepcional, aunque el estilo no está completamente cuidado es fácil modificarlo utilizando plantillas.

phpeasyproject

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

testmakerTestMaker 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.

pro_box_med_whiteJblitz 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.

Estándares web, un paso de gigante

w3cPara muchas empresas, la accesibilidad web y el uso de estándares, es algo que se va a implantar, aunque no se sabe muy bien cuándo. En principio puede parecer un trabajo más costoso, pero esto es desde una visión simplista y de poco proyecto de futuro.

Esa empresa que se ocupa del mantenimiento (y con la alta rotación laboral que hay en la informática) y nuevos desarrollos, tardará el doble de tiempo en cambiar un código mezclando diseño y código, ya que probablemente la persona que tiene que hacer la modificación tardará más en encontrarlo, y la persona que lo hizo ya no trabajará allí.

Una buena programación y estructuración del código (además de la separación de código, estilos y elementos gráficos, y abundante documentación del proyecto), permite un mantenimiento menos costoso, y una implementación o migración mucho más sencilla, mejora la calidad del proyecto y facilita el mantenimiento del código.Esto permite ahorrar mucho dinero y el producto acabado es de mayor calidad.

Para un proyecto público debería ser obligatoria su implementación, puesto que no concebimos la idea de un edificio público sin accesos para minusválidos, no se puede pensar en la creación de un proyecto web, sin tener claro que hay que separar el contenido del código, y facilitar el acceso universal a la web, hasta la medida que técnicamente sea posible.

wwwOtro de los factores que no se tienen en cuenta, aunque pueda tratarse de uno de los más importantes es el nombre del dominio:

  • Se debe escoger un nombre fácil de recordar
  • Permitir encontrar la web con www o sin www.
  • Impulsar el uso de microformato en los navegadores web. (De esto me ha convencido entusiasta2.0)
  • Se debe elegir un dominio acorde a los contenidos de la web (esto es muy importante para la categorización de internet), esto ayudaría mucho a los buscadores y a los navegadores web, y mejoraría la experiencia del usuario.
  • Utilizar subdominios coherentemente, para la parte del panel de control, es más sencilo de administrar http://midominio.com/estadisticas/ que http://estadisticas.midominio.com/, esto todavía lo discuten los talibanes que administran los dominios, subdominios y nombres de red. Aunque se debería considerar de uso obligatorio en intranetes corporativas y en accesos que requieran seguridad adicional, no debería salir de ese ámbito, y sigue de moda en muchos sitios.

Utilizando estándares web contribuyes a mejorar la red, y debería ser un proyecto global y estar incorporado en todas las metodologías de desarrollo existentes, y esto es lo que se debe cambiar para promover su uso.

Debido al crecimiento exponencial de internet la organización de la misma debería ser ejemplar, y en estos momentos ni siquiera los proveedores de internet pueden dar un cifra exacta de las webés o información que contiene. La organización de la web mediante estándares es imprescindible para asegurar la supervivencia y crecimiento de la web. Para ello hay que partir de la base, si todos los desarrolladores utilizarán estándares web, sería más fácil la colaboración entre diferentes departamentos, y permitiría un uso más eficente de los recursos de la red.

Aunque viendo la web del W3C, es normal que muchas empresas piensen que ser accesibles y usando estándares no van a conseguir páginas bonitas e impactantes visualmente, aunque este no sea el objetivo final, ayuda a aumentar el prestigio de la empresa.

Estadísticas para todos

Las estadísticas son un método que nos permite conocer los puntos débiles de nuestro sitio, para mejorar su contenido, ponerlo en un sitio más llamativo y mejorar la usabilidad de nuestro sitio. En general los Proveedores de servicios ofrecen estadísticas del sitio previo pago, si te lo quieres montar por tu cuenta, aquí tienes unas ideas.

Existen muchas soluciones de libre distribución tanto para CMS como para montarlo con paquetes .

122_joomlastatspngComponente JoomlaStats: Estadísticas para Joomla !, válido para las versiones 1.0 y 1.5.

Se instala desde el panel de administración -> Instalador de componentes (1.0) y en 1.5 desde el panel de administración -> Instalador de extensiones. Leer el resto de esta entrada »