Skip to content

Casos de uso

Los casos de uso del repo se dividen en dos grupos: los del autor (crear y publicar contenido) y los del visitante (consumir el sitio).

CU-01 Publicar o editar un artículo de blog (ES + EN)

  • Actor: autor (funcional/03-actores-roles.md).
  • Objetivo: añadir un artículo nuevo o editar uno existente, en español e inglés.
  • Flujo:
    1. Crear el Markdown en es/blog/<slug-es>.md y su equivalente en en/blog/<slug-en>.md. Cada artículo lleva frontmatter title, description, date (es/blog/ciso-catalizador-negocio.md:1-5).
    2. Registrar el artículo en el sidebar de cada locale dentro de .vitepress/config.mts (:103-114 ES, :148-159 EN).
    3. Añadir la tarjeta en el índice del blog (es/blog/index.md:11-22).
    4. Construir con npm run build y previsualizar con npm run preview (package.json:9-10).
  • Regla asociada: mantener la paridad ES/EN al añadir o editar (CLAUDE.md:31; ver funcional/05-reglas-negocio.md).

CU-02 Publicar el sitio en producción (despliegue MANUAL)

  • Actor: autor / operador.
  • Objetivo: llevar el build a Cloud Run.
  • Flujo previsto en el workflow: push a main dispara build Docker, push a Artifact Registry y gcloud run deploy (.github/workflows/deploy.yml:4-52).
  • Realidad operativa: Gitea Actions está APAGADO en este repo, por lo que el despliegue NO es automático tras push. Es una acción MANUAL del operador. El blog en vivo puede quedar desfasado respecto a main (manifiesto del workspace; ver tecnico/05-despliegue.md).

CU-03 Navegar el sitio y leer artículos (visitante)

  • Actor: visitante anónimo (sin login).
  • Flujo: entra por /, es redirigido a /es/ o /en/ según el idioma del navegador (index.md:6-15); navega por inicio, sobre mí, blog, proyectos y contacto vía el nav del locale (.vitepress/config.mts:96-102, 141-147).

CU-04 Cambiar de idioma

  • Actor: visitante.
  • Flujo: usa el selector de idioma de VitePress (locales es/en, .vitepress/config.mts:90-171) o cambia el prefijo de ruta /es//en/.

CU-05 Buscar dentro del sitio

  • Actor: visitante.
  • Flujo: usa el buscador local de VitePress (provider: 'local', .vitepress/config.mts:121, 188-190); sin dependencia de servicio externo.

CU-06 Contactar con el autor

  • Actor: visitante.
  • Flujo: desde la página de contacto, usa enlaces mailto:, LinkedIn, GitHub o el portal BlueUP (es/contact.md:10-13 y siguientes). No hay formulario ni backend que procese datos.

CU-07 Recordatorio de expiración del dominio

  • Actor: operador (autor), en su Mac local.
  • Flujo: scripts/domain-reminder.sh calcula los días hasta la expiración del dominio y lanza una notificación macOS según umbrales; se instala vía LaunchAgent (scripts/domain-reminder.sh:6-24, scripts/com.navarro-bores.domain-reminder.plist). Es operación local, no parte del sitio servido.

Cybersecurity · Technology · Leadership