Desarrollo back-end con PHP Código:  M4.255    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Conocimientos previos   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de la UOC para la asignatura   Información adicional sobre los recursos de aprendizaje y herramientas de apoyo   Información adicional sobre la bibliografía y fuentes de información   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación   Evaluación Contínua   Evaluación final   Feedback  
Este es el plan docente de la asignatura para el segundo semestre del curso 2022-2023. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Una parte esencial de lo que ocurre en una aplicación web es lo que tiene lugar en el servidor web. Habitualmente esto incluye la "lógica de negocio" de la aplicación y, en muchas ocasiones, el trabajo con la base de datos. Es lo que se suele conocer como "back-end" de la aplicación, por oposición a "front-end", que hace referencia a lo que ocurre en el navegador web del usuario (o cualquier otra combinación de hardware y software, en el caso de las aplicaciones para dispositivos móviles, por ejemplo).

En esta asignatura veremos los fundamentos de este trabajo en el servidor. Para ello, de entre las múltiples soluciones que existen, veremos dos bloques, todos ellas basadas en la plataforma AMP (Apache, MySQL, PHP). Ordenadas de mayor a menor simplicidad (y en consecuencia, de menor a mayor potencia), se trata del gestor de contenidos Drupal, usado como si de un framework de aplicaciones se tratara, y Laravel, un framework de aplicaciones en PHP que probablemente, sea actualmente la mejor alternativa a Symfony, el framework PHP sobre el que funciona Drupal.

Aprenderemos a seleccionar la mejor solución para el desarrollo de cada aplicación en función de los diferentes condicionantes que tengamos y a desarrollar la aplicación propiamente.

Trabajaremos tanto sirviendo páginas web estáticas al cliente como pensando en la posibilidad de desarrollar aplicaciones "headless", que se encargan sólo de la lógica y están pensadas para que la parte front-end se desarrolle en paralelo, en HTML, CSS y JavaScript si queremos un cliente web o con la tecnología más conveniente si se trata de clientes móviles "nativos", por ejemplo. Estas tecnologías front-end no se verán en esta asignatura.

Amunt

Dentro del programa de máster en Desarrollo de Sitios y Aplicaciones Web esta asignatura se ocupa del desarrollo del lado servidor. Ilustra, además, para todos aquellos estudiantes que quieran centrarse en el desarrollo en el lado del cliente, cuál es el funcionamiento y las peculiaridades de las aplicaciones en el lado del servidor a que deberán acceder.

Amunt

Son muy convenientes tanto un conocimiento sólido de HTML y CSS como algún tipo de experiencia en programación, aunque no es necesario que se haya trabajado en PHP.

Amunt

Resultados de aprendizaje:

  • Recoger los requisitos funcionales de un sitio o aplicación web complejos
  • Analizar los mejores frameworks de desarrollo a utilizar para la programación de un sitio o aplicación web en función de las necesidades y los recursos disponibles y proponer un conjunto de tecnologías a utilizar
  • Programar aplicaciones en el lado del servidor utilizando el lenguaje de programación PHP y bases de datos relacionales
  • Documentar y explicar el proceso de creación de un sitio web de forma clara y legible tanto para clientes como para colaboradores

Competencias básicas y generales:

  • Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio;
  • Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios;
  • Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • Analizar y sintetizar información técnica compleja.
  • Resolver problemas, identificando, analizando y definiendo sus elementos significativos.
  • Adaptarse a nuevas situaciones y entornos.
  • Aprender y actualizarse permanentemente.

Competencias transversales:

  • Innovar y generar ideas nuevas y llevarlas a la práctica.
  • Uso y aplicación críticos de las TIC en el ámbito académico y profesional.

Competencias específicas:

  • Seleccionar e implementar soluciones tecnológicas de manera efectiva y eficiente teniendo en cuenta los recursos, las alternativas disponibles y las condiciones de mercado.
  • Utilizar de manera adecuada los lenguajes de programación y las mejores herramientas de desarrollo para el análisis, el diseño y la implementación de sitios y aplicaciones web en función de las necesidades del proyecto.
  • Construir sitios web usables y accesibles desde cualquier tipo de dispositivo utilizando las mejores soluciones ofrecidas por los lenguajes de marcado.
  • Aplicar de la manera más adecuada los patrones de arquitectura de software más convenientes para cada problema.
  • Seleccionar y usar de manera efectiva los frameworks más adecuados para el desarrollo de aplicaciones tanto en el lado del navegador como en el del servidor.
  • Adaptarse a las tecnologías web y a los futuros entornos actualizando las competencias profesionales.

Amunt

  1. Sistemas de gestion de contenidos
    Definición de CMS. Frameworks vs CMS. Uso de los CMS. Componentes del servidor necesarios  para instalar CMS. Características de un buen CMS. Otras características de los CMS. Tipos de CMS
  2. WordPress
    Introducción. Instalación. El escritorio de WordPress. Configuración y seguridad. Introducción a los temas. ShortcodesPlug-ins
  3. Drupal
    Introducción. Instalación. Panel de administración. Módulos. Drupal vs WordPress. Integración con redes sociales. Themes
  4. Frameworks PHP. Laravel
    Instalación. Configuración. Conceptos de arquitectura. Fundamentos. Frontend. Seguridad. Bases de datos.

