8 semana apuntes curso programación

Fundacio gentis salt girona

Lunes 5 marzo de 2018

Clase con Josep, hoy creo que vamos a comenzar la aplicación de nuevo pero esta vez en ves de hacerlo en grupo lo haremos individualmente paso por paso siguiendo indicaciones del profesor.

Es una aplicación para la gestión de clientes interna.

Vamos a trabajar con un Google docs en tiempo real.

Introducción

Una aplicación genérica para gestionar información interna de clientes. Por ejemplo, datos relativos a información de contacto: mail, nombre y teléfono de contacto.

Esta aplicación no será accesible para todos. Para acceder a la información deberás ser un usuario autorizado.

Es una aplicación vía web:

-Se puede acceder a través de un navegador
-Necesitas conexión a internet
-Rapidez
-Multidispositiu
-Información ordenada
-Información segura

Funcionamiento

Por un lado tenemos una base de datos remota que guarda la información.
Por otro lado, hay un conjunto de ficheros (app dicha) programados en php que interactúan con la bbdd para gestionar la información que guarda y proporciona un interfaz al usuario que sea fácil de usar.

Base de datos

Necesitamos una sola base de datos.

Necesitamos 2 tablas: 1 por usuarios autorizados (login) y otra para guardar la información.

Tabla login

ID (Autoincrement, Primary Key)
Nombre usuario (Texto, VARCHAR 40)
Password (Texto, VARCHAR 64) Encriptado
Mail de contacto (Texto, VARCHAR, 40)
Activo (Numeric, 1)
Rol (Numeric, 1)

Tabla de clientes

ID (Autoincrement, Primary Key)
Nombre * (Texto, VARCHAR 40)
Apellidos * (Texto, VARCHAR 70)
DNI * (Texto, VARCHAR, 9)
Dirección postal (Texto, VARCHAR, 100)
CP (INT, VARCHAR, 5)
Provincia (Texto, VARCHAR, 20)
Población (Texto, VARCHAR, 20)
Mail * (Texto, VARCHAR, 40)
Teléfono 1 * (Numeric VARCHAR, 11)
Teléfono 2 (Numeric VARCHAR, 11)
Fecha de nacimiento: (Date)
Sexo: (Texto, VARCHAR) 1
Sector profesional: (Texto, VARCHAR, 20)

* Datos obligatorios

Páginas y archivos de la aplicación

páginas
login.php → autentificado usuario
index.php → Menú principal (Iconos o links para insertar, mostrar listado, gestionar usuarios según el rol)
formulari_insert.php → Formulario inserción de datos de clientes
error.php → errores diferentes en pantalla
llistat.php → Mostrar los datos en formato tabla. Con links junto para modificar y eliminar
formulari_modifica.php → Muestra los datos guardados para modificarlas
eliminar.php → Muestra un aviso previo a la eliminación
avis_legal.php → Texto legal y cookies

Gestión de usuarios
formulari_insert.php → Formulario inserción de datos de usuarios
error.php → errores diferentes en pantalla
llistat.php → Mostrar los datos en formato tabla. Con links junto para modificar y eliminar
formulari_modifica.php → Muestra los datos guardados para modificarlas
eliminar.php → Muestra un aviso previo a la eliminación

Ficheros de procesamiento php
insert.php → inserta datos
elimina.php → elimina datos
modifica.php → modifica datos
buscar.php → mostrar los resultados
funcions.php → conexion bbdd
seguretat.php → comprueba que el usuario activo es correcto
validar_usuaris.php → valida de datos
logout.php → Destruir sesión

Relaciones entre páginas y archivos

Login.php -> VALIDAR_USUARIS.PHP → index.php
FORMULARIO INSERT → INSERT.PHP
FORMULARIO MODIFICA -> MODIFICA.PHP
ELIMINAR.PHP -> ELIMINA.PHP
LOGOUT.PHP -> login.php

* En todos los casos (insertar, modificar y eliminar) existe la posibilidad de pasar por error.php

Ahora hacemos un diagrama de bloc.

 

Un vez tenemos una idea general ya podemos comenzar a trabajar, comenzaremos por la base de datos para iremos al phpmyadmin.

le hemos dado el nombre de app_clients, ahora creamos otro usuario de la base de datos para administrar la base de datos de la aplicación, le hemos dado el nombre app_gestio.

Lo dejamos en localhost el usuario y la contraseña aun no la hemos definido, estamos hablando sobre servidores y bases de datos.

la contraseña es clients2018_

Ahora estamos asignando permisos selectivos.

