Lecciones impartidas en clase (curso 2019/20)

Introducción

Esta lección contiene un índice de las lecciones que estoy impartiendo en clase durante el curso 2019/20, así como los ejercicios que están realizado los alumnos.

Este índice se basa en las guías de estudio que ofrezco a mis alumnos de la modalidad semipresencial en la plataforma Moodle de la Conselleria de Educación. El trabajo propuesto a estos alumnos es el mismo que han seguido en clase mis alumnos de la modalidad presencial, aunque la distribución temporal no haya sido la misma.

La información se ofrece distribuida en semanas, ya que es así como está organizada la modalidad semipresencial.

También puede consultar las lecciones impartidas en el pasado curso 2018/19.

IAW Semana S13: del 09/12/19 al 15/12/19

Esta semana empieza la parte de Aplicaciones Web que ocupará el resto del curso. El objetivo de esta parte del curso es que os familiaricéis con las aplicaciones web: su instalación, configuración y administración. Cada aplicación es distinta al resto, por lo que el enfoque de este curso es trabajar varios tipos de aplicaciones (comercio electrónico, alojamiento, blogs, CMS, etc.). El objetivo es que en el futuro seáis capaces de administrar otras aplicaciones que necesitéis, a partir de la experiencia adquirida en este curso.

Este año me gustaría también tratar con más profundidad un aspecto que apenas he tocado en cursos anteriores: la automatización de los procesos de instalación y configuración de las aplicaciones, que creo os resultará muy útil no sólo en este módulo.

Los apuntes de esta segunda parte se encuentran en la web https://www.mclibre.org/consultar/webapps/. A medida que avance el curso iré actualizando los apuntes, ya que desde el año pasado se han actualizado prácticamente todas las aplicaciones y mi intención es que utilicemos siempre las últimas versiones.

Estas son las lecciones a leer y las actividades a realizar durante esta semana.

Antes de empezar el curso

  1. Leed la lección Presentación
  2. Leed la lección Consideraciones sobre los ejercicios

    En esta lección se comentan dos temas importante: las bases de datos y los tipos de usuarios.

  3. Leed la lección Configuración general

Administración de bases de datos: phpMyAdmin

  1. Leed la lección phpMyAdmin (administración de MySQL)
  2. Haced los ejercicios phpMyAdmin (1)

    El objetivo de estos ejercicios es trabajar tanto con el phpMyAdmin ya incluido en XAMPP como con el XAMPP que vais a instalar. Tenéis que tener en cuenta que se trata de dos aplicaciones independientes que no estarán ni tienen por qué estar configuradas de la misma manera. Pero como ambas acceden a la misma base de datos MySQL/MariaDB, ambas deberán adaptarse a la configuración de MySQL, especialmente a la existencia o no de contraseña del usuario root.

    Podéis consultar las soluciones a los ejercicios phpMyAdmin (1)

  3. Haced los ejerciciosphpMyAdmin (2)

    El objetivo de estos ejercicios es que os familiaricéis con el principal uso que vamos a dar a phpMyAdmin durante el curso: crear usuarios en MySQL para que sean utilizados por las diferentes aplicaciones. Para ello se trabajarán tres situaciones:

    1. un usuario que sólo puede crear una base de datos y quiere instalar una aplicación
    2. un usuario que puede crear varias bases de datos y quiere instalar varias aplicaciones
    3. un usuario que sólo puede crear una base de datos, pero quiere instalar varias aplicaciones

    La aplicación a instalar será siempre la misma (aunque se podrán utilizar como aplicaciones independientes), la agenda creada en el ejercicio de Bases de datos 2-3.

    Podéis consultar las soluciones a los ejercicios phpMyAdmin (2)

  4. Haced los ejerciciosphpMyAdmin (3)

    El objetivo de estos ejercicios es profundizar un poco más en phpMyAdmin, realizando tareas generales de configuración, copias de seguridad, etc.

    Podéis consultar las soluciones a los ejercicios phpMyAdmin (3)

    Nota: Esta página de ejercicios está muy verde. Intentaré mejorarla.

IAW Semana S14: del 16/12/19 al 22/12/19

Esta semana está dedicada a Opencart, una aplicación de comercio web, y a Packer, una herramienta de automatización.

Comercio electrónico