Amunt

Material Soporte
El WordPress Reaprovechamiento
CMS introducció Reaprovechamiento
CMS introducción Reaprovechamiento

Amunt

Amunt

  • bin Uzayr, Sufyan. Learning WordPress REST API. Packt Publishing, 2016
  • Burrows, Alex. Drupal 8 Blueprints. Packt Publishing, 2017
  • Caya, Andrew. Mastering The Faster Web with PHP, MySQL, and JavaScript, Packt Publishing, 2018
  • Chumley, Chaz. Drupal 8 Theming with Twig. Packt Publishing, 2016
  • Dockins, Kelt. Design Patterns in PHP and Laravel. Apress, 2016
  • Glaman, Matt. Drupal 8 Development Cookbook - Second Edition. Packt Publishing, 2017
  • Gray, Markus; Carr, David. Beginning PHP. Packt Publishing, 2018
  • Hodgon, Jennifer. Programmer's Guide to Drupal, 2nd Edition. O'Reilly Media, 2015
  • Hurley, William; Chumley, Chaz. Mastering Drupal 8. Packt Publishing, 2017
  • Jones, Richard; Abbot, Nick. Learning Drupal 8. Packt Publishing, 2016
  • Król, Karol. WordPress Complete - Sixth Edition. Packt Publishing, 2017
  • Lefebvre, Yannick. WordPress Plugin Development Cookbook - Second Edition. Packt Publishing, 2017
  • Madel, Kurt; Tewari, Malabya et al. Drupal 8 Development Beginner's Guide - Second Edition. Packt Publishing, 2016
  • Mann, Eric. Security Principles for PHP Applications. php[architect], 2017
  • Nixon, Robin. Learning PHP, MySQL & JavaScript, 5th Edition. O'Reilly Media, 2018
  • Salehi, Sohail. Mastering Symfony. Packt Publishing, 2016
  • Stauffer, Matt. Laravel: Up and Running. O'Reilly Media, 2016
  • Waheed-ud-din Ahmad, Haafiz. Building RESTful Web Services with PHP 7. Packt Publishing, 2017

Amunt

El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves.

Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente - incluidas las pruebas finales - o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular.

Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda.

La UOC se reserva la potestad de solicitar al estudiante que se identifique o que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación por los medios que establezca la universidad (síncronos o asíncronos). A estos efectos, la UOC puede exigir al estudiante el uso de un micrófono, una cámara u otras herramientas durante la evaluación y que este se asegure de que funcionan correctamente.

La verificación de los conocimientos para garantizar la autoría de la prueba no implicará en ningún caso una segunda evaluación.

Amunt

Esta asignatura solo puede superarse a partir de la evaluación continua (EC). La nota final de evaluación continua se convierte en la nota final de la asignatura. La fórmula de acreditación de la asignatura es la siguiente: EC.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt

La nota final de EC se determinará en función de las calificaciones obtenidas parcialmente, la participación en el foro y haber demostrado un dominio suficiente en los aspectos fundamentales de la asignatura durante el semestre.

La calificación de EC se calculará con los siguientes pesos de evaluación de cada una de las PECs:

  • PEC 1: 10%
  • PEC 2: 30%
  • PEC 3: 30%
  • PEC 4: 30%

Cualquier PEC no entregada se contabilizará con una calificación de 0/D para calcular la calificación de EC.

El hecho de entregar al menos la mitad de las PECs (2 o más) implica que se obtendrá una nota final de evaluación continua diferente No Presentado.

Amunt

Para superar la asignatura, es necesario obtener una nota mínima de 3 puntos en cada una de las PECs. En caso de obtener una nota inferior a 3 en algunas de las PECs pero una nota media entre el resto de PECs superior 3, a la nota final se le asignará un valor arbitrario de 3 puntos, no siendo posible así poder superar la asignatura.

La nota final se calculará a partir de las notas obtenidas en las PECs entregadas. Cada PEC contribuye con diferente proporción a la nota final. Las PECs no entregadas serán calificadas como 0 en el momento de calcular la nota final.

La fórmula para calcular la nota final de la asignatura (EC) es la siguiente:

EC = 10% PEC0 + 30% PEC1 + 30% PEC2 + 30 PEC3, sii min(PEC0, PEC1, PEC2, PEC3) >= 3

EC = 3, sii min(PEC0, PEC1, PEC2, PEC3) < 3

Amunt

Durante el curso, el profesor colaboradora os guiará y orientará a través del Tablón del aula para que podáis hacer un buen seguimiento de la asignatura. Podéis dirigir vuestras dudas generales sobre la asignatura (contenidos, evaluación, etc.) en el Foro del aula. Si tenéis dudas más individuales, se pueden plantear al buzón personal del profesor colaborador.

El profesor colaborador también hará un seguimiento personalizado de las actividades entregadas, revisará todas las PECs entregadas y comentará, de forma cualitativa a nivel grupal y/o individual la resolución. Estos comentarios os ayudarán a progresar en vuestro aprendizaje y a adquirir el conjunto de las competencias de la asignatura.

Amunt