Identificador Web — v6 (IA + Numismaticol)

Esta versión muestra en la misma web:
- La identificación que hace la IA (tipo, valor, familia, año, variante, candidatos).
- Un formulario editable para buscar la guía numismática en la tabla `denominations`
  (idealmente apuntando a enlaces de numismaticol.com).
- Un botón para abrir la ficha encontrada en una nueva pestaña.

Flujo básico
1) Capturas una imagen desde la cámara o subes una foto del billete/moneda.
2) La web llama a /api/ai_identify.php, que envía la imagen al modelo de visión de OpenAI
   (por defecto gpt-4o-mini) y obtiene un JSON con:
   {type,value,family,year,variant,confidence,candidates}.
3) Esos datos rellenan automáticamente la sección "Resultado de la IA" y también
   los campos del formulario de búsqueda.
4) La web llama a /api/resolve.php con esos datos y consulta la tabla `denominations`
   para obtener el campo `ref_url`. Si hay coincidencia, se muestra el enlace y se
   habilita el botón "Abrir guía".

Configuración
1) Base de datos:
   - Crea una BD y ejecuta sql/schema.sql para crear las tablas `denominations` y `scans`.
   - Inserta tus registros en `denominations` con los campos:
     type (billete/moneda), value, family, year_from, year_to, variant, ref_url, etc.
   - Ajusta /config/db.php con tus credenciales (o usa variables de entorno DB_HOST, DB_NAME, DB_USER, DB_PASS).

2) OpenAI:
   - Edita /config/env.php y reemplaza OPENAI_API_KEY por tu clave real,
     o configúrala como variable de entorno OPENAI_API_KEY.
   - OPENAI_VISION_MODEL por defecto es gpt-4o-mini, puedes cambiarlo si lo deseas.

3) Servidor web:
   - Sube el proyecto al servidor.
   - Expón /public como carpeta pública (document root).
   - Asegúrate de que PHP tenga habilitado cURL y acceso a Internet para llamar a la API de OpenAI.

Rutas principales
- /public/index.php    → UI (cámara, subir foto, resultados).
- /api/ai_identify.php → Llama a OpenAI (visión) y devuelve JSON con la identificación.
- /api/resolve.php     → Consulta la BD y devuelve {ok,url,matched}.

Seguridad y privacidad
- Las imágenes se envían a OpenAI solo para inferencia y no se almacenan en el servidor.
- Protege el servidor con HTTPS.
- Controla quién puede acceder a esta herramienta si utilizas credenciales o datos sensibles.