ya podemos crear el usuario, ahora nos pondremos a crear las tablas!

comenzamos con la tabla de usuarios, la llamamos app_users y le damos los siguientes parámetros:

Del mismo modo estamos creando otro tabla para los datos con el nombre app_dades y 14 columnas.

Ahora vamos a exportar los datos ya que nos ha costado trabajo configurar todo vamos ha tener un respaldo.

También hemos hecho una exportación de las tablas por separado y lo hemos guardado en una carpeta backup.

con esto y un bizcocho hasta mañana!!

Martes 6 de marzo de 2018

Clase con Albert, continuamos con los ejercicios de code academy https://www.codecademy.com/es/tracks/web

Fundacio gentis salt
Web para aprender a programar

 

curso programacion gentis salt
Code academy CSS HTML Div

Hemos pasado el resto de la tarde haciendo una web sencilla con un menú desplegable:

Miércoles 7 de marzo de 2018

Clase con Josep, hoy seguimos con la aplicación para la gestión de clientes.

Comenzamos haciendo un formulario para que el usuario se pueda loguear muy simple.

 

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <link rel="stylesheet" href="css/style.css" type="text/css"/>
 <title>App Gestión</title>
 </head>
<body>

<form name="login_usuaris" action="validar_usuaris.php" method="post">
<input type="text"name="user"placeholder="Usuario" />
<br>
<input type="text"name="pass"placeholder="Contraseña" />
<br>
<input type="submit"value="enviar datos" />

Este es el código que hemos utilizado para el formulario de login.

Ahora hemos creado un archivo llamado validacio_usuaris.php que es el que recogerá toda la información del formulario login.php.

En este archivo a parte del respectivo código vamos a poner información relativa al archivo y al creador.

Así queda el código para recoger datos del servidor y hemos añadido un plus de seguridad para que no se pueda insertar datos por url.

<?php
// APP GESTIÓ V.1.0
// Autor: Marc Oliveras Guerrero
// Contacte: freeboxinfo@gmail.com
// Reservados todos los derechos.
//
// Recoje todos los datos que provienen del formulario login.
// Busca coincidencias en una base de datos y si encuentra un usuario que coincida redirige a la pagina de inicio
// en caso de que no sea coincidencia redirige a login.
//
// proximas updates pondremos limitador de intentos de loogin por seguridad
if (isset($_POST["enviar"])){ //SE USA PARA NO PODER ACCEDER POR URL, COMPRUEBA SI VIENEN LOS DATOS POR INPUT
 //RECOGER VARIABLES
 //SI VIENE LLENO EL INPUT ENVIAR CONTINUA SECUENCIA
 $usuari=$_POST["usuari"]; //$_POST es la que recoje el input que le hemos
 //asignado el nombre "usuari" y lo almacena en la variable $usuari se hace para simplificar
 //y no tener que escribir todo el $_POST completo
 $password=$_POST["password"];
 //el valor de la variable $_POST define la variable usuari que se recoge por input
}
else{
echo "Operación no permitida";
// esto hace que si no viene por post los datos del input y se 
//intenta hacer directamente por url salga el mensaje 
}

 ?>

Ahora crearemos el fichero funcions.php

Este fichero contiene la conexión con la base de datos, le especifica a través de una función especifica y unos datos que definimos nosotros al crear la base de datos y el usuario, este es el código.

Lo que hemos conseguido hoy es hacer un formulario que recoja un usuario y una contraseña, los almacene en variables POST y haga una consulta en la tabla de la base de datos especificada para que compruebe si existe un usuario y una contraseña con esos datos introducidos en el formulario, además por seguridad le hemos dicho que si los datos vienen por url no continué con la secuencia.

Jueves 8 de marzo de 2018

No pude asistir a clase y estoy pendiente de los apuntes, se hizo responsive.

 

Viernes 9 de marzo de 2018

Clase con David Flores, estudiamos el protocolo de comunicación  que usamos para pasar archivos y comunicarnos en red.

  • TCP hace comprobaciones para que llegue la comunicación integra
  • UDP no garantiza ni comprueba que los datos lleguen íntegros pero los garantiza en tiempo real
  • Tabla ARP dice a que mac pertenece cada IP, creando una tabla de información de los dispositivos que hay en la red
  • IP proporciona la dirección a los paquetes
  • ICMP detecta paquetes perdidos y da mensajes de error

Cada vez que enviamos un archivo incluye mas cosas a parte del archivo en si, se llaman segmentos.

  • CRC calcula si el paquete a sido manipulado y si ha llegado bien a destino
  • IP para saber el destino y el origen
  • Premable numero identificador que unas el CRC
  • Destination address comprueba si el destino es el correcto
  • Source address comprueba si el emisor es  correcto
  • Type data dice el tipo de archivo que contiene el paquete

