Help:TemplateStyles/fr

TemplateStyles est un outil permettant d'activer des feuilles de style (CSS) pour les modèles sans les droits d'administrateur.

Fonctionnement
Les contributeurs peuvent ajouter  à une page et le contenu d'  sera analysé comme code CSS, nettoyé et chargé sur les pages où la balise   est utilisée (directement ou en étant utilisé dans un modèle qui est utilisé sur une page).

doit avoir le modèle de contenu , qui est la valeur par défaut pour les sous-pages de l'espace de nom Modèle qui se terminent par. Il est recommandé d'enregister la feuille de style pour un modèle comme  dans une sous-page comme.

Si  n'a pas de préfixe d'espace de noms,  l'espace de noms du modèle est supposé. C'est-à-dire que, par exemple, que  chargera automatiquement.

La balise  doit être placée avant le contenu qui doit être chargé, par exemple en haut d'un modèle, afin d'éviter le clignotement du contenu pas encore mis en forme si la page est partiellement rendue alors qu'elle est en cours de chargement.

Quels sont les problèmes qu'il résout ?
Traditionnellement, il y a deux façons de mettre en forme les modèles (ou tout autre contenu) : en utilisant du code CSS directement en ligne (c'est-à-dire en utilisant du code HTML et en y ajoutant des attributs comme  ) ou en utilisant certains messages système spéciaux tels que MediaWiki:Common.css. Aucune de ces approches ne fonctionne très bien.

Pour les éléments de style en-ligne :


 * Il n'y a pas de séparation entre le contenu et la mise en forme. Dans les cas où le contenu ne provient pas d'un modèle (comme les tableaux dans les articles), le wikicode devient trop confus pour la plupart des contributeurs.
 * Puisque les éléments style sont mélangés avec le wikicode, la mise en évidence de la syntaxe du code CSS est alors difficile ou impossible.
 * Les éléments de style doivent être répétés pour chaque élément HTML auxquels ils s'appliquent, ce qui entraîne beaucoup de copier-coller et de code difficile à lire et à maintenir.
 * Les attributs de style sont limités à un sous-ensemble de CSS. Plus important encore, les règles  requises pour la conception d'une page adaptative (responsive) ne fonctionnent pas, il est donc impossible de créer des modèles qui fonctionnent bien sur une large gamme de tailles d'écran. De plus, les éléments de style en-ligne écrasent les éléments de style dépendant des choix de l'utilisateur, de sorte que les personnalisations spécifiques, à l'habillage ou à l'appareil deviennent plus difficiles.

Pour les pages système  :


 * Editing is limited to administrators, which is a major barrier to participation.
 * Editing restrictions cannot be lifted as there is no way to limit what CSS rules can be used, and some of them could be abused to track readers' IP addresses or even execute scripts in some older browsers.
 * Changes are impossible to test without saving first.
 * All stylesheets must be loaded on all pages (whether they actually use the page or not), which wastes bandwidth and makes debugging style rules harder.

TemplateStyles allows editors to associate style rules to specific pages, provides the full power of CSS stylesheets while filtering dangerous constructs, and works with preview/debug tools (such as TemplateSandbox) as expected.

Lowering the access and maintainability barrier will hopefully result in more innovation in the way templates are visually designed, less maintenance overhead, and better adaptability to screen options (especially mobile devices which by now constitute half of Wikipedia pageviews).

Est-ce que c'est sans danger ?
Yes! TemplateStyles includes a full-fledged CSS parser that reads, re-serializes and escapes all code and removes CSS rules which do not match its whitelist. The parser is sufficiently fine-grained to reject remote resources (such as background images) but allow local ones. CSS selectors are rewritten so that they cannot refer to elements outside article content. (Visually modifying areas outside article content by displacing parts of the article, e.g. via absolute positioning, is not prevented at this time. This is no change from the status quo, as such a thing was already possible with wikitext and inline styles.)

Quelles sont les règles CSS qui sont reconnues ?
Currently, TemplateStyles accepts most CSS3 properties supported by one or more major browser (as of early 2017). Beyond simple rules,,  ,  ,   and  /  at-rules are also supported (with font-face restricted to fonts whose name starts with  , for security reasons).

Non-standard properties (including vendor prefixes) are not currently supported. See T162379 for plans.

Quelles sont les fonctions anti-abus fournies ?
The design choice to store CSS in separate pages was made in part to make integration with the standard anti-abuse toolset easy. TemplateStyles CSS pages have their own content model so changes to them can be tracked or controlled with AbuseFilter, using the   variable.

CSS inclusion is tracked the same way as template transclusion, so you can see where a stylesheet is used via the "What links here" option, see what stylesheets are used on a page under "Page information" (and possibly on the edit screen, depending on what editor you use), and see what recent changes might be affecting a page using "Related changes".

TemplateStyles also leaves identifying information in the HTML code; to find out where a specific rule comes from, look at the page source, and the enclosing  tag will have an attribute like , where 123456 is the revision ID of the stylesheet (viewable with Special:Diff, for example).

Comment les décisions concernant TemplateStyles ont-elles été prises ?
The idea of including CSS with templates was proposed and accepted in a request for comments. Technical details were pinned down in a second RfC and workflow details in a user consultation.

Qui est chargé de TemplateStyles ?
TemplateStyles was originally a project of the Wikimedia Reading Infrastructure team (preceded by exploratory work Coren did as a volunteer), then people moved around. It is now maintained by an ad hoc WMF team consisting of Brad Jorsch (developer), Chris Koerner (community liaison), Dan Garry (product manager), Gergő Tisza (developer) and Grace Gellerman (project manager).

Où dois-je signaler les erreurs / demander des fonctionnalités ?
Please file tasks under the TemplateStyles component in Phabricator.

Où puis-je voir l'outil en action ?
You can look at some curated examples.

The feature is currently (as of March 2018) enabled on the following Wikimedia sites:


 * here on mediawiki.org (all stylesheets)
 * German Wikipedia (all stylesheets)
 * Swedish Wikipedia (all stylesheets)
 * Wikitech (all stylesheets)
 * testwiki (all stylesheets)

Voir aussi

 * Extension:TemplateStyles, especially the #Caveats section.