/** * Ajoute HTTPS aux adresses de portail saisies sous forme de domaine simple. * Les protocoles explicites sont conservés afin que la validation puisse refuser * proprement ceux qui ne sont pas HTTP(S). */ export function normalizeWebPortalUrl(value: string): string { const trimmed = value.trim(); if (!trimmed) return ""; if (trimmed.startsWith("//")) return `https:${trimmed}`; if (/^[a-z][a-z\d+.-]*:\/\//i.test(trimmed) || /^(?:mailto|tel|data):/i.test(trimmed)) { return trimmed; } return `https://${trimmed}`; } /** Vérifie qu’une URL de portail est une adresse HTTP(S) avec un hôte. */ export function isValidWebPortalUrl(value: string): boolean { try { const url = new URL(value); return (url.protocol === "https:" || url.protocol === "http:") && Boolean(url.hostname); } catch { return false; } }