En los ejercicios os planteo ejercicios básicos de OpenCart, pero os animo a explorar por vuestra cuenta más apartados relacionados con la creación de una tienda.

  1. Leed la lección OpenCart
  2. Haced los ejercicios OpenCart (1)

    El objetivo de estos ejercicios es poner en marcha OpenCart y practicar tareas básicas de administración (instalar, traducir, copias de seguridad, etc.)

    Podéis consultar las soluciones a los ejercicios OpenCart (1)

  3. Haced los ejercicios OpenCart (2)

    El objetivo de estos ejercicios es crear una tienda virtual en la que se comercializan servicios relacionados con las aplicaciones web (cursos, diseño y alojamiento). En estos ejercicios se construye una tienda muy elemental y os invito a ampliarla por su cuenta. El contenido de la tienda podéis cambiarlo y hacerlo de un tema que os interese (crear una tienda de animales, o de frutas, o de herramientas, o de instrumentos musicales, o de cualquier cosa que se os ocurra).

    Podéis consultar las soluciones a los ejercicios OpenCart (2)

  4. Haced los ejercicios OpenCart (3)

    El objetivo de estos ejercicios es practicar las opciones de personalización de OpenCart.

    ¡Atención!Esta página muy poco ejercicios. El primero es muy sencillo y el segundo apenas está esbozado.

    Podéis consultar las soluciones a los ejercicios OpenCart (3)

Automatización: Packer

Como primera herramienta de automatización vamos a ver Packer. Packer es un generador de máquinas virtuales, por ejemplo, para VirtualBox, pero también para sistemas de cloud computing. En principio, mi intención es que trabajemos con VirtualBox, aprovechando que lo usáis en otros módulos y ya lo sabéis manejar.

  1. Leed la lección Packer de presentación de la herramienta.
  2. Instalad Packer 1.5.1
  3. Leed la lección Packer (1)

    En esta lección se muestran dos ejemplos de instalación de sistemas operativos: de forma manual o desatendida.

    • Reproducid el ejemplo 1 (Creación de una máquina virtual de VirtualBox con Ubuntu Server 18.04 LTS de forma manual).

      Me imagino que más de una vez habréis creado una máquina virtual e instalado un sistema operativo a partir de una imagen iso (por ejemplo, de Ubuntu). El primer ejemplo que os propongo en esta lección es ver cómo Packer permite automatizar el proceso de instalación.

      Para poder utilizar Packer tenemos que escribir una plantilla (en formato json) con la configuración que queremos dar a la máquina virtual (cpus, ram, ram de vídeo, tarjetas de red, etc.) y si queremos que Packer haga la instalación, las pulsaciones de teclado y los tiempo de espera necesarios para ir avanzando en el proceso. Packer realiza la instalación a ciegas, es decir, envía las pulsaciones de teclado sin saber qué está pasando. Al terminar, para saber si ha conseguido instalar correctamente el sistema operativo, reinicia la máquina y se intenta conectar por SSH. Si lo consigue, entiende que todo ha ido bien y exporta la máquina obtenida.

      Podéis imaginar que elaborar una plantilla de Packer es un proceso laborioso ya que tenemos que conocer exactamente los pasos de la instalación y cronometrar el tiempo requerido por cada paso de la instalación. La ventaja es que una vez elaborada, podemos generar todas las máquinas que queramos sabiendo que son exactamente iguales.

      En la lección Instalación de Ubuntu 18.04 Server tenéis las capturas de los pasos de instalación de Ubuntu Server. A partir de esos pasos he creado yo la plantilla del ejemplo 1.

      Para reproducir el ejemplo,

      • cread el fichero json de plantilla de Packer y copiar el fichero de ejemplo.
      • modificad los datos pertinentes (al menos, nombre y contraseña de usuario)
      • ejecutad la plantilla
      • vigilad la instalación automática comprobando que se van sucediendo las pantallas esperadas. Si se muestra una pantalla inesperada o un paso tarda más de lo especificado en la plantilla, se perderá la sincronización y más vale interrumpir la ejecución, corregir la plantilla y empezar de nuevo.
      • si la instalación termina correctamente, Packer os producirá un fichero .ova que podéis importar en VirtualBox
    • Reproducid el ejemplo 2 (Creación de una máquina virtual de VirtualBox con Ubuntu Server 18.04 LTS de forma desatendida).

      En la instalación desatendida Packer no suplanta al humano enviando pulsaciones de teclado, sino que envía un archivo de configuración para que el instalador lleve a cabo su trabajo sin necesidad de preguntar las opciones deseadas al usuario

  4. Leed la lección Packer (2)

    Reproducid los ejemplos de esta página.

    En esta lección se muestran varios ejemplos de transformación de máquinas virtuales.

    Los ejemplos siguientes ya no instalan una distribución, sino que aprovechan máquinas ya existentes para efectuar operaciones sobre ellas. En estos casos, Packer pone en marcha las máquinas, se conecta con ellas por SSH, efectúa las operaciones (ejecutar comandos de shell o scripts completos) y si todo va bien, crea una nueva imagen con el resultado final.

  5. [opcional] Intentadlo con otra distribución

    Estaría bien que intentarais automatizar la instalación de alguna distribución que uséis en otros módulos. Confirmad primero que el instalador es en modo texto y que se puede elegir instalar un servidor SSH, porque si no las cosas son más complicadas.