El conjunto de todos los segmentos es un encapsulado.

TCP se encarga de comprobar todos estos datos UDP solo los envía si llegan o no ya es otra cosa.

Nota: Existe un software para hacer diagramas de red se llama DIA-GRAM

Que es una IP y que importancia tiene?

Internet Protocol, es el protocolo que se utiliza para identificar una dirección única en Internet.

Hay varios tipos de IP las mas conocidas son la IP interna (local) y la IP externa (publica)

Las IP se forman en números de 8 bits repartido en 4 bloques de 1 a 255 con este formato:

192.168.1.10 – Ejemplo de IP Local

88.54.21.98 – Ejemplo de IP Publica

Hay un puerto TCP Y UDP relacionados con cada IP

Hay dos modelos que definen por capas estas comunicaciones

El modelo OSI

  • Aplicación  //es el programa que se usa para en envió de archivos
  • Presentación // equivalente capa aplicación Modelo DOD
  • sesión // equivalente capa aplicación Modelo DOD
  • Transport // se hace la preparación del envió y se decide que tipo de transporte se usara TCP/UDP
  • Network  // IP de destino y ARP cuando entra al router mediante tarjeta de red
  • Data Link
  • Physical  //

No vamos a profundizar en este tema, solo ser conscientes de como se realiza un envió de datos a través de la red de manera superficial.

ACK se envía desde el protocolo TCP y hace la comprobación de perdida de paquetes.

Puertos TCP:

FTP:21 Telnet:23 DNS:53 NetBios:139

Puertos UDP:

Netstat:15 TFTP:69 SNMP:161

Actividades de Parámetros de configuración

Explica la diferencia entre las IPs internas y externas.

La IP interna es la que se utiliza entre el router y los dispositivos conectados directamente ya sea por cable o por WiFi y suele tener el rango 192.168.1.x donde x es el numero asignado a cada dispositivo.

La IP externa es la asignada por el servidor ISP como por ejemple telefónica y es la que nos identifica en Internet, su rango es muy diferente de las internas por ejemplo: 88.12.36.98

Pon ejemplos de IPs de los dos tipos.

La IP de mi portatil en la red interna (Local) se 192.168.1.101
Mi IP externa (Pública) se 88.12.35.xxx

Resume en máximo dos líneas que hace cada una de las capas que hemos visto al modelo DOD.

La capa de Aplicación:
es la que utiliza el programa que utilizamos para enviar datos como Filezilla.

La capa de Trasporte:
es la que decide qué tipde protocolo se hará servirper enviar los datos dependa del tipo de archivo que se trate.

La capa de Internet
es la que hace el encapsulado y envía los datos a la IP asignada y la tabla ARP que desidia la ruta que se hará servir para enviar los datos.

La capa de Red:

es la que se encarga de pasar los datos físicamente a través de la tarjeta de red y comprobar la seguridad de los datos mitjansan CRC y preamble.

Que es el CRC?

Hace el cálculo para verificar si el paquete se corrupto o no.

¿Qué es el DNS y qué hace? Explica con tus palabras de que se encarga.

El DNS el el servidor de nombres de dominio, convierte numeros IP en nombres para facilitar el uso de las direcciones IP del servidor.

La direccion IP 172.217.18.227 es la IP del Dominio www.google.es, es mucho más fácil recordar el nombre asociado a la IP que la IP en sí misma.

Busca diferentes organismos o asso21ciacions que tengan otros protocolos y haz un listado

LACTLD: La Asociación de Dominios de Niveles Superiores Geográficos de Latinoamérica
CENTR: Se la Organización Europea de Entidades gestoras de dominios de primer nivel con códigos de país
ICANN: La Corporación de Internet para la asignacion de Números y Números es el principal organismos internacionales

¿Qué hace el Broadcast y cuando se ejecuta?

Revisa la tabla ARP para comprobar si las IPs asignadas sean vigentes para, en definitiva Hace un refresco de la tabla ARP

Ahora vamos a corregir las preguntas.

Después vamos a ver este vídeo.

Con esta terrorífica información se acaba la clase y el fin de semana, reflexionar sobre vuestra privacidad que hace falta conciencia en una sociedad que vende su alma al diablo por 4 likes..

Sobre Marc Oliveras 121 Artículos
Técnico en sistemas y redes informáticas, blogger, youtuber & gamer

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.