Proyecto personal · Desktop + Automatización de sistemas

CLA WinConfig

Herramienta de escritorio open source para estandarizar y configurar múltiples equipos Windows de forma rápida, consistente y sin errores — construida con Python.

  • Python
CLA WinConfig
01

Contexto y objetivo

CLA WinConfig surge como respuesta a una necesidad concreta en centros de cómputo educativos: preparar y estandarizar múltiples equipos Windows representa horas de trabajo repetitivo con alta probabilidad de inconsistencias entre máquinas. La herramienta centraliza y automatiza ese proceso, permitiendo que la configuración de un laboratorio completo sea reproducible, auditable y ejecutable por personal sin conocimientos avanzados.

El proyecto demuestra criterio de ingeniería aplicada — identificar un problema real, elegir el stack adecuado para el entorno objetivo (Python + APIs nativas de Windows) y entregar una solución empaquetada como ejecutable portable que no requiere instalación previa ni dependencias externas.

02

Arquitectura del sistema

Aplicación de escritorio

Interfaz gráfica construida con CustomTkinter, diseñada para ser clara y operable por personal técnico y administrativo sin requerir conocimientos de programación.

Módulos de automatización

Lógica organizada en módulos independientes por área de configuración — ajustes del sistema, servicios de Windows, configuraciones visuales y ejecución de scripts — facilitando mantenimiento y extensión.

Integración con PowerShell

Comandos administrativos de alto nivel delegados a PowerShell mediante subprocesos controlados desde Python, aprovechando herramientas nativas de Windows para operaciones seguras sobre el sistema operativo.

Distribución portable

Empaquetado como ejecutable único mediante PyInstaller, eliminando dependencias de entorno Python en los equipos objetivo y permitiendo distribución por USB o red local.

Filosofía de ejecución: La herramienta se ejecuta con permisos administrativos sobre el equipo local, sin conexión a internet ni comunicación con servidores externos — garantizando control total del proceso y operabilidad en entornos de red restringida.

03

Retos técnicos resueltos

Ejecución segura con permisos elevados

Gestión de operaciones que requieren permisos de administrador de Windows sin exponer superficie de ataque, validando entradas antes de cada llamada al sistema.

Empaquetado sin dependencias

Compilación como ejecutable portable con PyInstaller que incluye todas las dependencias internas, eliminando la necesidad de un entorno Python preinstalado en los equipos.

Interfaz usable por personal no técnico

Diseño de UX que presenta operaciones complejas del sistema operativo como acciones simples y comprensibles, con feedback visual claro del estado de cada configuración.

Reproducibilidad entre equipos

Garantizar que la misma secuencia de configuraciones produce resultados idénticos en distintos equipos, independientemente del estado previo del sistema operativo.

04

Decisiones técnicas clave

Python elegido por su madurez en automatización de sistemas, amplio ecosistema de librerías para Windows y facilidad de integración con APIs nativas del SO.

CustomTkinter sobre soluciones web-based para garantizar ejecución nativa sin dependencias de navegador ni servidores locales en entornos con conectividad limitada.

PowerShell como capa de comandos avanzados del SO en lugar de llamadas directas al registro, aprovechando herramientas auditables y documentadas de Windows.

Arquitectura modular por área de configuración para permitir añadir, modificar o deshabilitar módulos específicos sin afectar el resto de la herramienta.

05

Consideraciones técnicas

  • Compatibilidad con versiones de Windows 10 y 11
  • Validación de permisos antes de ejecutar operaciones críticas
  • Manejo de errores con feedback claro al operador
  • Operación sin conexión a internet ni servicios externos
  • Diseño de UX orientado a reducir errores de operación
  • Código estructurado para facilitar auditoría y contribuciones
06

Capacidades demostradas

  • Desarrollo de aplicaciones de escritorio con Python
  • Automatización de operaciones de sistema operativo Windows
  • Integración de interfaces gráficas con lógica de sistema
  • Empaquetado y distribución de herramientas portables
  • Diseño de UX para usuarios no técnicos
  • Resolución de problemas reales en entornos institucionales
07

Stack técnico

Python

Lenguaje principal. Elegido por su ecosistema de automatización y capacidad de integración con APIs nativas de Windows.

Tkinter / CustomTkinter

Interfaz gráfica de escritorio estructurada y usable por personal técnico y administrativo.

PowerShell

Capa de comandos administrativos avanzados del SO, invocados de forma controlada desde Python.