{# Widget « Contenu externe » — intégration d'un service tiers en iframe. Une iframe pointant vers une URL librement saisie est une porte ouverte : n'importe quel contenu, y compris hostile, s'exécuterait dans le contexte de la page. Le service PHP n'accepte donc que des domaines explicitement autorisés (`isAllowed`), et l'iframe elle-même reste confinée par `sandbox`. Quand l'URL est refusée, on le dit dans l'éditeur plutôt que de rendre un cadre vide : l'auteur doit comprendre pourquoi rien ne s'affiche. #}
{# Le titre reste saisi même masqué : il sert de nom accessible à l'iframe. Sans lui, un lecteur d'écran annonce « Contenu intégré », ce qui ne dit rien du média. On peut donc le cacher quand le titre de section situé juste au-dessus dit déjà la même chose. #} {# `|default(true)` serait un piège ici : le filtre `default` de Twig se déclenche sur toute valeur vide, donc un `false` explicite repasserait à `true` et le titre resterait affiché. #} {% if title and (showTitle is defined ? showTitle : true) %}

{{ title }}

{% endif %} {% if not url %}

Aucune adresse renseignée.

{% elseif not isAllowed %}
Ce domaine n'est pas autorisé à l'intégration.

Pour des raisons de sécurité, seuls certains services peuvent être affichés dans un cadre. Domaines acceptés : {{ allowedHostsLabel }}.

Ouvrir le lien dans un nouvel onglet
{% else %}
{% if caption %}

{{ caption }}

{% endif %} {% endif %}