]> git.llucax.com Git - z.facultad/75.43/tp1.git/blob - docs/informe/informe.html
Bugs ortográficos.
[z.facultad/75.43/tp1.git] / docs / informe / informe.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html lang="es">
3     <head>
4         <title>Informe Trabajo Práctico 1</title>
5         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
6     </head>
7     <body>
8         <h1>Carátula</h1>
9         <p><strong>Introducción a Sistemas Distribuidos (75.43)</strong></p>
10         <p>Trabajo Práctico Número 1</p>
11         <h2>Grupo</h2>
12         <dl>
13             <dt>Número de grupo:</dt>
14             <dd><p>10</p></dd>
15             <dt>Nombre del host:</dt>
16             <dd><p>lb10</p></dd>
17             <dt>Nombre de usuario:</dt>
18             <dd><p>sisdis10</p></dd>
19         </dl>
20         <table border="1" summary="Integrantes">
21             <caption>Integrantes</caption>
22             <tr><th>Nombre</th><th>Padrón</th><th>Módulo desarrollado</th></tr>
23             <tr>
24                 <td>Leandro Lucarella</td>
25                 <td>77891</td>
26                 <td>Actualización de socios y administración de créditos</td>
27             </tr>
28             <tr>
29                 <td>Jonathan Schein</td>
30                 <td>80083</td>
31                 <td>Actualización de información de FAQ's</td>
32             </tr>
33             <tr>
34                 <td>Sebastián Arena</td>
35                 <td>COMPLETAR</td>
36                 <td>COMPLETAR</td>
37             </tr>
38         </table>
39         <h1>Índice</h1>
40         <ol>
41             <li><a href="#disenio">Diseño de las páginas</a></li>
42             <li><a href="#desarrollo">Desarrollo</a></li>
43             <li><a href="#herramientas">Herramientas de desarrollo</a></li>
44             <li><a href="#configuracion">Configuración del servidor</a></li>
45             <li><a href="#instalación">Instalación</a></li>
46             <li><a href="#uso">Modo de uso</a></li>
47         </ol>
48         <h1><a name="disenio">Diseño de las páginas</a></h1>
49         <h2><a name="index_php">index.php</a></h2>
50         <p>
51             Esta página es el punto de partida del sistema. Normalmente se
52             encarga de mostrar el <a href="#admin_login_php"><span
53             lang="en">login</span></a>, pero puede encargarse también de
54             resumir la sesión o de ir directo a la <a
55             href="#admin_asociarse_php">asociación</a> de administradores si
56             correspondiese (por ejemplo, si se cerró el navegador y se vuelve
57             a abrir en un corto período de tiempo; o si es la primera vez que
58             se usa el sistema y todavía no hay 2 administradores asignados;
59             respectivamente).
60         </p>
61         <h2><a name="admin_login_php">admin.login.php</a></h2>
62         <p>
63             Es la página que realmente se encarga de hacer el
64             <span lang="en">login</span>. Debe ingresarse el código de usuario
65             (sea socio o asesor) y el password.
66             Si el usuario no existe, o si está mal el password, etc, se muestra
67             el correspondiente mensaje de error.
68         </p>
69         <div align="center">
70             <img src="admin.login.jpg"
71                 alt="Captura de pantalla de admin.login.php" />
72         </div>
73         <h2><a name="admin_logout_php">admin.logout.php</a></h2>
74         <p>
75             Esta página, al igual que <a href="#index_php">index.php</a>, no
76             tiene contenido propio, sino que se encarga de borrar todos los
77             datos de la sesión del usuario y luego muestra la pantalla de <a
78             href="#admin_login_php"><span lang="en">login</span></a>
79             ingresarse el código de usuario (sea socio o asesor) y el password.
80             Si el usuario no existe, o si está mal el password, etc, se muestra
81             el correspondiente mensaje de error.
82         </p>
83         <h2><a name="admin_asociarse_php">admin.asociarse.php</a></h2>
84         <p>
85             Esta página asocia a un integrante del grupo (presente en el archivo
86             int_2005.txt si es socio o ase_2005.txt si es asesor). Si el sistema
87             todavía no tiene 2 administradores asignados, los usuarios que se
88             asocien, serán administradores (el sistema lo advierte, si es el
89             caso). Una vez asignados 2 administradores, la única forma de
90             cambiarlos es a través de la <a href="#admin_admin_php">página para
91             ceder los permisos de administración</a> (accesible sólo por los
92             administradores).
93         </p>
94         <div align="center">
95             <img src="admin.asociarse.jpg"
96                 alt="Captura de pantalla de admin.asociarse.php" />
97         </div>
98         <h2><a name="admin_log_php">admin.log.php</a></h2>
99         <p>
100             Esta página muestra el <span lang="en">log</span> de actividades del
101             usuario. Permite elegir la fecha desde la cual se quieren ver las
102             actividades.
103         </p>
104         <div align="center">
105             <img src="admin.log.jpg"
106                 alt="Captura de pantalla de admin.log.php" />
107         </div>
108         <h2><a name="admin_creditos_php">admin.creditos.php</a></h2>
109         <p>
110             En esta página el administrador puede agregar créditos a los
111             usuarios. Para realizar esta tarea el administrador debe ingresar su
112             password para corroborar su identidad como un mecanismo de seguridad
113             extra (ya que de todas formas sólo un usuario con permisos de
114             administrador puede realizar esta tarea). De esta manera, si por
115             alguna razón un usuario se quedara sin créditos para preguntar,
116             podría solicitar al administrador que le asigne algunos créditos.
117             Las razones de aprobación y la cantidad de créditos otorgados, queda
118             enteramente a consideración del administrador.
119         </p>
120         <div align="center">
121             <img src="admin.creditos.jpg"
122                 alt="Captura de pantalla de admin.creditos.php" />
123         </div>
124         <h2><a name="admin_admin_php">admin.admin.php</a></h2>
125         <p>
126             A través de esta página un administrador puede <em>ceder</em> sus
127             permisos de administración. Una vez cedidos, este usuario dejará de
128             ser administrador y comenzará a serlo el nuevo usuario asignado.
129             Al ser esta acción de un compromiso considerable, el administrador
130             debe volver a ingresar su password para confirmarlo (aunque ya esté
131             logueado y sólo los administradores puedan realizar esta acción).
132         </p>
133         <div align="center">
134             <img src="admin.admin.jpg"
135                 alt="Captura de pantalla de admin.admin.php" />
136         </div>
137                                 <h2><a name="faq_listarPreguntas_php">faq.listarPreguntas.php</a></h2>
138         <p>
139             Esta página lista las preguntas ingresadas en el sistema. Para cada
140                                                 pregunta, se muestra la fecha de creación, el nombre de autor, con su 
141                                                 correspondiente foto, la pregunta en si, la posibilidad de accederá a 
142                                                 todas las respuestas para dicha pregunta, así como también la posibilidad
143                                                 de responder la pregunta ( solo en caso que quien esta logueado en el sistema
144                                                 no sea el mismo usuario que formulo la pregunta ). El listado de preguntas 
145                                                 aparece paginado cada 2 ( se muestran dos preguntas por pantalla ). Debajo de
146                                                 las preguntas aparece el navegador. En caso que el usuario logueado sea un 
147                                                 administrador, en la parte inferior de cada pantalla aparece un link que permite
148                                                 acceder a la página de baja de preguntas.
149         </p>
150         <div align="center">
151             <img src="faq.listarPreguntas.jpg"
152                 alt="Captura de pantalla de faq.listarPreguntas.php" />
153         </div>
154                                 <h2><a name="faq_listarRespuestas_php">faq.listarRespuestas.php</a></h2>
155         <p>
156             El listador de respuestas muestra ordenadas por ranking las respuestas a una 
157                                                 pregunta seleccionada. Utiliza el paginador, al igual que el listador de preguntas, 
158                                                 y también lo hace de a dos respuestas por pantalla. Muestra la información del usuario
159                                                 que genero la respuesta ( foto y nombre ), la respuesta y el ranking de la misma. Si la
160                                                 respuesta todavía no fue evaluada por el autor de la pregunta, muestra un mensaje que 
161                                                 indica que no hay ranking para esa pregunta. Si el usuario que esta accediendo a la lista
162                                                 de respuestas es el mismo que formulo la pregunta y todavía no calificó a la misma, aparece 
163                                                 un botón que lo redirecciona a la página de calificación de preguntas. 
164         </p>
165         <div align="center">
166             <img src="faq.listarRespuestas.jpg"
167                 alt="Captura de pantalla de faq.listarRespuestas.php" />
168         </div>
169                                 <h2><a name="faq_ingresarPregunta_php">faq.ingresarPregunta.php</a></h2>
170         <p>
171             Desde el menú de la aplicación se puede acceder a esta página. En caso de que el 
172                                                 usuario logueado tenga los créditos para hacerlo, podrá formular una pregunta que 
173                                                 se publicara en la lista de preguntas ( faq.listarPreguntas.php ). Si el usuario no
174                                                 contara con los créditos suficientes, un warning lo alertara y le sugerirá que 
175                                                 pida créditos al administrador del sistema. El usuario podrá ingresas desde esta pantalla
176                                                 tantas preguntas como créditos tenga. 
177         </p>
178         <div align="center">
179             <img src="faq.ingresarPregunta.jpg"
180                 alt="Captura de pantalla de faq.ingresarPregunta.php" />
181         </div>
182                                 <h2><a name="faq_responderPregunta_php">faq.responderPregunta.php</a></h2>
183         <p>
184             Desde el listado de preguntas se puede acceder a la pantalla que permite responder 
185                                                 la pregunta. La misma muestra en el encabezado la pregunta que se esta respondiendo. 
186                                                 Al lograr un ingreso satisfactorio de una respuesta, aparece un mensaje que avisa al 
187                                                 usuario que su respuesta fue dada de alta en el sistema. Esta respuesta quedara pendiente
188                                                 de calificar por parte del autor de la pregunta que se esta respondiendo. Cualquier usuario
189                                                 logueado en el sistema puede acceder a responder preguntas. Únicamente no podrá responder una
190                                                 pregunta el autor de la misma 
191         </p>
192         <div align="center">
193             <img src="faq.responderPregunta.jpg"
194                 alt="Captura de pantalla de faq.responderPregunta.php" />
195         </div>
196                                 <h2><a name="faq_calificarRespuesta_php">faq.calificarRespuesta.php</a></h2>
197         <p>
198             La pantalla de calificación de respuesta solo puede ser accedida por el autor de
199                                                 la pregunta que tiene dicho ítem como respuesta. En esta pantalla, desde un combo, se
200                                                 puede elegir alguna de las cuatro categorías de calificación ( a cada una le corresponde un 
201                                                 puntaje ). Inmediatamente se le acreditara a quien pregunta tantos créditos como puntos valgan la 
202                                                 calificación de la respuesta. La respuesta solo podrá ser calificada una vez, luego de ser calificada,
203                                                 desaparecerá el botón que permite acceder a la pantalla para ese ítem. 
204         </p>
205         <div align="center">
206             <img src="faq.calificarRespuesta.jpg"
207                 alt="Captura de pantalla de faq.calificarRespuesta.php" />
208         </div>
209                                 <h2><a name="faq_desactivarPregunta_php">faq.desactivarPregunta.php</a></h2>
210         <p>
211                                          Desde esta pantalla, los administradores pueden dar de baja una pregunta. De todas formas la pregunta
212                                          seguirá existiendo, con sus respuestas, pero no sera mostrada mas por el listador. Para acceder a la pantalla
213                                          de baja de preguntas, se debe hacer click sobre el link que aparece en la página listarPreguntas.php. Este link
214                                          solo aparece en caso que el usuario logueado tenga privilegios de administrador. 
215         </p>
216         <div align="center">
217             <img src="faq.desactivarPregunta.jpg"
218                 alt="Captura de pantalla de faq.desactivarPregunta.php" />
219         </div>
220         <!--
221         
222         COMPLETAR!!!!
223
224         Template:
225
226         <h2>.php</h2>
227         <p>
228         </p>
229         <div align="center">
230             <img src=".jpg"
231                 alt="Captura de pantalla de .php" />
232         </div>
233
234         -->
235         <h1><a name="desarrollo">Desarrollo</a></h1>
236         AGREGAR DESCRIPCION DE LO HECHO!!!!
237         <h2><a name="desarrollo_archivos">Formato de Archivos</a></h2>
238         <p>
239             Todos los archivos del sistema se almacenan en el directorio data.
240             Varios archivos son creados en <em>tiempo de ejecución</em> por el
241             servidor web, por lo tanto este directorio debe tener permisos de
242             escritura para el usuario con el que corre dicho servidor.
243             Además las fotos de los usuarios se guardan en el directorio fotos y
244             también se crean en <em>tiempo de ejecución</em>, por lo tanto este
245             directorio también debe tener permisos de escritura para el servidor
246             web. El nombre del archivo de la foto de un usuario es su número de
247             registro (si es socio) o código (si es asesor).
248         </p>
249         <p>
250             A continuación se describe el formato de cada archivo.
251         </p>
252         <h3><a name="desarrollo_archivos_int_2005_txt">int_2005.txt</a></h3>
253         <p>
254             Este archivo tiene formato <acronym lang="en"
255             title="Comma Separated Values">CSV</acronym> y está cargado previo
256             a la ejecución del sistema con todos los integrantes que
257             potencialmente serán <em>socios</em> del sistema.
258             Los campos del archivo son:
259         </p>
260         <ol>
261             <li>Número de registro</li>
262             <li>Nombre del usuario</li>
263             <li>Apellido del usuario</li>
264         </ol>
265         <h3><a name="desarrollo_archivos_ase_2005_txt">ase_2005.txt</a></h3>
266         <p>
267             Este archivo tiene formato <acronym lang="en"
268             title="Comma Separated Values">CSV</acronym> y está cargado previo
269             a la ejecución del sistema con todos los integrantes que
270             potencialmente serán <em>asesores</em> del sistema.
271             Los campos del archivo son:
272         </p>
273         <ol>
274             <li>Código (formato A+año+número correlativo)</li>
275             <li>Nombre del usuario</li>
276             <li>Apellido del usuario</li>
277         </ol>
278         <h3><a name="desarrollo_archivos_users_csv">users.csv</a></h3>
279         <p>
280             Este archivo tiene formato <acronym lang="en"
281             title="Comma Separated Values">CSV</acronym> y se crea en
282             <em>tiempo de ejecución</em>. En él se almacenan los usuarios
283             registrados en el sistema.
284             Los campos del archivo son:
285         </p>
286         <ol>
287             <li>
288                 Número de registro/Código (dependiendo de si es socio o
289                 asesor)
290             </li>
291             <li>Contraseña del usuario</li>
292             <li>Dirección de correo electrónico del usuario</li>
293         </ol>
294         <h3><a name="desarrollo_archivos_admin_txt">admin.txt</a></h3>
295         <p>
296             Este archivo tiene formato de texto plano y almacena un número de
297             registro o código (según sea socio o asesor) por línea (aunque
298             también puede ser visto como un archivo <acronym lang="en"
299             title="Comma Separated Values">CSV</acronym> con un sólo campo).
300             Su función es almacenar los identificadores de los 2 administradores
301             del sistema y es creado en <em>tiempo de ejecución</em>.
302         </p>
303         <h3><a name="desarrollo_archivos_creditos_csv">creditos.*.csv</a></h3>
304         <p>
305             Este archivo tiene formato <acronym lang="en"
306             title="Comma Separated Values">CSV</acronym> modificado, ya que
307             incluye en los primeros 11 bytes un <em>índice</em> a la última
308             entrada. Es decir, en los primeros 11 bytes se almacena la posición
309             del archivo en la que se encuentra el último <em>registro</em> CSV.
310             Dicha posición, se almacena en codificación ASCII como un número de
311             10 cifras (con ceros delante) y un caracter de fin de línea al
312             final. Como normalmente sólo importa el último registro del archivo,
313             esto acelera mucho, ya que no hay que recorrerlo completo para
314             obtener dicho registro. De esta manera el acceso es casi directo y
315             se conserva la historia de la variación de los créditos.
316         </p>
317         <p>
318             Este archivo se crea en <em>tiempo de ejecución</em>, uno por cada
319             socio, en el momento en que se registra en el sistema. El nombre
320             del archivo incluye el número de registro del socio
321             (creditos.[nro_registro].csv) y en él se almacena la
322             historia de créditos de dicho usuario.
323             Los campos del archivo son:
324         </p>
325         <ol>
326             <li>Timestamp con la fecha en la que se creó la entrada</li>
327             <li>Cantidad de créditos que tiene el socio</li>
328             <li>
329                 Cantidad de respuestas con <span lang="en">ranking</span>
330                 2 o más que le falta para obtener los 5 créditos extra
331             </li>
332             <li>Cantidad de días que lleva sin preguntar</li>
333         </ol>
334         <p>
335             Este archivo se actualiza en etapas distintas (siempre que se
336             actualiza, se agrega un nuevo registro con los nuevos datos y se
337             actualiza el <em>índice</em>). Cuando el usuario ingresa al sistema,
338             se recalculan los créditos para ver si se le deben restar por
339             cantidad de días sin preguntar. Se resta 1 crédito por cada 30 días
340             sin responder. El cálculo realizado es el siguiente:
341         </p>
342         <p>
343             Llamaremos FECHA al campo 1 del registro del archivo leído, CREDITOS
344             al campo 2 y DIAS al campo 4. Llamaremos FECHA_ACTUAL a la fecha del
345             instante del login. Ambas fechas expresadas como timestamps. Para
346             calcular la diferencia en días entre 2 fechas, simplemente se restan
347             y se divide por 86400 (cantidad de segundos en un día). Entonces
348             para saber la cantidad de días que hace que no se pregunta en el
349             instante del login (DIAS_NUEVO), se realiza: <code>DIAS_NUEVO =
350             DIAS + (FECHA_ACTUAL - FECHA) / 86400</code>. Luego, si DIAS_NUEVO
351             es más que 30, se calculan los nuevos créditos (CREDITOS_NUEVO) como
352             <code>CREDITOS_NUEVO = CREDITOS - (DIAS_NUEVO / 30)</code> y la
353             nueva cantidad de días sin preguntar restantes (DIAS_RESTO) como
354             <code>DIAS_RESTO = DIAS_NUEVO % 30</code> (siendo % el resto de la
355             división entera), ya que estos días sin preguntar <em>extra</em> que
356             todavía no llegan a sumar 30 como para restar créditos, deben ser
357             considerados para futuros cálculos. Finalmente en el archivo de
358             créditos se guarda un nuevo registro con los datos CREDITOS_NUEVO y
359             DIAS_RESTO en los campos 2 y 4 respectivamente. El resto de los
360             campos (exceptuando la fecha, que siempre se guarda con la fecha de
361             modificación del archivo) quedan intactos.
362         </p>
363         <p>
364             El otro caso en donde se actualiza este archivo (se actualizan los
365             créditos) es cuando un socio realiza una pregunta. En este caso,
366             solamente se resta un crédito (campo 2) y pone se resetean los días
367             sin preguntar (el campo 4 se pone en cero).
368         </p>
369         <p>
370             Finalmente, el último caso en donde se actualiza este archivo (se
371             recalculan los créditos) es cuando un usuario califica una
372             respuesta. Se suma a CREDITOS la calificación de dicha respuesta y
373             si la respuesta está calificada con un valor igual o superior a 2
374             se suma uno al campo 3 (BONUS) y se verifica si es igual o superior
375             a 5 (en realidad jamás será superior a 5). Si lo es, se pone en cero
376             BONUS y se suma 5 CREDITOS.
377         </p>
378         <h3><a name="desarrollo_archivos_log_csv">log.*.csv</a></h3>
379         <p>
380             Este archivo tiene formato <acronym lang="en"
381             title="Comma Separated Values">CSV</acronym>. y se crea en
382             <em>tiempo de ejecución</em>, uno por cada usuario, en el momento
383             en que se registra en el sistema. El nombre del archivo incluye el
384             número de registro del socio o código del asesor según el caso
385             (log.[nro_registro/codigo].csv) y en él se almacena la el log de
386             actividades (es decir, cada vez que el usuario realiza una acción en
387             el sistema, se agrega una entrada a este archivo que la describe).
388             Los campos del archivo son:
389         <ol>
390             <li>Timestamp con la fecha en la que se creó la entrada</li>
391             <li>Descripción de la acción realizada</li>
392         </ol>
393                                 <h3><a name="desarrollo_archivos_preguntas_csv">preguntas.csv</a></h3>
394         <p>
395             Este archivo tiene formato <acronym lang="en"
396             title="Comma Separated Values">CSV</acronym>. y se crea en
397             <em>tiempo de ejecución</em>. A medida que se van dando de alta las
398                                                 preguntas, se agrega una línea al final. Se guarda toda la información
399                                                 necesaria para poder operar con las preguntas. Cuando una pregunta se 
400                                                 da de baja, <em>no</em> es eliminada de este archivo. De esta forma, 
401                                                 queda un registro histórico de las preguntas que fueron dadas de alta en 
402                                                 el sistema.
403                                                 Los campos del archivo son:
404         <ol>
405             <li>Id de la pregunta</li>
406             <li>Id del usuario autor de la pregunta</li>
407                                                 <li>Timestamp con la fecha de creación de la pregunta</li>
408                                                 <li>Texto de la pregunta</li>
409         </ol>
410                                 <h3><a name="desarrollo_archivos_respuestas_csv">respuestas.csv</a></h3>
411         <p>
412             Este archivo tiene formato <acronym lang="en"
413             title="Comma Separated Values">CSV</acronym>. y se crea en
414             <em>tiempo de ejecución</em>. Cuando se da de alta una respuesta a una
415                                                 pregunta, se da de alta un nuevo registro en este archivo. El id de las 
416                                                 respuestas es simplemente el orden en el que fueron loguadas. Se guarda información
417                                                 de la pregunta que se esta respondiendo para que sea mas sencilla la operatoria con 
418                                                 las respuestas, y pueda trabajar de manera independiente a las preguntas.
419                                                 Los campos del archivo son:
420         <ol>
421             <li>Id de la pregunta que se esta respondiendo</li>
422             <li>Id del usuario autor de la pregunta que se esta respondiendo</li>
423                                                 <li>Id del usuario autor de la respuesta</li>
424                                                 <li>Timestamp con la fecha de creación de la respuesta</li>
425                                                 <li>Texto de la respuesta</li>
426         </ol>
427                                 <h3><a name="desarrollo_archivos_calificacion_csv">calificacion.csv</a></h3>
428         <p>
429             Este archivo tiene formato <acronym lang="en"
430             title="Comma Separated Values">CSV</acronym>. y se crea en
431             <em>tiempo de ejecución</em>. Cuando un usuario autor de una pregunta
432                                                 califica las respuestas a dicha pregunta, se da de alta un registro en este archivo.
433                                                 Luego, se asociara al calificacion a la respuesta correspondiente. Si una respuesta 
434                                                 no aparece en este archivo, es que todavía no fue calificada.
435                                                 Los campos del archivo son:
436         <ol>
437             <li>Id de la respuesta calificada</li>
438             <li>Puntaje</li>
439         </ol>
440                                 <h3><a name="desarrollo_archivos_desactivadas_csv">desactivadas.csv</a></h3>
441         <p>
442             Este archivo tiene formato <acronym lang="en"
443             title="Comma Separated Values">CSV</acronym>. y se crea en
444             <em>tiempo de ejecución</em>. Cuando un administrador da de baja una pregunta,
445                                                 simplemente se ingresa el id de la misma en este archivo. A partir de ese momento, el 
446                                                 listador la ignorará al momento de mostrar las preguntas por pantalla.
447                                                 Los campos del archivo son:
448         <ol>
449             <li>Id de la pregunta</li>
450             <li>Timestamp con la fecha de baja</li>
451         </ol>
452         <h1><a name="herramientas">Herramientas de desarrollo</a></h1>
453         <p>
454             Cada integrante eligió herramientas de desarrollo propias, más allá
455             de las herramientas obligatorias que había que usar
456             indefectiblemente para realizar el TP (como PHP y Apache).
457             A continuación se enumeran las herramientas utilizadas por cada
458             integrante.
459         </p>
460         <h2>Leandro Lucarella</h2>
461         <dl>
462             <dt>Navegador</dt>
463             <dd><p>Mozilla Firefox, w3m</p></dd>
464             <dt>Editor de texto</dt>
465             <dd><p>VIM</p></dd>
466             <dt>Validador</dt>
467             <dd><p>Herramientas de w3c: tidy y el servicio de validación
468                 online (http://validator.w3.org/)</p></dd>
469             <dt>Herramientas de diseño de HTML</dt>
470             <dd><p>Ninguna</p></dd>
471         </dl>
472         <h2>Jonathan Schein</h2>
473         <dl>
474             <dt>Navegador</dt>
475             <dd><p>Mozilla Firefox, Internet Explorer 6</p></dd>
476             <dt>Editor de texto</dt>
477             <dd><p>HTML-Kit, Notepad</p></dd>
478             <dt>Validador</dt>
479             <dd><p>Herramientas de w3c: tidy y el servicio de validación
480                 online (http://validator.w3.org/)</p></dd>
481             <dt>Herramientas de diseño de HTML</dt>
482             <dd><p>Ninguna</p></dd>
483         </dl>
484         <h2>Sebastián Arena</h2>
485         <dl>
486             <dt>Navegador</dt>
487             <dd><p></p></dd>
488             <dt>Editor de texto</dt>
489             <dd><p></p></dd>
490             <dt>Validador</dt>
491             <dd><p></p></dd>
492             <dt>Herramientas de diseño de HTML</dt>
493             <dd><p></p></dd>
494         </dl>
495         <h1><a name="configuracion">Configuración del servidor</a></h1>
496         <p>
497             COMPLETAR!!! Por ahora nada, sólo que ande PHP.
498         </p>
499         <h1><a name="instalación">Instalación</a></h1>
500         <p>
501             COMPLETAR!!! Supongo que es suficiente con copiar los archivos de
502             src/ al public_html, ponerle permisos de lectura para el apache en
503             todo y permisos de escritura en el directorio data/ y fotos/.
504         </p>
505         <h1><a name="uso">Modo de uso</a></h1>
506         <p>
507             COMPLETAR!!! Mucho de esto por ahora está en la descripción del
508             diseño...
509         </p>
510     </body>
511 </html>
512
513 <!-- vim: set et sw=4 sts=4 : -->