Proyecto final de carrera

Anuncio
Evodie RAYR
Proyecto final de carrera
Aplicación web para el puto de información interactivo
Tutor : Sergio Sanchez
Année : 2011
Resumen
El periodo de prácticas de fin de carrera se desarrolla durante el último semestre del
DUT de informática. Puede ser efectuado en Francia o al extranjero. Su blanco es
enseñarnos a trabajar en el seno de un equipo, pero también, en autonomía. Además, nos
permite participar a un proyecto entero en el campo que nos gusta. Es cierto que efectuar
el periodo de prácticas al extranjero lo complica pero permite descubrir a un país y su
cultura.
1
Por eso, efectué mi periodo de prácticas en España, donde realicé una aplicación
web para el punto de información interactivo del teatro principal de Vilanova i la Geltrú.
Todo eso con las tecnologías J2EE y HTML/CSS.
Primero, me pregunté cómo organizar los datos, es decir la disposición de las
informaciones sobre las diferentes páginas web. Luego, me concentré sobre la programación
de las páginas web, tanto el gráfico como la visualización de las informaciones. Por fin,
desarrollé las diferentes servlets necesarias a la visualización de los datos dinámicos.
Este periodo de prácticas de fin de carrera, me permití aprehender la concepción de
una aplicación web entera y familiarizarme con algunas etiquetas y funciones HTML/CSS.
Además me permití mejorarme con la tecnología J2EE. Para concluir, también me permití
aprender a organizar las diferentes tareas a realizar. Al mismo tiempo, pude tomar en
aplicación el hecho de que programe de manera clara y comente mis funciones a fin de
facilitar la reutilización y la comprensión de mi código.
1
diploma universitario y tecnológico
2
Abstract
The final internship of study takes place during the last semester of the DUT2
computer science. It can be done in France or abroad. Its goal is to learn to work in a team
but also independently. In addition, it allows us to participate in a comprehensive project in
the field we like. There is no doubt that doing the internship abroad makes it difficult but it
will allow us to discover a country and its culture.
That is why I did my internship in Spain, where I did a web application for interactive
information point of the main theater of Vilanova i la Geltrú. All this with J2EE technologies
and HTML/CSS. First, I wondered how to organize the data that is to say the information on
different web pages.
Then I focused on programming web pages such as the graphic display and
information. Finally, I developed different servlets required to display dynamic data.
The final internship end of studies allowed me to understand the design of a
complete web application and to familiarize myself with some tags and functions HTML /
CSS. In addition, it allowed me to improve my knowledge of J2EE technology. Finally, it also
allowed me to learn how to organize the various tasks. In addition, I was able to implement
the programming clearly and comment my functions to facilitate the reuse and
understanding of my code.
2
Degree of university and technological
3
Índice
Resumen ........................................................................................................................... 2
Abstract ............................................................................................................................ 3
Índice................................................................................................................................ 4
Tabla de las ilustraciones .................................................................................................. 5
Agradecimiento ................................................................................................................ 6
Introducción ..................................................................................................................... 7
A)
Presentación .................................................................................................................... 8
1) La ciudad de Vilanova i la Geltrú .............................................................................................................. 8
2) Teatre “El Principal” ................................................................................................................................. 11
3) Utilidad .................................................................................................................................................... 13
4) Presentación ............................................................................................................................................ 13
B)
Técnico........................................................................................................................... 14
1) Antes del proyecto ................................................................................................................................... 14
2) Los lenguajes y tecnologías utilizados ..................................................................................................... 14
3) Las diferentes etapas ............................................................................................................................... 16
La estructura de la aplicación y la organización de los datos. ................................................................. 16
La parte gráfica ....................................................................................................................................... 21
Las partes gráficas fijas....................................................................................................................... 22
La pagina de acogida .......................................................................................................................... 25
Otras páginas web .............................................................................................................................. 28
La parte JAVA .......................................................................................................................................... 41
La servlet Agenda.java ....................................................................................................................... 46
La servlet News.java ........................................................................................................................... 50
C)
Balances......................................................................................................................... 53
1) Balance técnico ........................................................................................................................................ 53
Competencias adquiridas........................................................................................................................ 53
Los problemas encontrados .................................................................................................................... 54
Otro problema ........................................................................................................................................ 54
Las añadas de funcionalidades ............................................................................................................... 55
2) Balance humano ...................................................................................................................................... 59
Organización de las tareas ...................................................................................................................... 59
El trabajo en autonomía ......................................................................................................................... 59
La adaptación en un país extranjero con un idioma diferente ................................................................ 60
Conclusión ...................................................................................................................... 61
Referencias ..................................................................................................................... 62
4
Tabla de las ilustraciones
Figure 1 : Vilanova i la Geltrú ..................................................................................................... 8
Figure 2 : Puerto de Vilanova ..................................................................................................... 8
Figure 3 : El Xató ......................................................................................................................... 9
Figure 4 : Biblioteca-Museo........................................................................................................ 9
Figure 5 : Neapolis .................................................................................................................... 10
Figure 6 : Carnaval de Vilanova ................................................................................................ 10
Figure 7 : Teatre Principal ......................................................................................................... 11
Figure 8 : El Principal ................................................................................................................ 12
Figure 9 : Arquitectura J2EE ..................................................................................................... 15
Figure 10 : Estructura de la aplicación ..................................................................................... 17
Figure 11 : estructura de la página de acogida ........................................................................ 18
Figure 12 : Estructura de las páginas de la aplicación .............................................................. 20
Figure 13 : Estructura de una categoria ................................................................................... 21
5
Agradecimiento
No es fácil para una estudiante encontrar un periodo de prácticas, por eso agradezco,
l’Escola Politècnica Superior d'Enginyeria de Vilanova i la Geltrú de haberme acogida durante
estos tres meses.
Quiero agradecer particularmente Señor Sergio Sanchez, mi tutor, quién supervisó el
proyecto final de carrera y me ayudó para la realización de este último durante los tres
meses de prácticas.
Luego, quiero dar las gracias al Señor Patrick Lebègue, mi tutor IUT, quién contestó a
todas las preguntas prácticas.
Además, agradezco todo el equipo de la oficina de las Relaciones Internacionales para
su acogida calurosa y haberme permitido encontrar a otros estudiantes.
Por fin, doy las gracias al Señor Philippe Mathieu, profesor al IUT A de Lille 1, para
haberme contestado a las preguntas técnicas.
6
Introducción
Actualmente estoy cursando el segundo año de estudios informáticos en el Instituto
Universitario y Tecnológico IUT A de Lille 1. Tuve que hacer un periodo de prácticas de fin de
carrera durante el último semestre. Este último duró tres meses, del 31 de Octubre de 2011
hasta el 31 de enero de 2012. Durante este periodo de prácticas, efectué un proyecto final
de carrera. El titulo de este proyecto es “aplicación web para el punto de información
interactivo del teatro principal de Vilanova i la Geltrú”. Con miras a este proyecto, decidí
utilizar las tecnologías JE22 para generar los datos dinámicos y el HTML/CSS para la
visualización de los datos fijos, así como para la parte gráfica.
Así me pregunté cómo organizar todos los datos para que sea fácil de uso para los
usuarios y para que la aplicación sea más optimizada posible.
Para contestar a esta pregunta, numerosos aspectos permiten entender mejor cómo
hacer frente a estas coacciones. Voy a desarrollar éstas en varias partes.
En primer lugar, voy a presentar el proyecto, y en particular la utilidad de éste. Luego,
en una segunda parte, desarrollaré los aspectos técnicos, así cómo mis elecciones en lo que
concierne a las tecnologías utilizadas y las diferentes fases. Acabaré por un balance técnico y
humano explicando lo que aprendí durante éstos tres meses de periodo de prácticas y las
diferentes optimizaciones posibles.
7
A) Presentación
Antes de explicar la utilidad del proyecto y de exponerlo, voy a empezar por presentar la
ciudad en la cual se desarrolla el periodo de prácticas, Vilanova i la Geltrú, y el teatro “El
Principal”, a quién va a servir la aplicación.
1) La ciudad de Vilanova i la Geltrú
A fin de obtener un mejor resultado, es importante informarse sobre la cultura
y el modo de vida de los habitantes de la ciudad de Vilanova i la Geltrú. De esta
forma, ajusté el punto de información interactivo para contestar al mejor a las
esperas de los habitantes.
Vilanova i la Geltrú es una
ciudad y municipio de España, capital
de la comarca del Garraf, en la
provincia de Barcelona en Cataluña.
Se sitúa a medio camino entre
Barcelona (46 km hacia el Norte) y
Tarragona (44 km hacia el Sur).
Figure 1 : Vilanova i la Geltrú
La ciudad está situada al lado del mar Mediterráneo, la playa que la costea
es así muy grande. Vilanova i la Geltrú cubre una superficie de 34 km² y consta de
66 532 habitantes. Su densidad es así de 1957.4 hab/km² en 2010. El alcalde de la
ciudad es Joan Ignasi Elena Garcia y el consejo municipal está situado en la Placa
de la Vila.
Vilanova tiene una larga historia que se traduce en numerosos puntos de
interés cultural, sobre todo durante el Romanticismo. Durante el reinado del
General Franco, el idioma catalana fue prohibido. De hecho, la ciudad fue llamada
Villanueva y Geltrú.
Al origen, Vilanova i la
Geltrú fue un puerto de pesca
y al día de hoy, es el tercer
puerto de Cataluña. Su
industria es más centrada en
la industria de textil y de
papel.
También
hay
fundiciones de hierro y un
sector agrícola importante.
Figure 2 : Puerto de Vilanova
8
En lo que concierne a la gastronomía en Vilanova i la Geltrú, es típica de la
región mediterránea balnearia. Su cocina está hecha a base de pescados y
mariscos recién traídos de los barcos de pesca.
La tradición de los marineros, transmitida de padre a hijos, enriqueció la
cocina con platos tal como: Bull de tonyina", "Tous cremat»3, "Rossejat",
"espineta", "Ranxos de pescado", "Sépia a la bruta», "Allipebre de conejo con
galeras".
El plato más famoso, aquí, es “El Xató”. Es una ensalada de escarola con
anchoas, atún y bacalao y mucho más.
Pero, su particularidad reside en su salsa.
Es una salsa elaborada a partir de
almendras y avellanas tostadas, miga de
pan con vinagre, ajo, aceite, sal y pimienta
como ingrediente característico. El mejor
producto local que podemos encontrar es
“Gambas de Vilanova”. Además, Vilanova i
la Geltrú es también una tierra de vinos.
Figure 3 : El Xató
Se trata de la frontera marítima de la
región vitícola de Penedès, que tiene buenos vinos y champán que ofrecer.
Como ya dicho, la época dorada de la ciudad fue durante el Romanticismo,
periodo que se refleja magníficamente en edificios como la Biblioteca-Museo
Víctor Balaguer, construida por el que fue el último ministro de Ultramar español.
Encontramos palacetes y mansiones de interés como la Casa Renard, Foment
Vilanoví, Casa Cabanyes, Casa Samà y Can
Pahissa. Asimismo destacan también sus
ermitas e iglesias como las de San Cristóbal, San
Gervasio y Santa María de la Geltrú. En ésta
última se encuentra un retablo de madera
policromada del siglo XVIII. Uno de los
atractivos de la ciudad es el museo de las
curiosidades marítimas Roig Toquès, edificio
que tiene solo una pieza, pero donde la
densidad de las curiosidades es increíble. El otro
museo representativo de la ciudad es la
Biblioteca-Museo Victor-Balaguer, creado en
1884 por el poeta, historian y diplómate
catalán Victor Balaguer (1824-1901).
Figure 4 : Biblioteca-Museo
Victor Balaguer
3
Un guisado de pescadores a base de diferentes pescados, mucho ajo, tomates, y patatas
9
Posee una grande colección de libros y colecciones de antigüedades romanas
y egipcianas, piezas arqueológicas, pinturas, grabados, esculturas, monedas. Un
tercer museo de la ciudad es Can Papiol, edificio de estilo neo-clásico bien
conservado, con la Casa LLopis de Sitges, forma de museo romanticismo y que
ilustra bien las costumbres de la burguesía industrial del siglo XIX. También hay un
museo del Ferrocarril y el centro de interpretación del romanticismo, en la Masia
d’en Cabanyes.
Vilanova y la Geltrú, es una de las
ciudades más avanzadas en nuevas
tecnologías, junto con la Universidad
Politécnica de Cataluña (l’Escola
Politècnica Superior d'Enginyeria de
Vilanova i la Geltrú) y el edificio
Neàpolis.
Figure 5 : Neapolis
Vilanova i la Geltrú tiene sus propias celebraciones, una de las primeras que se
celebran al empezar el año es Sant Antoni. Esta celebración que cae en el 17 de
enero se celebra con la fiesta especial de "Els tres tombs", y siguen con el carnaval.
Este último empieza con “Baile de Mantones” (el inicio oficial del carnaval), el
jueves siguiente, es el jueves lardero. En esta fiesta los niños salen a la calle con
merengues o mangas pasteleras.
El domingo es el día de las "Comparsas" donde los cientos de parejas de
comparseros que representan a
multitud de sociedades y peñas
llegan a "lanzar" sobre la ciudad
casi 100 toneladas de caramelos.
Las comparsas constan de parejas
en el que el hombre lleva la
tradicional "barretina" y la bolsa
de caramelos, y la mujer debe de
llevar un mantón de manila. La
gente convergen hacia la Placa de
Figure 6 : Carnaval de Vilanova
la Vila para la batalla final, al
bailando sobre el ritmo de la marcha militaría “El Turuta”.
El lunes, el carnaval infantil o Vidalet, y los Coros de Carnestoltes,y el martes
es el turno de las comparsas del Vidalot. Y para terminar, el miércoles de ceniza se
hace el entierro de la sardina, último de los actos del carnaval después de 12 días
de fiesta. En este acto pasean a S.M. el Rey Carnestoltes muerto con sus
concubinas que le lloran durante todos el trayecto. Al final el ataúd es quemado en
10
el medio de la Plaza de la Villa.
La última semana de Junio, es la semana del mar en el barrio de los
marineros con muchas actividades en el campo de mar, de los hombres y mujeres,
y como punto culminante, el 29 de Junio esta celebrada la fiesta de San Pedro
(festival de mariscos con desfile de los barcos de pesca adornados).
El 5 de agosto, se celebra la Fiesta Mayor en honor a la Virgen de las Nieves,
patrona de la ciudad. Desfilan diversos pasacalles entre los que destacan el Ball de
Diables, el Drac de Vilanova, el Drac de la Geltrú, la Carpa y el Porró, las Mulasses,
los Gegants, el ball de nans, el ball de Serrallonga, el ball de bastons, el ball de
gitanes, el ball de pastorets, el ball de cintes, la moixiganga, los castellers, los
falcons y otros bailes.
2) Teatre “El Principal”
Esta parte concierne principalmente “El Principal”. El teatro de Vilanova i la
Geltrú caracteriza la tradición cultural, especialmente el teatro y la música desde
el siglo XVIII y sobre todo al siglo XIX. La ciudad de Vilanova, consiguió un cierto
nombre de edificios ofreciendo un programa regular de música y artes del
espectáculo.
El edificio que hoy acoge el teatro “El Principal” fue construido en 1804 y
aumentó su capacidad
en 1854. Al inicio, no
hubo representaciones
teatrales y en 1902 el
teatro
acogió
las
primeras proyecciones
de
películas.
Estas
actividades
culturales
fueron interrumpidas por
la guerra civil y durante
el periodo de postguerra. El teatro “El
Principal” reabrió sus
Figure 7 : Teatre Principal
puertas hasta en 1945,
cuando un antiguo empresario lo alquiló y colocó una sala de cine en el edificio.
11
En los años setenta, cuando la iniciativa popular nació, hubo un traspaso
significativo del inmueble como teatro. Esto duró hasta en 1985, cuando la
municipalidad de Vilanova aceptó comprar el material necesario para el teatro y
proveyó la infraestructura óptima. En 2005, “El Principal” cerró sus puertas para
varios mejoramientos.
La reapertura fue en la estación de autumno de 2009. Fue el renacimiento del
edificio sobre la forma de
nuevos equipos técnicos
y más posibilidades gracia
a la
construcción de
diferentes escenas en la
escena.
Hay
representaciones
teatrales, pero también
un edificio para las
exposiciones. Está abierto
para quienquiera que
Figure 8 : El Principal
necesita un sitio para un
encuentro pero, no hay bastante plaza para producciones gordas.
Desde 2009, el teatro está dirigido por Jordi Pico : un actor y escritor originario
de Valencia. Su objetivo principal es concebir un calendario de calidad y ampliar la
oferta cultural de Vilanova i la Geltrú para que el teatro sea mencionado como “el
centro dinámico de la cultura en la ciudad” con su variedad de ofertas culturales
presentadas.
Actualmente, el más grande desafío es convencer la populación de venir al
teatro. Los habitantes tienen enviadas culturales que no son siempre plenamente
satisfechas.
Una enorme oportunidad para el desarrollo del teatro “El Principal” es
organizar una grande variedad de espectáculos, y no sólo de arte. No hay tales
sitios en Vilanova, con tantos equipos técnicos de calidad y con una tan grande
escena. Otra misión es ganar al público quien fue repartido entre los otros teatros
y espacios culturales cuando el teatro fue cerrado para causas de renovación. Por
lo tanto, es esencial para “El Principal” fijarse como un espacio cultural atractivo.
La sala principal del teatro es más bien pequeña e íntima pero con comodidad.
A pesar de todo, la capacidad plantea problemas : la presentación de grandes
acontecimientos podrían volver a ser una tarea casi imposible. La pequeña
capacidad del teatro establece algunos límites a la selección de los programas, en
particular porque el teatro no tiene un grupo de actores permanentes.
12
Después de haber presentado la ciudad de Vilanova i la Geltrú, así que su
teatro principal “El Principal”, voy a explicar utilidad de este punto de
informaciones interactivo. Voy a contestar a la pregunta siguiente: ¿Por qué un
punto de informaciones interactivo para el teatro de Vilanova i la Geltrú ?
3) Utilidad
Dado que el teatro de Vilanova i la Geltrú, reabrió sus puertas sólo en 2009, y
los habitantes tienen las costumbres en los otros centros y espacios culturales,
pues, hay que incitarlos a volver al teatro “El Principal”. Así, la populación de
Vilanova, tiene que poder tener acceder al programa cultural del teatro con
facilidades, y sin deber a ir sobre el sitio internet. En efecto, todo el mundo no
tiene una conexión internet a su casa, especialmente los ancianos. Además,
tienen que poder consultar el programa sin ir al teatro para ir a buscarlo. Es para
estas razones, que un punto de informaciones interactivo sería con muchas
utilidades al teatro. En efecto, los ciudadanos de Vilanova podrán consultar el
programa, el precio de las diferentes plazas, los horarios de apertura, ver a fotos o
videos, y también informarse sobre la historia de “El Principal”, y a lo mejor,
encontrar un espectáculo o una exposición que los gustarán. Los dispositivos del
punto de informaciones interactivo estarán colocados en la Rambla Principal. De
este hecho, cuando los habitantes de Vilanova se pasearan por la Rambla Principal,
podrán pararse en un dispositivo y tener acceso a todas las informaciones en lo
que concierne el teatro y su programación.
Ahora que contestó a la pregunta : “¿Por qué un punto de informaciones
interactivo para el teatro de Vilanova i la Geltrú ?, voy ahora presentar la
aplicación web del punto de informaciones interactivo.
4) Presentación
Como ya lo dije en la parte llamada “Utilidad”, cuando la populación
consultará el punto de informaciones interactivo, podrá consultar el programa, el
precio de las diferentes plazas, los horarios de apertura, ver a fotos o video, y mas
información. De este hecho, la aplicación consta de varias páginas. Primero, una
página de acogida4 que los permitirá acceder a las diferentes secciones de la
aplicación. Y luego, las páginas asociadas5 a cada sección. Por fin, a partir de cada
página podremos o sea, ir a las diferentes pestañas de la sección, o sea, volver a la
primera pagina gracia a un botón “Home”. Además, el punto de informaciones
interactivo, será totalmente táctil.
4
5
Estas serán detalladas en la parte B_3
Estas serán detalladas en la parte B_3
13
B) Técnico
En esta parte, voy a abordar la parte técnico del proyecto. Primero, voy a exponer lo que
hice antes de empezar a programar, luego, presentaré los lenguajes y las tecnologías
utilizadas y por fin, explicaré las diferentes fases de programación.
1) Antes del proyecto
Antes de empezar a producir código, me concentré sobre las diferentes cosas.
Primero, volví a leer la memoria escrita por los otros estudiantes que realizaron el
punto de informaciones interactivo del teatro “El principal” de la ciudad de
Vilanova i la Geltrú. Esto me permití entender mejor lo que era el punto de
informaciones interactivo y pues mejor cercar las puestas enlazadas al proyecto.
Dado que la aplicación era al inicio una aplicación JAVA, hube que reflexionar a
la arquitectura y los lenguajes que iba a utilizar para transformarla en aplicación
web6. Entonces, era imposible empezar a programar sin tener la arquitectura que
iba a ser desplegada y los lenguajes que iba a utilizar para desarrollar la aplicación.
Después de haber pesado el pro y el contra, así que mis envidias personales, decidí
hacer este proyecto en J2EE y HTML/CSS y utilizar una arquitectura ClienteServidor.
Por fin, volví a leer algunos tutoriales en HTML/CSS a fin de volver a ponerme
al nivel en este campo. En efecto, hacía dos años que no había programado en
HTML/CSS puro. No quería empezar a codificar sin haber volver a ver las bases de
estos lenguajes. Por eso, fui sobre el “site du zéro” http://www.siteduzero.com/, y
sobre el sitio “developpez.com” http://www.developpez.com/.
Antes de presentar las diferentes etapas del proyecto, voy a explicar mi
elección en lo que concierne las tecnologías y los lenguajes empleados.
2) Los lenguajes y tecnologías utilizados
Para la implementación del punto de información interactivo, eligió utilizar la
tecnología JAVA y más precisa en J2EE.
¿Por qué el J2EE?
Con miras al tamaño de la aplicación web, me parece que la tecnología J2EE es
la más adaptada. En efecto, J2EE permite implementar grandes aplicaciones. Se
aplica a sitios de más importancia, requiriendo el despliegue de una tecnología
6
Explico en la parte C_1 por qué la transformé
14
más pesada en términos de posibilidades, pero también de colocación. Mientras
que el PHP, por ejemplo, es más adaptado al desarrollo de pequeños y medios
sitios personales o para PME. Además, el tiempo reservado a la implementación
de esta aplicación web es bastante corto, prefirió orientarme hacia tecnologías ya
conocidas.
¿Cómo funciona el J2EE?
Java 2 Enterprise Edition : arquitectura de componentes multi – plataformas
propuesta por SUN construida sobre el lenguaje JAVA.
J2EE = J2SE7 + Servlets + JDBC8 + EJB9
La arquitectura J2EE permite separar la capa “présentation”, correspondiente
a la interfaz hombre – máquina (IHM), la capa “métier”, conteniendo al esencial de
los tratamientos de datos, basándose en la medida del posible sobre API
existentes, y por fin la capa de datos “données”, correspondiente a las
informaciones de la empresa almacenadas en ficheros, en bases de datos
relacionadas o XML.
Figure 9 : Arquitectura J2EE
El componente del base de la arquitectura J2EE es un objeto especial : la
Servlet. Las servlets visan la producción dinámica de un contenido web. La servlet
7
8
9
Java 2 Standart Edition
Java DataBase Connectivity
Enterprise JavaBeans
15
trata demandas SQL, y producen respuestas.
Ahora, voy a desarrollar las diferentes fases de programación.
3) Las diferentes etapas
En esta sub-parte, voy a explicar cómo desarrollé la aplicación. Para eso,
primero presentaré la estructura de la aplicación y la organización de los datos.
Luego, abordaré la parte gráfica y la visualización de los datos fijos y por fin,
explicaré cómo generé los datos dinámicos a partir de la base de datos.
La estructura de la aplicación y la organización de los datos.
Antes de desarrollar las diferentes fases de programación, es necesario
explicar cómo está estructurada la aplicación y cómo están organizadas las
diferentes informaciones.
La lectura de la memoria escrita por los otros estudiantes me ayudó a elegir la
estructura final que tiene la aplicación. Es importante pensar antes de empezar a
producir código. Esto permite ganar tiempo durante la programación y no crear
clases 10inútiles.
Es el esquema representando la estructura de la aplicación.
10
En mi caso, las clases correspondan a las diferentes paginas HTML
16
Noticias
El principal
Historia
Colaboraciones
Agenda
Programa
Videos
Archivos
Horarios de apertura
Tickets
Precios
Acogida
Imagenes
Galeria
Virtual Tour
Informaciones
técnicas
Contact
Informaciones
técnicas
Informaciones
sobre el equipo
Cómo llegar ?
Figure 10 : Estructura de la aplicación
17
En lo que concierne la disposición de las informaciones, utilicé el HTML/CSS
como lenguaje. Este último me permite disponer las diferentes secciones de las
páginas web. Para hacer esto, principalmente me serví de la función “div”. Una
“div” es un compartimiento a dónde podemos colocar como lo deseamos sobre la
pagina. Es posible darle varios atributos, tal como la altura “height”, la amplitud
“width”, el color de fondo “background” o todavía el color del contorno “bordercolor”. El uso de estos compartimientos es esencial para obtener una visualización
de calidad.
Es el esquema representando la disposición de los datos en la página de
acogida.
Figure 11 : estructura de la página de acogida
Div : haut
Div : section_home
Div : section_gauche
Div : trait_gauche
Div : section_droite
Div : icone
Div : footer
18
Explicaciones de las diferentes « div »
Voy a empezar por la “div : haut”. Lo creé para poder colocar el pendón que
está constituida del logo y del título de la pagina. Luego, hay la “section_home”
que me permitió definir la altura y la amplitud de la parte central. La
“section_gauche” me permitió en cuanto a esta posicionar los dos iconos “home”
y “transferencia de datos”11. Séparé la “section_gauche” y la “section_droite” con
el “trait_gauche”. Este último es un simple trato rojo situado a la izquierda, que
delimite los iconos de izquierda y los datos de derecha. Luego, hay la
“section_droite” donde inserto otra división llamada “icone”. En este
compartimiento, coloqué los diferentes botones permitiendo acceder a todas las
páginas web de la aplicación. Y por fin, la “div : footer” contiene todas las
informaciones sobre el teatro, es decir, teléfono, fax, dirección y sitio internet.
Ahora, voy a presentar la disposición de las informaciones en las otras páginas
de la aplicación. Tomo por el ejemplo de la pagina “rental_information” llamada
“informaciones técnicas” en la figura n° 10, ya que es una de las más complejas
dado que hay flechas insertadas en la “section_droite”.
Es el esquema representante la organización de los datos en la página de
informaciones técnicas.
11
Explicaré en qué consiste los dos iconos un poco más lejos en la parte
19
Figure 12 : Estructura de las páginas de la aplicación
Div : haut
Div : section_home
Div : section_gauche
Div : trait_gauche
Div : section_droite
Ul : onglet
Div : flèches
Div : icone
Div : footer
Explicaciones de la página « informaciones técnicas »
La disposición de las “div” es sensiblemente la misma, pero sin embargo hay
algunas añadas. En todas las páginas de la aplicación, hay un compartimiento
llamado “onglet”12 donde coloqué los diferentes botones que me permitieron
acceder a las otras páginas de una misma categoría. Pueden ser al número de uno,
dos o tres.
12
Pestaña en español
20
Ejemplo
En la categoría “programa”, accedemos directamente a la agenda del teatro.
Sin embargo, es posible ir sobre las páginas “videos” y “archivos”.
Programa
Agenda
Videos
Archivos
Figure 13 : Estructura de una categoria
En la pagina tomada como ejemplo, hay una “div” suplementaria : “fleche” 13.
Esta división permite a los usuarios pasar a las fichas técnicas siguientes pero
también, volver atrás. Además, en el compartimiento “section_droite”, hay para
todas las páginas de la aplicación web, una u otra(s) “div” en las cuales están
colocadas las diferentes informaciones.
Ahora, voy a explicar todos los detalles técnicos de la parte gráfica.
La parte gráfica
El HTML/CSS es el lenguaje de marcado predominante para la elaboración de
páginas web. HTML se escribe en forma de «etiquetas», rodeadas por corchetes
angulares (<,>). Es usado para describir la estructura y el contenido en forma de
texto, así como para complementar el texto con objetos multimedios tales como
imágenes, formulario de recogida y elementos programables tales como applets.
HTML también puede describir, hasta un cierto punto, la apariencia de un
documento (páginas de estilo). Esta parte va a permitirme explicar la colocación y
la inclusión de estos elementos.
Colocación de las diferentes DIV
En lenguaje HTML, la etiqueta DIV es muy importante. Es un contenedor que
puede incluir todos las etiquetas HTML (parágrafos, tablas …, y igualmente otras
divisiones). Sirve a estructurar el documento en varias secciones. La etiqueta DIV
se coloca entre las etiquetas <BODY> y </BODY>. Durante su utilización, acarrea
una vuelta a la línea.
13
Flecha en español
21
De otras partes, contiene dos atributos específicos :
- El atributo Id que confiere una identidad única a la etiqueta.
- El atributo Class que permite reutilizar las características de la DIV en la
página web.
Para colocar correctamente estas DIV, tengo que servirme de sus numerosos
atributos. Primero, voy a concentrarme en las partes gráficas fijas – pendón de alto
y de abajo y la parte central. Después, explicaré cómo procedí para la página de
acogida y por fin para las otras páginas web de la aplicación.
Las partes gráficas fijas
El pendón de alto :
Para colocar el logo de la aplicación y el titulo de la pagina en curso, tuve que
utilizar varios atributos :
- Background => define el color de fondo
- Color => define el color del texto
- Font-size => define el tamaño del texto
- Font-family => define la fuente del texto
- Border-bottom => permite crear un contorno en debajo de la división,
especificando su color y su espesor entre otros.
Código HTML
Código CSS
Resultado
22
Como no precisé la altura ni la amplitud, el lenguaje toma la amplitud
completa de la página y la altura de la imagen asociada.
La parte central
Para definir la altura, la amplitud y el color de fondo de la parte, usé varios
atributos :
- Background => permite definir el color de fondo
- Width => define la amplitud de la división
- Height => define la altura de la división
- Margin => define las márgenes (alto, abajo, derecha, izquierda)
alrededor de la división
Código HTML
Código CSS
Luego, para designar el trato rojo, me serví de varios atributos :
- Float => permite colocar a derecha o izquierda la división
- Border-left => define el color del contorno izquierdo
- Height => me permite definir la altura del trato
- Margin-left => define la margen que tendría a izquierda de la división
- Margin-top => define la margen que tendría en alto de la división
Código CSS
23
Resultado
El pendón de abajo
Para realizar el pendón de abajo, utilicé varios atributos :
- Background => para definir el color de fondo
- Text-align => permite definir si queremos colocar el texto a derecha, a
izquierda o al centro
- Color => define el color del texto
- Font-family => define la fuente del texto
- Width =>define la amplitud del pendón
- Margin => define todas las márgenes alrededor de la división
Código HTML
Código CSS
Resultado
24
Los atributos “height” y “width” pueden expresarse en pixeles (px) pero es
más fácil usar los porcentajes (%) cuando se trata de definir grandes valores.
Utilicé el pixel para los otros atributos porque me permitió tener una mejor
precisión. En lo que concierne el atributo “background”, se puede tomar varios
tipos de parámetros, es decir, o sea el color en ingles (ej : Black), o sea el valor
hexadecimal (ej : #b62a30), o sea el valor rgb14 (ej : rgb(134,134,134)).
Eligió estos colores para diversas razones. Primero, hube encontrar los colores
adecuadas – ni demasiado viva, ni demasiado sosa – porque el dispositivo del
punto de informaciones interactivo estará en la Rambla Principal. Los usuarios
tienen que poder leer correctamente las informaciones presentadas a pesar del
sol o de las luces, sin ser deslumbrados. Entonces elogió volver a tomar el mismo
rojo presente sobre el sitio del teatro. Esto permite tener volver a tomar una
cohesión entre las dos aplicaciones. Por fin, en la memoria de los otros
estudiantes, el fondo de la parte central era gris, esto me pareció ser una elección
juiciosa. Además, tomé la elección de escribir los diferentes textos en negro para
una mejor visibilidad.
Ahora voy a explicar cómo procedí para la página de acogida.
La pagina de acogida
La pagina de acogida está compuesta de varias partes :
- La parte del alto => DIV : haut
- La parte central => DIV : section_home, trait_gauche, section_gauche et
icones
- La parte de abajo => DIV : footer
Dado que los parte del alto y de abajo, ya han sido presentadas
anteriormente, explicaré sólo las divisiones presentes en la parte central.
La section_home
Para crear esta división, utilicé los atributos siguientes :
- Background =>permite definir el color de fondo
- Width => define la amplitud
- Height => define la altura
- Margin => define las márgenes (alto, bajo, derecha, izquierda) alrededor
de la división
14
Rouge vert bleu : Rojo verde y azul en español.
25
Código CSS
La section_droite
Creé esta división para colocar más fácilmente las informaciones que estarán
presentes dentro.
Los atributos usados son :
- Float => indica donde estará colocada la división (a derecha, aquí)
- Background, width, height, margin
Código CSS
Luego, creé una división “icone” que me permitió colocar fácilmente los
botones permitentes acceder a las diferentes categorías de la aplicación.
Los iconos
Los atributos utilizados me permitieron colocar los iconos al centro de la
sección.
Código CSS
26
Código CSS
Resultado
Era importante elegir bien los botones, y sobre todo sus estilos, puesto que la
página es la primera página que los usuarios verán. Pues, hube que ser atrayente y
fácil de uso. Además, hube que crear botones bastante grandes para que puedan
ser fácilmente accesibles, sabiendo que la aplicación seria táctil. Por fin, los iconos
tenían que ser bastante espaciados para no clicar sobre dos al mismo tiempo. Por
eso, utilicé, el atributo &nbsp que permite espaciar imágenes entre ellas.
27
Para acabar esta parte, voy a explicar la parte gráfica de las otras páginas web
de la aplicación. Para eso, voy a tomar sólo una página como ejemplo, sabiendo
que todas las otras son parecidas.
Otras páginas web
En estas partes, voy a tomar como ejemplo, las informaciones técnicas, ya que
es una de las más complejas. Su parte central está compuesta de varias divisiones :
section_gauche, trait_gauche, section_droite, fleche, rental. Dado que algunas ya
han sido explicadas, sólo desarrollaré las que no han sido presentadas.
La section_gauche
En esta sección, hay dos iconos : “home” y “transferencia de datos”. El primer
permite al usuario volver a la página de acogida a partir de cualquier página web
de la aplicación. El segundo permitirá a los habitantes de Vilanova i la Getrú enviar
las informaciones presentadas sobre una página, hacia sus móviles o pantallas
táctiles, gracia a la función Bluetooth.
Código HTML
Código CSS
28
Resultado
Las flechas
En vista de la cantidad de informaciones técnicas presentadas en el sitio
internet del teatro, elegí de visualizarlas sobre varias páginas. Así, creé una DIV
“fleche” que permite al usuario navegar entre las diferentes páginas de la rúbrica.
De este hecho, puede ir a la página siguiente o volver atrás.
Código HTML
Código CSS
29
La sección rental
Esta sección me permitió definir el tamaño (altura y amplitud) que tendrá cada
página de la categoría. En esta DIV, coloqué las divisiones anteriormente
presentadas – section_gauche, trait_gauche, section_droite, flèches – y añadí una
nueva división que lleva el nombre de la página (ej : rental4). Esta última me
permitió colocar las informaciones queridas, es decir, texto, tableros o imágenes.
Código HTML
30
Código CSS
Resultado
31
En esta página, podemos ver a dos tipos de datos : los tableros y el texto. A
menudo, es útil presentar informaciones mas estructuradas que con listas. Los
tableros permiten fijarlas en líneas y columnas. Los tableros son definidos como
sucesión de líneas.
Un tablero tiene que respetar las algunas reglas siguientes :
- El tablero está encuadrado por las etiquetas <table> y </table>
- El titulo del tablero está encuadrado por <caption> y </caption>
- Cada línea está encuadrada por <tr> y </tr> (Table Row, es decir línea
del tablero)
- Las células de encabezamiento están cuadradas por <th> y </th> (Table
Header, es decir encabezamiento de tablero)
- Las células de valor están cuadradas por <td> y </td> (Table Data:
datos de tablero)
Para poner un tablero un poco agradable a mirar, se puede utilizar algunos de
sus atributos tales como border, border-color, o aún cellpadding. Le cellpadding
permite crear un espacio de n pixeles entre el contenido de las células y el
contorno. Este atributo sólo se aplica a la etiqueta <table>. Luego, se puedo
igualmente usar el atributo colspan, que permite crear un desbordamiento de
células sobre las columnas adyacentes. Este último es utilizable con las etiquetas
<td>, <th> y <tr> en particular. Existe el atributo rowspan para las líneas.
En los que concierne el texto, existen varios atributos para ponerlo en forma,
en particular la etiqueta <p>. Esta etiqueta permite crear parágrafos. Luego hay las
etiquetas <h1> a <h5>. Estas ya tienen un estilo pre-determinado : se trata del
tamaño de la fuente. En efecto, un texto escrito entre una etiqueta <h1> tendrá
un tamaño más levantado que un texto colocado entre etiquetas <h5>.
Antes de acabar esta parte, voy a explicar cómo procedí para crear las
diferentes pestañas y cómo inserté la galería de imágenes y los videos.
Las pestañas
Las pestañas forman parte importante de las páginas web de la aplicación ya
que permiten a los usuarios navegar entre las diferentes páginas de una misma
rúbrica. Esto ya ha sido explicado un más alto en la parte15. Ahora voy a explicar
cómo los programé.
15
Ver la figura N°13
32
Creación de pestañas en HTML/CSS
La parte HTML es la más simple. En efecto, creé un menú con una lista noordenada con las etiquetas <ul> y <li>. Luego, en un menú, hay forzosamente
enlaces, entonces utilicé la etiqueta <a>. El atributo class me sirvió a poner en
valor la pestaña activa. Lo todo está rodeado con una etiqueta <div>. Los tres
elementos importantes son : la activación del enlace con class=”active”, la
etiqueta <div id=”menú”> que me permitió colocar el menú en la pagina, y la
etiqueta <ul id=”onglets”> que sirvió para hacer las modificaciones sobre el estilo.
Código HTML
Resultado
Vemos ahora la parte CSS. Primero, quité los chipes, puse un contorno que
estuve abajo de las células. El padding-bottom sirvió para indicar a qué altura
estuve el contorno de abajo. Igualmente procuré que el menú fuera pegado al
trato horizontal en alto de la página. Luego hice un cuadro alrededor de las
pestañas, pero para que no lo veamos a la visualización, lo puse en transparente. El
padding : 0 me permitió pegar el cuadro sobre las pestañas. Para poder centrar
correctamente las pestañas, fue importante que el cuadro tuviera la misma
longitud del menú. Además, para colocar el menú al centro de la pagina, basté con
hacer “left : 50 %” que coloca a 50 % de a izquierda, es decir al centro.
33
Código CSS
Luego, creé las pestañas. Pero las pestañas se encuentraban entre las
etiquetas <li>, entonces hube que poner “#onglets li” en la página de estilo CSS.
Creé un contorno alrededor gracia al atributo border con el valor 1px solid
#9EA0A1, es decir, un cuadro de 1 pixel en alta línea de color #9AE0A1. Añado
igualmente una pequeña margen para que las células y el texto se estén pegados.
Utilicé el float : left para poner las pestañas en las misma línea. Las dos márgenes
sirven para la visualización. En efecto, Internet Explorer no interpreta de la misma
manera que los otros navegadores.
Código CSS
A pesar de todo, el enlace siempre es visible. Para esto, utilicé el atributo textdecoration : none que permitió quitar el trato de subraya encima de los enlaces.
Luego, hice una visualización “bloc” para poder clicar por todo en la pestaña para
acceder a la página preguntada. Por fin, puse una margen a los cuatro bordes de
células gracia al padding : 4px.
Código CSS
34
Para acabar, coloqué el menú en la página.
Código CSS
Resultado
No obstante, encontré que el design era un poco primitivo. De este hecho,
elegí crear imágenes con Photoshop. Photoshop es un software de retoque, y de
tratamiento y de diseño asistido por ordenadores editado por Adobe. Es
principalmente usado por el tratamiento de fotografías numéricas, pero sirve
también a la creación de imágenes. Me permití gracia a la utilización de calcos
crear los diferentes botones que forman parte de la aplicación. Luego coloqué
estas imágenes al centro de mi página como lo hice en HTML/CSS.
Código HTML
35
Código CSS
Resultado
Los botones me permiten igualmente traer un poco de relievo a las diferentes
páginas web de la aplicación.
Para acabar esta parte, voy a explicar cómo hice para programar la galería de
imágenes y para poner videos en las páginas de la aplicación web.
La galería de imágenes
Para hacer una galería de imágenes hay varias posibilidades. Se puede hacerla
en HTML/CSS puro, pero el inconveniente es que el propietario de la aplicación
tendría que poner las manos en el código para cambiar, añadir, o borrar una
imagen. Hay otra opción que es más simple de uso para el propietario y el
programador : utilizar un software gratis, que genera la galería gracia a un script
36
JavaScript. El software que utilicé, se llama svBuilder. Este último permite hacer la
galería como lo deseamos, es decir, se puede elegir el color de fondo, el estilo de
la galería, el color del cuadro que rodea las imágenes, y mucho más elementos.
Además, este software permite al propietario añadir, cambiar y borrar fácilmente
las imágenes. Sólo tiene que abrir la galería en el software, hacer los cambios, y
después publicar. En efecto, los cambios se hacen automáticamente, porque
svBuilder genera una página HTML y un script. Normalmente, el script no cambia,
sólo es la pagina HTML que cambia cuando el propietario hace cambios.
2
1
3
1
1
Aquí se puede añadir (1), girar (2) o borrar (3) las imágenes.
37
Aquí se puede cambiar el estilo de la galería. A izquierda es el menú para
hacer todos los cambios, y a derecha se ve el resultado de los cambios.
1
2
 Aquí se salva la pagina HTML que va a hacer los cambios preguntados.
 Aquí es el script JavaScript que está generado por el software.
38
Para incluir este script en mis páginas HTML/CSS, utilicé la etiqueta <script>.
La etiqueta script permite insertar un bloque de código en la parte HEAD o BODY
de un documento HTML. El lenguaje de script utilizado por defecto es el
JavaScript, pero es posible especificar el lenguaje o sea en la etiqueta META o sea
al nivel del atributo “language” del elemento SCRIPT. Esta etiqueta permite
igualmente hacer referencia a un recurso externo en la página.
Sus atributos específicos son :
- Defer => indique al servidor si el script modifica o no el contenido lado
cliente.
- Language => precisa el nombre del lenguaje de script utilizado
- Src => indique el camino del fichero al cual la etiqueta hace referencia
- Type => define el lenguaje de script usado
Código HTML
Código CSS
39
Resultado
Los videos
Para insertar video en la aplicación, utilicé la etiqueta <video>. Ofrece una
solución simple, nativa para los navegadores para la integración de un video en
una página web. Permite igualmente proponer una alternativa a la utilización de
Flash para las plataformas que no soportan (iPhone, iPod, iPad, …).
Código HTML
El atributo src define la dirección del fichero video, como para la etiqueta
<img> cuando se trataba de una imagen. Es posible proponer a los usuarios de la
aplicación varios formatos diferentes indicando los tipo MIME gracia al atributo
type. En efecto para almacenar videos se necesita tres elementos. Primero un
formato contenedor, se lo reconoce a la extensión del fichero en general : AVI,
MP4, MKV y mucho más. Segundo, un códec audio, es el formato del sonido del
video, en general comprimidos. Pueden ser MP3, AAC, OGG, y otros. Tercero, se
necesita un códec video, es el formato que va a comprimir las imágenes. El
problema es que no son todos gratis. Los principales para el web son H.264, Ogg
Theora y WebM. Este último es gratis, libre y es el más reciente. Además es el
códec video propuesto por Google. Por fin, para fijar las posibilidades de control
de la video es decir, lectura, pausa, antes y atrás, hay que poner el atributo
controls.
40
Código CSS
Resultado
Después de haber presentado la parte gráfica, voy a explicar la parte JAVA. En
esta sub-parte, desarrollaré la creación de la base de datos, los enlaces ODBC hacia
la base. Presentaré también Tomcat y cómo funciona. Y por fin, a explicar cómo
programé las servlets Agenda y News.
La parte JAVA
Java es un lenguaje de programación orientado a objetos, desarrollado por
Sun Microsystems a principios de los años 90. Las aplicaciones Java están
típicamente compiladas en un bytecode. En lo que concierne la base de datos, es
un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su uso posterior. Existen programas denominados sistemas
gestión de bases de datos, abreviados SGBD, que permiten almacenar y
posteriormente acceder a los datos de forma rápida y estructurada.
Creación de la base de datos
Para crear una base de datos, hay que hacer varias manipulaciones. Primero,
hay que crear una base en Access. Cuando Access se pone en marcha hay que
41
crear una base de datos vacía. Después, hay que crear una o las tabla(s)
necesaria(s) para la aplicación.
Enlace ODBC/JDBC hacia la base de datos
Open DataBase Connectivity16 es un estándar de acceso a bases de datos
desarrollado por SQL Access Group en 1992, el objetivo de ODBC es hacer posible
el acceso a cualquier dato desde cualquier aplicación, sin importar qué sistema de
gestión de bases de datos17 almacene los datos. El software funciona de dos
modos, con un software manejador en el cliente, o una filosofía cliente-servidor.
En el primer modo, el driver interpreta las conexiones y llamadas SQL y las traduce
desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la base
de datos se crea una DSN dentro del ODBC que define los parámetros, ruta y
características de la conexión según los datos que solicite el creador o fabricante.
Java Database Connectivity18 es un derivado inspirado en el mismo, una
interfaz de programación de aplicaciones que permite la ejecución de operaciones
sobre bases de datos desde el lenguaje de programación Java independientemente
del sistema operativo donde se ejecute o de la base de datos a la cual se accede
utilizando el lenguaje SQL del modelo de base de datos que se utilice. Para esto,
hay que configurar una fuente de datos Usuarios hacia Access yendo al panel de
control.
16
ODBC
DBMS
18
JDBC
17
42
En esta pantalla, hay que añadir una fuente de datos y configurarla para la
base de datos creada por Access anteriormente.
Presentación de Tomcat
Apache Tomcat19 funciona como un contenedor de servlets desarrollado bajo
el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las
especificaciones de los servlets y de JavaServer Pages20 de Sun Microsystems. Es
ajustable por ficheros XML y de propiedades, e incluye herramientas para la
configuración y la gestión. También tiene un servidor HTTP.
Tomcat es a menudo asociado con otro servidor web más generalista, en
general Apache. El servidor web se ocupa de las páginas web tradicionales (.html,
.php por ejemplo). Delega a Tomcat las páginas que son aplicaciones web Java, por
ejemplo, Servlet o JSP.
Instalación de Tomcat
Para instalar a Tomcat hay varias manipulaciones. Primero, hay cargar un JDK21
que es un software que provee herramientas de desarrollo para la creación de
programas en Java. Se puede cargar en la página de Oracle :
19
20
21
también llamado Jakarta Tomcat o simplemente Tomcat
JSP
Java Development Kit
43
http://www.oracle.com/technetwork/java/javase/downloads/index.html.
Segundo, hay que cargar Tomcat en la página de Apache :
http://tomcat.apache.org/ y instalarlo. Para instalarlo, hay que abrir y
descomprimir el archivo zip.
Tercero, hay que actualizar la variable de entorno JAVA_HOME, precisando el
repertorio de instalación Java. Es posible actualizarla de dos maneras, o sea con el
terminal o sea en los repertorios.
Con el terminal
Con los repertorios
Para arrancar Tomcat hay que ir en el repertorio “bin” y doble-clicar en
startup.bat o arrancarlo en el terminal.
44
Es la ventana que se abre cuando tomcat está arrancado.
La última línea significa que tomcat arranqué bien. Y cuando se pone
http://localhost:8080/ en un navegador internet, se llega a la página de Apache.
Ahora que tomcat está arrancado, hay que ejecutar servlets. En la parte
siguiente voy a explicarlo.
Ejecución de las servlets
Para ejecutar servlet hay que actualizar otra variable de entorno, que se llama
CLASSPATH. En el CLASSPATH, hay que poner, en más del CLASSPATH actual, el
enlace hacia el archivo “servlet-api.jar” que se encuentra en el repertorio
“tomcat/lib”.
45
CLASSPATH=%CLASSPATH%;C:\Users\Evodie Usuario\Desktop\tomcat\lib\servlet-api.jar
Ahora, solo queda a ejecutar la servlet en el navegador internet pusiendo :
Http://localhost:8080/vide/servlet/nombre_de_la_servlet
Para acabar esta sub-parte voy a explicar cómo programé las diferentes
servlets.
Programación de las servlets
Primero presentaré la servlet Agenda.java y luego la servlet News.java.
La servlet Agenda.java
Antes de empezar a programar, hube que crear la tabla SQL en la cual habría
los datos.
La tabla agenda
Agenda
Fecha_espectáculo
Horario
Espectáculo
Localización
Todos los datos son de tipo “texto”. Sería posible poner la fecha en tipo
“Fecha” y el horario en tipo “hora”, pero para la visualización era más fácil así.
El objetivo de esta servlet es fijar el programa del teatro “El Principal” en
función del mes. Para esto, hice un formulario “SELECT” donde el usuario puede
seleccionar el mes que le conviene. Las diferentes opciones, es decir los diferentes
meses del año, son en la etiqueta “OPTION”. La elección del usuario está enviada
en la dirección y la recupero gracia a la función getParameter(). La función
getParameter() del objeto HttpServletRequest permite devolver el valor del campo
de que se puso el nombre como argumento.
El formulario lo generé gracia al lenguaje HTML. Para insertar código HTML en
la servlet, hay que poner el código en los out.println().
46
Código JAVA
La línea <input type=”submit” value=”enviar”> me permitió crear un botón
para que los usuarios envíen su elección.
Resultado
Ahora que recuperé la elección del usuario, tuve que fijar el programa en
función del mes elegido. Para esto, hice una demanda SQL que me permitió
recuperar las fechas, los horarios, los espectáculos y las localizaciones asociados al
mes.
Demanda SQL
SELECT date_spec, horaire, libelle, localization
FROM agenda
WHERE MONTH(date_spec)=req.getParameter("mois")
ORDER BY date_spec ASC
47
El atributo “MONTH(date_spec)” me permitió sólo recuperar el numero del
mes para compararlo con el número del mes elegido por el usuario. El “ORDER BY
date_spec ASC” me permitió fijar el programa en el orden cronológico.
Como tenemos el formulario para recuperar la elección del usuario así que la
demanda SQL, podemos empezar a programar la servlet.
Programación de la servlet Agenda
Primero hay que conectarse al driver ODBC/JDBC y a la base de datos creada
por Access con la interfaz JAVA Connection. Luego hay que crear un statement y
ResultSet para ejecutar la demanda SQL.
Código JAVA
Segundo, hay que fijar los datos generados por la demanda SQL. Los puse en
un tablero para que fuera más fácil a leer para los usuarios. La demanda SQL
genera una nueva tabla SQL con los datos deseados. Tuve que recorrer esta nueva
tabla SQL para fijarla. La recorrí con una hebilla while. Además, utilizo el ResultSet
creado anteriormente y la función next() para pasar a la línea siguiente. En la
hebilla, creé las diferentes células que contendrán las informaciones. Por fin, las
fijé en estas células gracia a la función getString(). Su atributo es la posición del
dato en la demanda SQL.
48
Código JAVA
Para que la página HTML generada por la servlet sea la misma que las otras
páginas web de la aplicación, tuve que insertar la página de estilo CSS. Para
insertarla, tuve que colocarla en un repertorio CSS de mi contexto de ejecución22 y
recurrir a este repertorio en mi servlet con la función get.ContextPath(). Además,
utilicé también esta función para insertar las imágenes.
Código JAVA
Resultado
22
Aquí se llama “vide”
49
La servlet News.java
El objetivo de esta servlet, es generar y fijar las diferentes noticas del teatro en
el punto de informaciones interactivo. Primero tuve que crear la tabla SQL que
contiene los datos.
La tabla news
News
Num
Titulo
News
Los datos “titulo” y “news” son de tipo Memo. Este tipo me permitió no tener
un límite para el titulo y la noticia. Al contrario, con el tipo texto, tenemos un
límite de 255 caracteres. El dato “num” es un número_auto, se incrementa
automáticamente cada vez que se añade una noticia en la base de datos. Este
número va a servir para fijar la noticia en función del título elegido por el usuario.
Entonces, tuve que recuperar todos los títulos que estaban en la base de datos y
después las noticias asociadas a los títulos. Para hacer esto, creé dos demandas
SQL, una para recuperar y fijar todos los títulos y la otra para las noticas.
Demanda SQL para los títulos
SELECT titre from news.
Demanda SQL para las noticias
SELECT num, titre, news FROM news WHERE num=" + req.getParameter("news")
Programación de la servlet
Para ejecutar estas dos demandas en la servlet, tuve que crear dos statement,
y dos resultSet. Luego, hube que fijar los resultados de estas dos demandas en la
pagina HTML generada por la servlet. Para esto, hice un formulario “SELECT”23,
que me permitió hacer una lista con los títulos de las noticias en la base de datos.
23
el mismo que para la servlet Agenda
50
Código JAVA
Resultado
Ahora voy a explicar cómo hice para fijar las noticias en función del mes
elegido por el usuario. Utilicé la misma función que para el servlet Agenda, es
decir, getParameter(). Anteriormente, creé un número auto en la tabla SQL, y un
contador en mi código JAVA. Estos dos van a servirme para recuperar y fijar la
noticas elegida. En la demanda SQL presentada más arriba, se puede ver que para
recuperar sólo la noticia asociada al título elegido, comparé el valor de la opción
con el número auto de la base de datos. Luego, fijé el resultado de esta demanda
en un tablero de una célula, que contendrá la noticia. Este tablero no tiene una
altura fija. Su altura depende del tamaño de la noticia, pero la pagina HTML tiene
una altura fija. Si la noticia está demasiado larga, hay un “scrollbar” que se fija y
permite al usuario leer la noticia completa.
Código JAVA
51
Resultado
Para qué el HTML generado sea lo mismo que en las otras páginas de la
aplicación web, utilicé lo mismo procedimiento que para la servlet Agenda, es
decir, la función get.ContextPath().
52
C) Balances
Después de tres meses de periodo de prácticas, el balance de los conocimientos y de
las competencias adquiridos es importante. Tanto sobre el plano técnico como humano. En
una primera parte, haré el balance técnico, donde expondré las diferentes competencias
adquiridas, los problemas encontrados, y explicaré las eventuales añadas de funcionalidades
a la aplicación. Y en una segunda parte, presentaré el balance humano.
1) Balance técnico
Competencias adquiridas
Las competencias adquiridas durante el periodo de prácticas son diversas y
varias, primero para la programación. En primer lugar, ahondé mis conocimientos
en HTML/CSS. En, efecto, el proyecto “aplicación web para el punto de
informaciones interactivo del teatro” me permitió descubrir algunas etiquetas
HTML, todavía desconocidas hasta allí. Por ejemplo, la etiqueta <video>24 que es
una novedad en HTML5. Adelante, puedo insertar videos, precisando sus
dimensiones, poner una imagen en el video, fijar el panel de control y otras
funcionalidades. Además, descubrí la etiqueta <script>4, que permite insertar un
bloque de código, generalmente JavaScript, en la parte HEAD o BODY de un
documento HTML. Gracia a esta etiqueta, pude crear la galería de imágenes,
presentada en la parte B.
Más allá, de las etiquetas aprendidas, pude perfeccionarme en CSS, es decir,
en la disposición de las diferentes división. En efecto, para el gráfico de la
aplicación, hube de acoplar “div” en otras “div”. Entonces, hube posicionarlas
correctamente para que no haya superpuestos posibles. Tuve que jugar con los
atributos “height”, “width”, “margin”, “padding”, y mucho más.
En segundo lugar, ahondé y puse en práctica mis conocimientos en J2EE
adquiridos durante el tercer semestre. En efecto, la servlet que generó el programa
del teatro fue estrechamente enlazada con lo que hice durante mis prácticas en
clase de BDD (bases de datos). Sin embargo, hube algunas funciones que me
fueron desconocidas. Como por ejemplo, integrar la pagina de estilo CSS a mi
código J2EE; la servlet genera el HTML gracia a los “out.println()”. No obstante,
para que haya una coherencia gráfica, necesité insertar el resultado de mi servlet
en mi página web. Para eso, hube de colocar mi página de estilo en la raíz del
contexto25, luego recurrir a la función “get.ContextPath()” para qué mi servlet
pueda integrar la pagina de estilo CSS al código HTML. Así, logré colocar la
programación del teatro en la parte central de mi pagina HTML. Además, el
24
25
Esta última está explicada en la parte B
Contexto de ejecución en Tomcat
53
“get.ContextPath()” me permitió añadir las imágenes y las pestañas.
Ahora, voy a relatar los problemas encontrados durante la fase de
programación pero también los problemas enlazados al proyecto.
Los problemas encontrados
Primero, el tema inicial del periodo de prácticas consistía en programar una
aplicación JAVA. Pero, durante mi candidatura, precisé que deseé hacer mi
proyecto en el campo del web. De este hecho, con mi tutor, Señor Sergio Sanchez,
decidimos transformar la aplicación JAVA en aplicación web. Hube de reflexionar
en una arquitectura adecuada, pero también a los lenguajes que iba a utilizar para
desarrollar la aplicación web.
Luego, el mayor problema enlazado a la escritura del código, fue insertar mi
página de estilo CSS en mi código J2EE. En efecto, tuve que procurar que el HTML
generado por mi servlet sea el mismo que lo de las otras páginas de la aplicación.
Para eso, tuve que insertar la página de estilo CSS a mi servlet. Dado que fue
confrontada a este problema al inicio del proyecto, lo dejé aparte a fin de
concentrarme sobre la parte gráfica y sobre la visualización de los datos fijos ; es
decir todos los datos que son generados por las servlets. El problema enlazado a
las servlets fue finalmente resuelto más fácilmente que lo previsto. Así, pude
acabar generar todos los datos dinámicos – programación y noticias –.
Otro problema
Hube un equívoco entre mi IUT y l’ESPVEG en lo que concierne mi formación
en Francia y el tamaño del proyecto a realizar durante los tres meses de periodo de
prácticas. En efecto, el tamaño del proyecto no dependió del nombre de los
créditos ECTS asignados. Es un sistema utilizado por las universidades europeas
para convalidar asignaturas y, cuantificar el trabajo relativo al estudiante que
trabaja bajo los grados auspiciados por el Espacio Europeo de Educación Superior.
Así ofrece una mejor visibilidad europea de los programas de estudios nacionales,
y constituye por este medio una herramienta que facilita la movilidad de un país al
otro y de una universidad a otra. Pero, en mi caso, los créditos sólo fueron
importantes sobre el plano administrativo – atribución de las bolsas – pero no
tienen una real importancia para la atribución del diploma. De este hecho, el
proyecto que me dimos es realizable en un periodo de cuatro a seis meses.
Además, mi formación en Francia no fue claramente explicada y acarree una
confusión entre las dos universidades. Los diplomas no son los mismos entre
Francia y España, así podremos asociar mi formación a la universidad francesa a un
grado superior español de dos años efectuado fuera de la universidad.
54
Para completar y acabar este balance técnico, voy a explicar las optimizaciones
que habrían podido ser aportadas a la aplicación.
Las añadas de funcionalidades
Con más tiempo, habría podido añadir algunas funcionalidades a la aplicación.
Estas funcionalidades habrían facilitado la gestión de los datos, los cuales son
datos fijos o dinámicos. En efecto, habría sido posible hacer una base de datos
conteniendo las imágenes y los videos.
Explicaciones:
a. Crear la tabla en la base de datos
Imagenes
Id
Nombre
Enlace_imagen
Entonces cada imagen tendrá como información: un identificador único, un
nombre y el enlace de su imagen en el servidor. Estas informaciones serán
apuntadas en la base de datos, mientras que la imagen y su miniatura serán en una
carpeta “imágenes” del servidor. La demanda SQL que permite crear la tabla es :
Create table Imágenes (‘id’ int unsigned not null auto_increment,
‘nombre’ varchar(100) not null,
‘enlace_imagen’ varchar(100) not null,
Primary key(‘id’)
)
La tabla se llama “Imágenes” y el identificador (‘id’) creado es único y se
incrementará automáticamente a cada añada de imágenes.
b. Hacer la página de administración
La página de administración es una página HTML que permitirá añadir
imágenes a la base de datos. Primero, hay que crear la osamenta de la página en
HTML y poner un poco de CSS para que eso sea más agradable a la vista. En el
código HTML, habrá que poner un tablero. Para hacer un tablero en HTML,
55
utilizamos la etiqueta <form>.
Ejemplo de tablero en HTML
<form method="post" action="nombre_de_la_servlet" enctype="multipart/form-data">
<fieldset>
<legend> Ajout d'une image </legend>
<label for="nom">Nom</label>
<input type="text" id="nom" name="nom"/>
<label for="image1">Image</label>
<input type="file" id="image1" name="image1"/>
<label for="image2">Miniature</label>
<input type="file" id="image2" name="image2"/>
<button type="submit">Uploader</button>
</fieldset>
</form>
En la etiqueta <form>, el atributo “enctype” cuyo el valor es “multipart/formdata”. Esto significa que el formulario codifica los datos del formulario, esto es
indispensable para cargar imágenes. Una vez más, sería mejor añadir CSS para que
esto sea menos primitivo.
Luego, habría que crear una tabla para que podamos visualizar las imágenes.
Una tabla en HTML se crea gracia a la etiqueta <table>.
Ejemplo de tabla en HTML:
<table summary="Lista de imágenes de la galeria">
<caption>Lista de imágenes</caption>
<tr>
<th> Id </th>
<th> Nombre </th>
<th> Borrar </th>
</tr>
</table>
También podemos añadir CSS para que la tabla sea un poco más grafica.
c. Añadir imágenes
Para añadir imágenes, habría que crear una servlet si programamos en J2EE
(es el caso en este proyecto), pero también podremos crear un fichero PHP.
56
Pongamos el caso del J2EE. Para programar una servlet que permitiría añadir
imágenes, hay diferentes etapas a realizar.
A- Conectarse a la base de datos
B- Escribir la demanda SQL26 correspondiente y ejecutarla
C- Cerrar todas las conexiones creadas antes.
Evidentemente, habría que recurrir a esta servlet en la página HTML para que
puedan intercambiar informaciones
d. Administrar las imágenes
Expliqué en la etapa precedente, como añadir imágenes a la base de datos, sin
embargo, también sería útil poder borrarlas. De este hecho, hay que crear una
servlet del mismo tipo que la de la añada de imágenes, pero permitiría borrarlas.
Para hacer simple, basta con cambiar la demanda SQL y llamarla en la página
HTML.
La página de administración podría parecer a esta:
Ahora que la página de administración está acabada, voy a explicar la galería
propiamente dicha.
26
Structured Query Language
57
e. La galería
Para crear la galería, existe varias soluciones: la más simple es hacer un script
en JavaScript o PHP. Cuando, creé la galería de imágenes utilicé un software gratis,
llamado svBuilder27.
En lo que concierne la base de datos de videos, el procedimiento es el mismo,
sólo hay la tabla SQL que cambia.
Creación de la tabla video
Videos
Id
Nombre
Enlace_video
Create table Videos (‘id’ int unsigned not null auto_increment,
‘nombre’ varchar(100) not null,
‘enlace_video’ varchar(100) not null,
Primary key(‘id’)
)
La tabla se llama “Videos” y el identificador (‘id’) creado es único y se
incrementará automáticamente a cada añada de imágenes.
Es claro que añadir imágenes y videos a la base de datos habría facilitado la
gestión de los datos, pero también habría que poder gestionar los datos que ya
son generados por servlets: La programación del teatro y las noticas. Para hacer
esto, habría que crear nuevas páginas de administración que tendrían las mismas
estructuras que las de las imágenes y videos. En efecto, necesitamos de una
osamenta HTML, adornada de CSS para dar un aspecto más agradable a la vista y
más práctico. Esta osamenta sería compuesta con un tablero <form> y de una tabla
<table>.
27
Lo expliqué en la parte B
58
Luego crear las servlets siguientes :
- Añada de datos a la base
- Modificación de datos a la base
- Supresión de datos a la base
Así, tendría sido posible modificar la programación o las noticias, añadir
nuevos espectáculos o nuevas noticas, y hasta borrar cuando son demasiado
obsoletas o si fue un error durante su creación.
Ahora voy a presentar el balance humano de estos tres meses de periodo de
prácticas. Este balance será recortado en tres sub-partes. Primero, explicaré cómo
me organizó durante estos tres meses, luego hablaré del trabajo en autonomía, y
por fin, de mi adaptación en el país y en la ciudad de Vilanova i la Geltrú.
2) Balance humano
Organización de las tareas
Durante mi periodo de prácticas, aprendí gestionar mi tiempo de trabajo y
organizar las diferentes tareas a realizar. En efecto, el proyecto era bastante
consecuente porque se trataba de un proyecto EPS “European Project Semester”.
Al inicio del proyecto, había redactado una planificación para los dos meses de
trabajo, no obstante, hube que modificarlo desde la aparición de los problemas
enlazados al código J2EE, y entonces concentrarme en otras tareas. Así, todas las
semanas, establecía una planificación que me indicaba lo que tenía que hacer
durante la semana. Esto me permití mejor organizarme a fin de poder acabar la
aplicación a tiempo y no estar a falto de tiempo para la redacción de mi memoria.
En efecto, ocho semanas parecen largas pero pasa rápidamente y una mala gestión
me habría penalizada en el acabado del proyecto y de la memoria. El respeto de
los plazos es importante, alcanzó los principales objetivos que eran visualizar las
diferentes informaciones sobre el teatro “El Principal” de Vilanova i la Geltrú, todo
eso en una aplicación web fácil y agradable de uso.
Ahora, voy a explicar lo que me traje este periodo de prácticas sobre el plano
humano, en particular el trabajo en autonomía.
El trabajo en autonomía
En principio, un “European Project Semester” está realizado por cuatro a seis
estudiantes, sin embargo, era sola a efectuar la aplicación web para el punto de
informaciones interactivo del teatro. Pues gané muchísimo en autonomía. En
efecto, mi tutor Señor Sergi Sanchez, me quedó tomar todas las decisiones en lo
59
que concierne las tecnologías y la arquitectura elegidas, pero también la parte
gráfica de la aplicación. Además, tuve un trabajo de búsqueda consecuente que
me permitió dominar mi tema y resolver las dificultades a las cuales hube que
hacer frente. En efecto tuve que hacer muchísimas búsquedas por internet para
encontrar las etiquetas y atributos adecuados en mi código HTML, pero también
reemprender mis cursos de base de datos para la programación de las servlets.
Para resumir, este proyecto me aprendí a trabajar en autonomía y tomar las
decisiones apropiadas sola.
Para acabar este balance humano, voy a hablar de mi adaptación en España y
en Vilanova i la Geltrú.
La adaptación en un país extranjero con un idioma diferente
Quise hacer mi periodo de prácticas de fin de carrera en un país extranjero
porque considero que es una bonita experiencia a realizar. Deseé hacerlo en
España ya que España es un país que siempre me apasioné. De este hecho, mi
adaptación a su cultura, su modo de vida y su cocina, se hizo muy rápidamente y
sin problemas. En lo que concierne el español, es un idioma que siempre aprecié.
Entonces no tuve dificultades a hacerme entender en la vida de todos los días pero
también durante las reuniones con mi tutor. Además este proyecto, me permitió
mejorarme en español y descubrir otro idioma, el catalán. Igualmente me traje un
mejor conocimiento de la cultura, del modo de vida y de la cocina española y
catalana.
60
Conclusión
Después de haber pasado los tres meses de periodo de prácticas, el balance es muy
positivo. Logré a conducir un proyecto hasta su fin. A pesar de las dificultades encontradas,
aprendí en todos los puntos, tanto sobre el plano humano como técnico. Así, logré a generar
el programa en función del mes y las noticias en función del título elegido por el usuario.
Además, logré a visualizar las informaciones fijas de manera moderna y con un poco de
relieve. Habría deseado ir más lejos en el trámite pero el tiempo fue un freno. Habría
deseado hacer otra aplicación que habría permitido al propietario de la aplicación cambiar
todos los datos, tantos los fijos como los dinámicos. A pesar de todo, alcancé los objetivos
fijados al inicio del periodo de prácticas, y ahora tengo una idea más precisa de lo que es un
proyecto completo y de la organización que hay que tener. Por fin, estoy muy contenta de
haber hecho mi periodo de práctica de fin de carrera, aquí, en Vilanova i la Geltrú a l’Escola
Politècnica Superior d'Enginyeria de Vilanova i la Geltrú. Me aprendí muchas cosas, sobre
todo en lo que concierne la cultura, el modo de vida y el idioma español.
61
Referencias
1. Vilanova i la Geltru tourisme, Gastronomía,
http://www.vilanovaturisme.cat/en/html/sensacions/gastronomia.htm
2. Ajuntament de Vilanova i la Geltru
http://www.vilanova.cat/html/meet_city.html
3. Ajuntament de Vilanova I la Geltru, Gastronomy,
http://www.vilanova.cat/html/gastronomy.html
4. Productes típics a El Vendrell (Tarragona)
http://www.elvendrellturistic.com/productes_tipics.php?idm=fr
5. Xató - Wikipedia, la enciclopedia libre
http://es.wikipedia.org/wiki/Xat%C3%B3
6. Wikipedia, Vilanova I la Geltru
http://es.wikipedia.org/wiki/Vilanova_i_la_Geltr%C3%BA
7. Homepage of theatre “El Principal”, “History of the facility”, 2011
http://www.elprincipal.cat/ca/principal.php
8. Vilanova Turisme webpage
http://www.vilanovaturisme.cat/en
9. Neapolis
http://www.neapolis.cat/
10. El principal
http://www.elprincipal.cat/ca/
11. Insertar un script
http://www.allhtml.com/articles/detail/260
12. La etiqueta script
http://veron.univ-tln.fr/ENSEIGNEMENT/L7/php3/node3.html
13. Insertar código JavaScript
http://www.editeurjavascript.com/cours/cours_02.php
14. HTML5 et la balise video – Alsacreations
http://forum.alsacreations.com/topic-2-42177-1-resolu-HTML5-et-la-balise-video.html
62
15. Insertar video
http://www.commentcamarche.net/forum/affich-1570941-html-insertion-video
16. ServletContext (Java EE 5 SDK)
http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html
17. Les formulaires HTML | CommentCaMarche
ht tp://www.commentcamarche.net/contents/html/htmlform.php3
19. Wikipedia, tomcat
http://fr.wikipedia.org/wiki/Apache_Tomcat
20. Apache
http://www.apache.org/
21. Wikipedia, Oracle
http://fr.wikipedia.org/wiki/Oracle_Database
22. Oracle
http://www.oracle.com/index.html
63
Descargar