{# # ============================================================================ # MOLÉCULE : SIGNATURE BUBUL DES PAGES DE PARTAGE PUBLIC # ============================================================================ # # Logo Bubul + nom, discret, cliquable vers la landing. Destinée aux SEULES # pages consultées par un visiteur sans compte : # - templates/slidia/public_present.html.twig # - templates/scormia/public_preview.html.twig # - templates/seren_ia/public_show.html.twig # # Le style vit dans assets/styles/pages/public_share_signature.css (entrée # Webpack `public_share_signature`), que le gabarit hôte doit charger : les # pages Slidia et Scormia n'embarquent pas Tailwind, les classes utilitaires # de l'atome y seraient donc inertes. # # ============================================================================ # PARAMÈTRES # ============================================================================ # # | Paramètre | Type | Défaut | Description | # |-----------|--------|--------|--------------------------------------------| # | class | string | '' | Classe de placement (bubul-sign--topbar…) | # # ============================================================================ # DEUX POINTS À NE PAS RELÂCHER # ============================================================================ # # 1. AUCUN `referrerpolicy` SUR CETTE BALISE. Les pages publiques portent # `Referrer-Policy: no-referrer` (PublicShareResponseListener) : c'est ce # qui empêche le JETON DE PARTAGE, présent dans l'URL de la page, de partir # dans l'en-tête `Referer`. Un `referrerpolicy` plus permissif ici — même # `origin`, même « juste pour attribuer le trafic entrant » — enverrait ce # jeton dans les journaux d'accès de la landing. Un secret dans ses propres # logs reste un secret qui fuite, et l'attribution ne vaut pas ça. # # 2. LE LIEN POINTE SUR LA LANDING, ET SUR RIEN D'AUTRE. `app_landing` est la # route `/`, publique et anonyme. Aucune URL de l'application authentifiée, # aucun identifiant du propriétaire ne doit transiter par cette signature : # c'est précisément ce que verrouillent les tests fonctionnels des trois # pages (testLaSignatureBubul… dans *PublicShareTest). # # ============================================================================ #} {% set class = class ?? '' %} {# target="_blank" + rel="noopener" : la page publique reste ouverte derrière (le visiteur consultait une présentation, un module ou une discussion), et `noopener` coupe l'accès de la page ouverte à `window.opener`. Le libellé accessible explicite la destination ET la nouvelle fenêtre, que le mot « Bubul » seul ne dit pas — d'autant qu'il disparaît sur écran étroit. #} {# showBadge: false — la pastille « BETA » de l'atome parle du produit, pas du contenu partagé ; sur une page qui n'est pas la nôtre visuellement, elle ajoute du bruit sans rien dire au visiteur. Le SVG est EN LIGNE (variante `simple` de l'atome) : il traverse donc la CSP sans dépendre d'`img-src`, et sans requête supplémentaire. #} {% include '_atoms/logo/logo-with-text.html.twig' with { size: 'sm', showIcon: true, showText: true, showBadge: false } only %}