Les macros et leur fonctionnement
Pour rendre des éléments dans la documentation, tels que des liens vers des ressources, des bannières prédéfinies, des exemples, des badges et des barres de navigation ; nous utilisons un élément de code personnalisé nomme « macro ». Elles sont formées par l'ouverture et la fermeture d'accolades doubles {{ avec le nom de la macro et ses paramètres avant la fermeture }}.
La macro JSFiddleEmbed est en cours de suppression des pages traduites. Il est fortement recommandé de la supprimer des pages pour la remplacer par EmbedLiveSample. Voir le ticket Github concernant la migration de la macro (angl.).
Concepts et utilisation
Les macros sont présentes depuis la version WikiMedia du MDN, elles permettent de manière générale de simplifier la rédaction d'éléments et de rendus qui seraient compliqués à faire avec du simple HTML pour des personnes qui souhaitent écrire ou traduire des pages.
De ce fait, les macros viennent simplifier la rédaction en réduisant les liens à de simples valeurs. Par exemple pour appeler un élément HTML, il suffit d'appeler la macro des éléments HTML, que nous présenterons après, comme ceci :
{{HTMLElement("section")}}
ce qui donnera en html :
<a href="/fr/docs/Web/HTML/Reference/Elements/section">
<code><section></code>
</a>
Comme vous pouvez le remarquer, la longueur du contenu écrit est bien plus courte. Cela n'empêche pas d'utiliser l'écriture markdown pour appeler le même lien, mais le faire aura pour effet de prolonger la longueur du code écrit en Markdown et rendra difficile la lecture de la page Markdown pour une personne qui éditerait cette page.
[`<section>`](/fr/docs/Web/HTML/Reference/Elements/section)
Il existe un plugin VSCode pour effectuer la coloration syntaxique des macros. Cela peut vous être utile pour différencier les macros dans le texte.
Les différentes macros
Les macros appelant des pages
{{CSP(directive)}}
directive: Une chaîne de caractères correspondant au nom d'une Politique de Sécurité de Contenu (Content Security Policy) pour créer le lien vers sa page.
{{CSSxRef(reference, [alt, [ancre]])}}
reference: Une chaîne de caractères correspondant au nom d'une référence CSS pour créer le lien vers sa page.altFacultatif: Un texte alternatif qui sera rendu à la place du nom de la référence, c'est utile pour afficher du code avancé commedisplay: noneà la place dedisplaylorsque vous parlez de la valeur de la propriétédisplay.ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes.
{{DOMxRef(reference, [alt, [ancre, [desactiver-code]]])}}
-
reference: Une chaîne de caractères correspondant au nom d'une référence DOM pour créer le lien vers sa page. -
altFacultatif: Un texte alternatif qui sera rendu à la place du nom de la référence, c'est utile pour afficher du code avancé commeappendChild()à la place deElement.appendChildlorsque vous parlez de la méthodeappendChild(). -
ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes. -
desactiver-codeFacultatif: Une valeur booléenne qui définit si l'élément est formaté comme du code ou du texte. La valeur par défaut estfalsece qui rend un code en ligne. Vous pouvez utiliser0ou1.astucePar exemple, pour appeler une API dans un paragraphe, sous la forme de texte, voici ce que vous pouvez écrire :
Cela fait référence à {{DOMxRef("Audio API", "l'API Audio", "", 1)}}.
{{Glossary(reference, [alt])}}
reference: Une chaîne de caractères correspondant au nom d'une entrée du glossaire pour créer le lien vers sa page.altFacultatif: Un texte alternatif qui sera rendu à la place du nom de l'entrée du glossaire, c'est également utile lorsque le nom de l'entrée du glossaire peut être traduite.
{{HTMLElement(reference, [alt, [ancre]])}}
-
reference: Une chaîne de caractères correspondant au nom d'un élément HTML pour créer le lien vers sa page. -
altFacultatif: Un texte alternatif qui sera rendu à la place du nom de l'élément HTML.attentionRemplir cette valeur a pour effet de changer le code en texte, cela veut dire que vous ne rendrez pas un bloc de code. C'est utile quand vous appelez les titres
<h1>à<h6>qui ne sont pas répertoriés comme des éléments HTML maisHeading_Elements.`{{HTMLElement("Heading_Elements", "<h1>")}}`Nous ajoutons des backticks autour pour rendre à nouveau un élément de code en ligne.
NoteCela permet de créer des éléments personnalisés plus complets, comme lorsque vous voulez écrire un élément de champ de formulaire typé, par exemple avec un champ de date :
`{{HTMLElement("input/date", "<input type=\"date\">")}}` -
ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes.
{{HTTPHeader(reference, [alt, [ancre, [desactiver-code]]])}}
reference: Une chaîne de caractères correspondant au nom d'un en-tête HTTP pour créer le lien vers sa page.altFacultatif: Un texte alternatif qui sera rendu à la place du nom de l'en-tête HTTP, par exemple pour rendre une valeur avec l'en-tête choisi.ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes.desactiver-codeFacultatif: Une valeur booléenne qui définit si l'élément est formaté comme du code ou du texte. La valeur par défaut estfalsece qui rend un code en ligne. Vous pouvez utiliser0ou1.
{{HTTPMethod(reference, [alt, [ancre, [desactiver-code]]])}}
reference: Une chaîne de caractères correspondant au nom d'une méthode HTTP pour créer le lien vers sa page.altFacultatif: Un texte alternatif qui sera rendu à la place du nom de la méthode HTTP, par exemple pour rendre une valeur avec la méthode choisie.ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes.desactiver-codeFacultatif: Une valeur booléenne qui définit si l'élément est formaté comme du code ou du texte. La valeur par défaut estfalsece qui rend un code en ligne. Vous pouvez utiliser0ou1.
{{HTTPStatus(reference, [alt, [ancre, [desactiver-code]]])}}
reference: Une chaîne de caractères correspondant au nom d'un statut HTTP pour créer le lien vers sa page.altFacultatif: Un texte alternatif qui sera rendu à la place du nom du statut HTTP, par exemple pour rendre une valeur avec le statut choisi.ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes.desactiver-codeFacultatif: Une valeur booléenne qui définit si l'élément est formaté comme du code ou du texte. La valeur par défaut estfalsece qui rend un code en ligne. Vous pouvez utiliser0ou1.
{{JSxRef(reference, [alt, [ancre, [desactiver-code]]])}}
-
reference: Une chaîne de caractères correspondant au nom d'une référence JavaScript pour créer le lien vers sa page.infoPar défaut, si vous ne signalez pas de dossier parent avant la référence, le dossier utilisé sera
Global_Objects. De plus.prototype.sera automatiquement ignoré et remplacé par/dans le lien. -
altFacultatif: Un texte alternatif qui sera rendu à la place du nom de la référence JavaScript, c'est utile pour afficher du code avancé commemap()à la place deArray.prototype.maplorsque vous parlez de la méthodemap(). Ou bien lorsque vous faites référence à une instruction, par exemple avecStatements/let, pour n'afficher quelet. -
ancreFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page. Il faut écrire l'ancre comme expliqué dans notre guide des liens internes. -
desactiver-codeFacultatif: Une valeur booléenne qui définit si l'élément est formaté comme du code ou du texte. La valeur par défaut estfalsece qui rend un code en ligne. Vous pouvez utiliser0ou1.
{{MathMLElement(reference)}}
reference: Une chaîne de caractères correspondant au nom d'un élément MathML pour créer le lien vers sa page.
{{RFC(numéro-du-rfc, [texte-additionnel, [section]])}}
numéro-du-rfc: Un nombre vers le numéro d'une page RFC pour créer le lien vers sa page. Cela rendraRFC 9114.texte-additionnelFacultatif: Un texte qui sera ajouté à à la suite du numéro pour afficher le titre du RFC, par exempleRFC 9114 : HTTP/3.sectionFacultatif: Une chaîne de caractères correspondant à un titre contenu dans la page du site du RFC.
Contrairement aux macros de liens interne, la macro RFC dirige vers une ressource externe écrite exclusivement en anglais.
{{SVGAttr(attribut)}}
attribut: Une chaîne de caractères correspondant au nom d'un attribut SVG pour créer le lien vers sa page.
{{SVGElement(element)}}
element: Une chaîne de caractères correspondant au nom d'un élément SVG pour créer le lien vers sa page.
Les macros appelant une barre de navigation
{{APIRef([nom-api])}}
nom-apiFacultatif: Une chaîne de caractères correspondant au nom d'une API pour créer le lien vers sa page. Si ce paramètre est laissé vide, la barre de navigation affichera une liste par défaut.
{{DefaultAPISidebar([nom-api])}}
nom-apiFacultatif: Une chaîne de caractères correspondant au nom d'une API pour créer le lien vers sa page d'arrivée. Cela utilise le paramètrelanding-pagedes pages anglaises.
Macros de navigation obsolètes
Les macros suivantes sont obsolètes et doivent être retirées des pages si vous les rencontrez.
AddonSidebarObsolèteGlossarySidebarObsolèteHTMLSidebarObsolèteJsSidebarObsolèteLearnSidebarObsolèteMathMLRefObsolèteMDNSidebarObsolètePWASidebarObsolèteSVGRefObsolèteWebAssemblySidebarObsolèteXsltSidebarObsolète
Les macros appelant des bannières et badges
{{AvailableInWorkers}}
Cet élément ne prend aucun paramètre.
Affiche une bannière signalant que la fonctionnalité est disponible dans les travailleurs web (Web Workers en anglais).
{{Deprecated_Header}}
Cet élément ne prend aucun paramètre.
Cette bannière signale que la fonctionnalité est obsolète, c'est à dire qu'elle est déconseillée à l'utilisation et qu'elle peut être supprimée dans le futur.
{{Deprecated_Inline}}
Cet élément ne prend aucun paramètre. C'est une version raccourcie de {{Deprecated_Header}} sous le format d'une icône (icône de poubelle).
{{Experimental_Inline}}
Cet élément ne prend aucun paramètre. C'est une version raccourcie de {{SeeCompatTable}} sous le format d'une icône (icône de flacon conique).
{{Non-standard_Header}}
Cet élément ne prend aucun paramètre.
Cette bannière signale que la fonctionnalité n'est pas standardisée, c'est à dire qu'elle n'est pas définie par une spécification ou n'est pas en voie d'être standardisée. Son utilisation en environnement de production est fortement déconseillée.
{{Non-standard_Inline}}
Cet élément ne prend aucun paramètre. C'est une version raccourcie de {{Non-standard_Header}} sous le format d'une icône (icône d'un point d'exclamation dans un triangle).
{{Optional_Inline}}
Cet élément ne prend aucun paramètre et rend un badge avec écrit «
{{ReadOnlyInline}}
Cet élément ne prend aucun paramètre et rend un badge avec écrit «
{{SecureContext_Header}}
Cet élément ne prend aucun paramètre.
La bannière signale que la fonctionnalité n'est disponible que dans un contexte sécurisé, c'est à dire dans une page chargée en HTTPS ou dans un environnement de confiance.
{{SecureContext_Inline}}
Cet élément ne prend aucun paramètre. C'est une version raccourcie de {{SecureContext_Header}} sous le format d'une icône (icône de cadenas).
{{SeeCompatTable}}
Cet élément ne prend aucun paramètre.
Cette bannière signale que la fonctionnalité décrite est expérimentale et peut donc fortement changer à l'avenir. Il est donc recommandé de ne pas l'utiliser en environnement de production au risque de rencontrer des comportements inattendus entre les navigateurs ; ou de voir la fonctionnalité absente des navigateurs qui ne la prennent pas encore en charge.
Les macros d'exemples interactifs
Vous pouvez retrouver un exemple de l'utilisation des macros d'exemples dans notre explication des exemples interactifs et des exemples de rendus.
{{EmbedGHLiveSample(url, [largeur, [hauteur]])}}
url: Une chaîne de caractères correspondant à l'URL d'un exemple sur Github.largeurFacultatif: Une valeur de largeur en format Nombre ou Pourcentage, par exemple600ou100%. Il est également possible d'écrire la valeur en pixels CSS, mais ne pas signaler l'unité rend le même résultat.hauteurFacultatif: Une valeur de hauteur en format Nombre ou Pourcentage, par exemple400ou100%. Il est également possible d'écrire la valeur en pixels CSS, mais ne pas signaler l'unité rend le même résultat.
{{EmbedLiveSample(titre, [largeur, [hauteur, [non-utilisé-1, [non-utilisé-2, [non-utilisé-3, [fonctionnalités-autorisées, [bas-à-sable]]]]]]])}}
-
titre: Une chaîne de caractères correspondant au titre de la section ou se situe l'exemple. Cela peut être au format de fragment d'URL ou le titre directement.astucePar exemple :
{{EmbedLiveSample("Exemple simple", 600, 400)}}ou
{{EmbedLiveSample("exemple_simple", 600, 400)}} -
largeurFacultatif: Une valeur de largeur en format Nombre ou Pourcentage, par exemple600ou100%. Il est également possible d'écrire la valeur en pixels CSS, mais ne pas signaler l'unité rend le même résultat. -
hauteurFacultatif: Une valeur de hauteur en format Nombre ou Pourcentage, par exemple400ou100%. Il est également possible d'écrire la valeur en pixels CSS, mais ne pas signaler l'unité rend le même résultat. -
non-utilisé-1Facultatif: Ce paramètre n'est pas utilisé. Il faut simplement écrire une chaîne de caractères vide (""). -
non-utilisé-2Facultatif: Ce paramètre n'est pas utilisé. Il faut simplement écrire une chaîne de caractères vide (""). -
non-utilisé-3Facultatif: Ce paramètre n'est pas utilisé. Il faut simplement écrire une chaîne de caractères vide (""). -
fonctionnalités-autoriséesFacultatif: Une chaîne de caractères correspondant aux fonctionnalités autorisées pour l'exemple. Par exemple, pour autoriser les fonctionnalités de la catégorie « geolocation », il faut écriregeolocation. -
bas-à-sableFacultatif: Une chaîne de caractères correspondant aux fonctionnalités que l'on souhaite autoriser dans l'élément<iframe>de l'exemple. Les valeurs possibles sont :allow-modals,allow-formsetallow-popupspour permettre dans l'ordre : l'utilisation de fenêtres contextuelles, de formulaires et de fenêtres affichées par-dessus le contenu.astucePar exemple :
{{EmbedLiveSample("Utiliser `prompt()`", "", "", "", "", "", "", "allow-popups")}}ou
{{EmbedLiveSample("utiliser_prompt", "", "", "", "", "", "", "allow-popups")}}
{{InteractiveExample(titre, [hauteur-supportée])}}
titre: Une chaîne de caractères qui sera affichée en titre de l'élément rendu.hauteur-supportéeFacultatif: Une chaîne de caractères permettant de modifier la hauteur du bloc d'exemple interactif rendu. Les valeurs possibles sont :shorter,taller,tabbed-shorter,tabbed-standard,tabbed-taller.
{{JSFiddleEmbed(url)}}
Cette macro est en cours de suppression et ne doit plus être utilisée.
Anciennement, cette macro permettait de rendre un exemple à partir d'un lien vers JSFiddle.
url: Une chaîne de caractères correspondant à l'URL d'un exemple JSFiddle.
{{LiveSampleLink(titre)}}
titre: Une chaîne de caractères qui correspond au titre de la section où se situe l'exemple pour créer un lien vers un example interactif qui utilisera le code inclus dans la section de ce titre.
Les macros de définitions
{{Compat}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche le tableau de compatibilité de la fonctionnalité présentée. Le tableau est paramétré depuis la page anglaise.
{{CSSInfo}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche les informations des définitions formelles d'une référence CSS. Les informations sont paramétrées depuis la page anglaise.
{{CSSSyntax}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche les syntaxes formelles d'une référence CSS. Les informations sont paramétrées depuis la page anglaise.
{{InheritanceDiagram}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche le diagramme d'héritage d'une référence API. Le diagramme est paramétré depuis la page anglaise.
{{js_property_attributes(modifable, énumérable, configurable)}}
modifable: Une valeur booléenne qui définit si la propriété est modifiable ou non. Vous pouvez utiliser0ou1.énumérable: Une valeur booléenne qui définit si la propriété est énumérable ou non. Vous pouvez utiliser0ou1.configurable: Une valeur booléenne qui définit si la propriété est configurable ou non. Vous pouvez utiliser0ou1.
{{Specifications}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche le tableau des spécifications qui décrivent la fonctionnalité présentée. Le tableau est paramétré depuis la page anglaise.
{{SVGInfo}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche les informations des définitions formelles d'une référence SVG. Les informations sont paramétrées depuis la page anglaise.
{{WebExtAllCompatTables}} Lecture seule
Cet élément ne prend aucun paramètre. Cela affiche tous les tableaux de compatibilité d'une API WebExtension. Les tableaux sont paramétrés depuis la page anglaise.
Les macros de menus pour Guides et Tutoriels d'apprentissage
Les macros suivantes affichent des liens de navigation vers les pages précédentes, suivantes et d'accueil des guides, tutoriels et catégories d'apprentissage.
{{Next(chemin-suivant)}}
chemin-suivant: Une chaîne de caractère correspondant à une URL interne vers la page suivante du tutoriel, de la catégorie d'apprentissage, du guide.
{{NextMenu(chemin-suivant, chemin-accueil)}}
chemin-suivant: Une chaîne de caractère correspondant à une URL interne vers la page suivante du tutoriel, de la catégorie d'apprentissage, du guide.chemin-accueil: Une chaîne de caractère correspondant à une URL interne vers la page d'accueil du tutoriel, de la catégorie d'apprentissage, du guide.
{{Previous(chemin-précédent)}}
chemin-précédent: Une chaîne de caractère correspondant à une URL interne vers la page précédente du tutoriel, de la catégorie d'apprentissage, du guide.
{{PreviousMenu(chemin-précédent, chemin-accueil)}}
chemin-précédent: Une chaîne de caractère correspondant à une URL interne vers la page précédente du tutoriel, de la catégorie d'apprentissage, du guide.chemin-accueil: Une chaîne de caractère correspondant à une URL interne vers la page d'accueil du tutoriel, de la catégorie d'apprentissage, du guide.
{{PreviousMenuNext(chemin-précédent, chemin-accueil, chemin-suivant)}}
chemin-précédent: Une chaîne de caractère correspondant à une URL interne vers la page précédente du tutoriel, de la catégorie d'apprentissage, du guide.chemin-accueil: Une chaîne de caractère correspondant à une URL interne vers la page d'accueil du tutoriel, de la catégorie d'apprentissage, du guide.chemin-suivant: Une chaîne de caractère correspondant à une URL interne vers la page suivante du tutoriel, de la catégorie d'apprentissage, du guide.
{{PreviousNext(chemin-précédent, chemin-suivant)}}
chemin-précédent: Une chaîne de caractère correspondant à une URL interne vers la page précédente du tutoriel, de la catégorie d'apprentissage, du guide.chemin-suivant: Une chaîne de caractère correspondant à une URL interne vers la page suivante du tutoriel, de la catégorie d'apprentissage, du guide.
Les macros diverses
{{SubpagesWithSummaries}} Lecture seule
- Cet élément ne prend aucun paramètre. Cela retourne la liste des sous-pages de la page parente.
Macros de navigation obsolètes
QuickLinksWithSubpagesLecture seuleObsolète