1. Per què fem servir Python?
Fem servir Python perquè l’HTML sol és “estàtic” (no canvia). Amb Python i el framework http.server, podem fer que la web sigui “dinàmica”. Això vol dir que la web pot:
- Guardar informació: Enregistrar noms d’usuari en un fitxer de text local.
- Executar Lògica: Processar dades enviades des del formulari sense instal·lar llibreries externes.
- Arquitectura Modular: El codi està separat en Front-end (HTML/CSS) i Back-end (Python).
2. El Repte: Error de Lliberia
Inicialment, el sistema no funcionava perquè el portàtil de l’escola no permetia instal·lar flask-sqlalchemy. L’error era: ModuleNotFoundError.
ModuleNotFoundError: No module named ‘flask_sqlalchemy’
3. La Solució: Ús de Llibreries Natives
Vaig decidir canviar a la llibreria http.server. Aquesta llibreria està integrada dins de Python i no requereix instal·lació externa. Això fa que l’aplicació sigui portable i funcioni en qualsevol entorn escolar.
import http.server
import socketserver
from urllib.parse import parse_qs
# Back-end Logic
class SimpleHandler(http.server.SimpleHTTPRequestHandler):
def do_POST(self):
content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)
user_name = parse_qs(post_data.decode())['user'][0]
# Guardar en 'proof.txt' per a la persistència
with open("proof.txt", "a") as f:
f.write(f"Registered: {user_name}\n")
self.send_response(200)
self.end_headers()
self.wfile.write(b"SUCCESS: DATA RECORDED")
# Execució del Servidor a 127.0.0.1:5000
PORT = 5000
with socketserver.TCPServer(("127.0.0.1", PORT), SimpleHandler) as httpd:
print(f"SERVER ACTIVE at http://127.0.0.1:{PORT}")
httpd.serve_forever()
ACCESS GRANTED
LAN PARTY SYSTEM v1.0
System: Online
5. Resultat Final: Sistema de Registre Actiu
Com es pot veure a la captura de pantalla, el sistema ja és plenament funcional:
- Interfície: El disseny “Gaming/Hacker” es mostra correctament.
- Registre en viu: En introduir un nom (ex: Neo_Matrix), el servidor el processa i el mostra immediatament a la llista d’usuaris loguejats.
- Seguretat Simulada: Les dades es mostren com a “(Encrypted)” per donar realisme al sistema de la LAN Party.
Evidències
Ús de la IA com a eina de suport
En aquesta secció es mostra com he utilitzat la Intel·ligència Artificial com a eina de suport per superar les limitacions tècniques del projecte. El diàleg amb la IA em va permetre pivotar d’un sistema que no funcionava (Flask) a un que sí (llibreries natives).
Procés de resolució de problemes:
- Anàlisi de l’error: Vaig documentar l’error inicial de
ModuleNotFoundErrori el vaig consultar amb la IA per identificar que la causa era la falta de permisos per instal·lar paquets externs. - Exploració de solucions: Vaig demanar alternatives portables. La IA em va suggerir utilitzar
http.server, ja que està inclòs de sèrie en Python. - Personalització visual: Vam treballar conjuntament per integrar el codi Python amb el meu disseny CSS personalitzat de “Gaming/Hacker”.
Exemple de Prompt utilitzat:
“Tinc un error al portàtil de l’escola perquè no puc instal·lar Flask. Pots donar-me un codi en Python que utilitzi només llibreries natives per crear un servidor web que guardi dades en un fitxer .txt i que tingui un disseny de color verd neó?”
