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.

# Error inicial detectat:
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()

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 ModuleNotFoundError i 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ó?”

Take the next step to success

Many Web3 platforms are complex and have a steep learning curve, discouraging new users from entering the space.