Aller au contenu principal

Partage (Share)

Utilisez le partage pour proposer des liens vers des services externes ou copier l’URL.

attention

Ce composant nécessite une licence Pro valide en production.

InformationValeur
NiveauPro
Composants Twigdsfr:share

Usage

  • Ne proposez que les canaux utiles au public ciblé.
  • Les liens doivent pointer vers l’URL à partager.

Modes d'utilisation

Partage · exemple principal
<twig:dsfr:share
title="Partager cette page"
:links="[
{label: 'Envoyer par courriel', href: 'mailto:?subject=Dossier&body=https://example.fr/dossiers/42', icon: 'fr-icon-mail-line'},
{label: 'Partager sur LinkedIn', href: 'https://www.linkedin.com/shareArticle?url=https://example.fr/dossiers/42', icon: 'fr-icon-linkedin-box-fill'}
]"
/>

API publique

ComposantRôle
dsfr:shareComposant principal de cette page.

Configuration

OptionTypeDéfaut / requisValeurs et usage
titlestringPartager la pageTitre du bloc.
linksarray|string[]Liens { label, href, icon }.

Guide d'intégration

QuestionRéponse
Famille DSFRMise en page
Quand l'utiliserQuand vous composez une page, une zone transverse ou un bloc structurel réutilisable.
Quand éviterPour corriger un espacement local : utilisez d’abord les props et classes utilitaires DSFR prévues.
API publiqueUtilisez uniquement les composants Twig listés sur cette page : dsfr:share.
Documentation DSFRConsultez aussi la bibliothèque officielle : Système de Design de l'État.
Partage : données typées via links

Variantes de partage

  • partage avec attributs HTML pass-through pour id, class, data-* et aria-* quand le template le permet.

Points de contrôle propres à ce composant

  • Ne proposez que les canaux utiles au public ciblé.
  • Les liens doivent pointer vers l’URL à partager.
  • Vérifiez un cas vide, un cas avec plusieurs entrées et un cas avec données dynamiques pour links.

Accessibilité mise en page

  • Le composant ne remplace pas les landmarks de votre page : gardez main, nav, aside, section côté application.
  • Les zones transverses doivent rester identifiables et cohérentes entre les pages.
  • Vérifiez les ruptures responsive sur mobile, tablette et desktop.

Intégration Symfony/Twig pour dsfr:share

  • Passez links avec la syntaxe : pour conserver le type tableau : :links="links".
  • Ajoutez vos attributs applicatifs (data-controller, data-action, aria-*, class) sur dsfr:share quand ils concernent son nœud racine.

Checklist de recette

  • rendu mobile sans débordement
  • landmarks présents dans la page
  • comportement thème clair/sombre si concerné
  • rendu vérifié en thème clair et sombre ;
  • rendu vérifié sur mobile, tablette et desktop ;
  • aucune erreur dans le profiler DSFR ni dans l'inspecteur d'accessibilité du navigateur.

Erreurs fréquentes

SymptômeCorrection
Les données links ne sont pas prises en compteAjoutez : devant la prop Twig : :links.
Les classes DSFR semblent incomplètesUtilisez les props du composant plutôt que des classes ajoutées à la main.
Le composant rend en local mais pas en productionVérifiez la licence avec php bin/console dsfr:license:validate.