Added _validate_iface_vlans() helper that checks all non-null vlan_ids
against the DB before any insert or update, returning a 400 instead of
letting SQLite raise an IntegrityError 500.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The backend validator was rejecting the three new device types added
in the previous commit, returning HTTP 422.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Application web d'inventaire réseau manuel avec FastAPI, Vue 3 et Docker.
Inclut l'authentification JWT, la découverte ICMP, et la topologie en cards CSS.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>