IAW Semana S15: del 06/01/20 al 12/01/20

Esta semana y la próxima trabajaremos WordPress, quizá la aplicación web más conocida y alrededor de la que existe un gran ecosistema económico: desde la creación de sitios web hasta la programación de plugins o el diseño de temas.

Los ejercicios de esta semana se pueden realizar en poco tiempo, por lo que os pediría que realizarais un proyecto un poco más personal, creando un sitio dedicado a un tema que os interese. Espero que eso os motive a explorar la aplicación un poco más de lo requerido para realizar los ejercicios.

Algunas soluciones están en un estado bastante mejorable, pero creo que os aclararéis sin ellas. Si después de haberlo intentado, seguís en duda, para eso están los foros ;-)

Estas son las lecciones a leer y las actividades a realizar durante esta semana.

Blogs: WordPress (1)

  1. Leed la lección Presentación de WordPress
  2. Haced los ejercicios WordPress (1)

    El objetivo de estos ejercicios es poner en marcha WordPress y practicar tareas básicas de administración (instalar, configurar el acceso, copias de seguridad, etc.)

    Podéis consultar las soluciones a los ejercicios WordPress (1)

  3. Haced los ejercicios WordPress (2)

    El objetivo de estos ejercicios es conocer los elementos y tipos de contenido básicos de WordPress

    Podéis consultar las soluciones a los ejercicios WordPress (2)

IAW Semana S16: del 13/01/20 al 19/01/20

Desarrollador web

  1. Leed la lección Firefox. Herramientas para Desarrollador Web (esta lección están incluida en apuntes de Informática General).

    En esta lección se comenta el uso de las herramientas de desarrollador web de Firefox, concretamente del inspector, que permite analizar las hojas de estilo que se están aplicando a una página web. Esta herramienta nos será muy útil para realizar los ejercicios en los que nos pidan modificar las hojas de estilo de una aplicación. Chrome y Edge disponen de herramientas similares.

Blogs: WordPress (2)

  1. Haced los ejercicios WordPress (3)

    El objetivo de estos ejercicios es conocer el mecanismo de widgets y plugins de WordPress.

    • Los widgets son pequeños elementos que se pueden añadir a WordPress y son mucho menos importantes que los plugins.
    • Los plugins permiten ampliar las funcionalidades de WordPress y explican gran parte de su popularidad. Existen muchos plugins gratuitos, pero la mayoría de plugins son comerciales, aunque ofrecen parte de sus funcionalidades de forma gratuita.

    A la hora de crear un sitio web real, es necesario realizar un estudio detallado de las necesidades del sitio y de los plugins disponibles, porque es posible que algún plugin gratuito o la parte gratuita de un plugin comercial cubra nuestras necesidades. Otro aspecto importante en un sitio real es que los plugins vayan a seguir disponibles en el futuro, lo que obviamente es imposible saber con seguridad, aunque nos puede servir de orientación el tiempo que ya lleve disponible, la cantidad de actualizaciones publicadas, el número de instalaciones, los comentarios de los usuarios, etc.

    En esta página se proponen la instalación y prueba de algunos plug-ins, pero podrían valer otros muchos y se recomienda explorar la biblioteca de plug-ins de WordPress y probar los que los alumnos encuentren atractivos. En algunos casos se propone un plugin determinado, en otros se proponen varios plugins alternativos, pero no es necesario seguir al pie de la letra los ejercicios.

    En dos ejercicios se proponen plugins que facilitan la incorporación de mapas de Google Maps o calendarios de Google Calendar. Como Google cobra a partir de cierta cantidad de uso, os aconsejo que creéis las claves API necesarias, las utilicéis para probar los plugins y después las borréis (en vuestra cuenta de Google), para que no tengáis que pagar nada.

    Podéis consultar las soluciones a los ejercicios WordPress (3)

  2. Haced los ejercicios WordPress (4)

    La página 4 de ejercicios está dedicada al aspecto visual, en especial a los temas. Los tres primeros ejercicios están relacionados con la configuración básica de los temas y los siguientes con la creación de nuevos temas a partir de temas ya existentes (temas hijo).

    Para los ejercicios relacionados con la modificación del aspecto visual (CSS), deberéis utilizar el Inspector de Firefox. No es necesario llegar a comprender en detalle la organización general de las etiquetas HTML y de las hojas de estilo CSS de WordPress, que son bastante complicadas, basta con poder modificar elementos concretos.

    Podéis consultar las soluciones a los ejercicios WordPress (4)