From e7f1d07cba1f78b72eb43bfcdabc262359c4991a Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Mon, 1 Nov 2021 07:45:47 +0100 Subject: Prepare SVG section for Markdown conversion (#2570) * Remove summary classes * Remove hidden classes out of pre * Remove spans * Remove notranslate class * Remove ids out of headings * missed 2 ids with regex * clean note and warning cards * fix headings errors * Fix dls and as * fix imgs * lint stuff (absolute urls, english links) * Temporarily readding file * delete inexisting doc in en-US with flaws * Fixes #2842 for SVG --- files/fr/web/svg/tutorial/basic_shapes/index.html | 8 +- .../svg/tutorial/basic_transformations/index.html | 28 +++---- .../svg/tutorial/clipping_and_masking/index.html | 4 +- .../web/svg/tutorial/fills_and_strokes/index.html | 28 ++++--- .../fr/web/svg/tutorial/filter_effects/index.html | 26 ++---- files/fr/web/svg/tutorial/gradients/index.html | 6 +- files/fr/web/svg/tutorial/index.html | 16 +--- files/fr/web/svg/tutorial/introduction/index.html | 18 ++-- .../svg/tutorial/other_content_in_svg/index.html | 18 ++-- files/fr/web/svg/tutorial/paths/index.html | 43 +++++----- files/fr/web/svg/tutorial/patterns/index.html | 37 ++++----- files/fr/web/svg/tutorial/positions/index.html | 6 +- files/fr/web/svg/tutorial/svg_and_css/index.html | 10 +-- files/fr/web/svg/tutorial/svg_fonts/index.html | 96 ++++++++++------------ .../tutorial/svg_in_html_introduction/index.html | 18 ++-- files/fr/web/svg/tutorial/texts/index.html | 16 ++-- files/fr/web/svg/tutorial/tools_for_svg/index.html | 20 ++--- 17 files changed, 183 insertions(+), 215 deletions(-) (limited to 'files/fr/web/svg/tutorial') diff --git a/files/fr/web/svg/tutorial/basic_shapes/index.html b/files/fr/web/svg/tutorial/basic_shapes/index.html index 9df236c6fd..b880c7228a 100644 --- a/files/fr/web/svg/tutorial/basic_shapes/index.html +++ b/files/fr/web/svg/tutorial/basic_shapes/index.html @@ -12,7 +12,7 @@ original_slug: Web/SVG/Tutoriel/Formes_de_base

Pour insérer une forme, vous devez ajouter un élément dans un document. Des éléments différents correspondent à des formes différentes et ont des attributs différents pour décrire leur taille et leur position. Certaines déclarations sont très fortement redondantes en ce qu'elles peuvent être créées par d'autres formes, mais elles sont toutes là de manière à faciliter votre vie et à rendre le document SVG aussi court et lisible que possible. Toutes les formes de bases sont affichées sur l'image de gauche. Le code pour générer tout cela ressemble à cela :

-

+

 <?xml version="1.0" standalone="no"?>
@@ -35,7 +35,9 @@ original_slug: Web/SVG/Tutoriel/Formes_de_base
 </svg>
 
-
Note : les attributs stroke, stroke-width et fill sont détaillés plus loin dans ce tutoriel.
+
+

Note : les attributs stroke, stroke-width et fill sont détaillés plus loin dans ce tutoriel.

+

Rectangle

@@ -143,7 +145,7 @@ original_slug: Web/SVG/Tutoriel/Formes_de_base
points
-
Idem que l'attribut points de l'élément <polyline>.
+
Idem que l'attribut points de l'élément <polyline>.

Chemin

diff --git a/files/fr/web/svg/tutorial/basic_transformations/index.html b/files/fr/web/svg/tutorial/basic_transformations/index.html index 003a88dc05..900c050801 100644 --- a/files/fr/web/svg/tutorial/basic_transformations/index.html +++ b/files/fr/web/svg/tutorial/basic_transformations/index.html @@ -12,20 +12,20 @@ original_slug: Web/SVG/Tutoriel/Transformations_de_base

Maintenant, nous sommes prêts à tordre nos images dans tous les sens. Mais avant toute chose, il faut vous présenter l'élément <g>. Cet assistant va vous permettre d'assigner des attributs à un ensemble d'éléments. En fait, c'est bien son seul rôle. Par exemple :

-
+

Exemple

+
<svg width="30" height="10">
     <g fill="red">
         <rect x="0" y="0" width="10" height="10" />
         <rect x="20" y="0" width="10" height="10" />
     </g>
 </svg>
-
-

{{ EmbedLiveSample('two_blocks', '30', '10') }}

+

{{ EmbedLiveSample('exemple', '30', '10') }}

-

Toutes les transformations suivantes sont résumées dans l'attribut transform de l'élément. Les transformations peuvent être mises les unes à la suite des autres, tout simplement en les écrivant toutes dans cet attribut, séparées par des espaces.

+

Toutes les transformations suivantes sont résumées dans l'attribut transform de l'élément. Les transformations peuvent être mises les unes à la suite des autres, tout simplement en les écrivant toutes dans cet attribut, séparées par des espaces.

-

Translation

+

Translation

Il peut être nécessaire de décaler un élément, même s'il est possible de définir sa position dans ses attributs. Pour ce faire, la fonction translate() est parfaite.

@@ -55,9 +55,9 @@ original_slug: Web/SVG/Tutoriel/Transformations_de_base

Les transformations peuvent être concaténées, séparées par des espaces. Par exemple, translate() et rotate() sont couramment utilisées ensemble:

-
<svg width="40" height="50" style="background-color:#bff;">
-    <rect x="0" y="0" width="10" height="10" transform="translate(30,40) rotate(45)" />
-</svg>
+
<svg width="40" height="50" style="background-color:#bff;">
+    <rect x="0" y="0" width="10" height="10" transform="translate(30,40) rotate(45)" />
+</svg>

{{ EmbedLiveSample('Transformations_multiples', '40', '50') }}

@@ -77,9 +77,9 @@ original_slug: Web/SVG/Tutoriel/Transformations_de_base

{xnewCoordSys=axprevCoordSys+cyprevCoordSys+eynewCoordSys=bxprevCoordSys+dyprevCoordSys+f\left\{ \begin{matrix} x_{\mathrm{prevCoordSys}} = a x_{\mathrm{newCoordSys}} + c y_{\mathrm{newCoordSys}} + e \\ y_{\mathrm{prevCoordSys}} = b x_{\mathrm{newCoordSys}} + d y_{\mathrm{newCoordSys}} + f \end{matrix} \right.

-

Voici un exemple concret sur la documentation de transformation SVG. Pour plus de renseignements, veuillez vous référer à la page de recommandation SVG.

+

Voici un exemple concret sur la documentation de transformation SVG. Pour plus de renseignements, veuillez vous référer à la page de recommandation SVG.

-

Effets sur les systèmes de coordonnées

+

Effets sur les systèmes de coordonnées

Quand vous utilisez une transformation, vous définissez un nouveau système de coordonnées dans l'élément que vous transformez. Cela signifie que vous appliquez la transformation à tous les attributs de l'élément transformé et donc que cet élément n'est plus dans une carte de pixel d'échelle 1:1. Cette carte est également déplacée, déformée, agrandie ou réduite selon la transformation qui lui est appliquée.

@@ -90,13 +90,13 @@ original_slug: Web/SVG/Tutoriel/Transformations_de_base </svg> -

Cet exemple aura pour résultat un rectangle de 100 par 100 pixels. Les effets les plus étonnants apparaissent lorsque vous utilisez des attributs tels que userSpaceOnUse.

+

Cet exemple aura pour résultat un rectangle de 100 par 100 pixels. Les effets les plus étonnants apparaissent lorsque vous utilisez des attributs tels que userSpaceOnUse.

{{ EmbedLiveSample('Effets_sur_les_systèmes_de_coordonnées', '100', '100') }}

-

Embarquer du SVG dans SVG

+

Embarquer du SVG dans SVG

-

Par opposition au HTML, le SVG peut embarquer d'autres éléments svg déclarés de manière tout à fait transparente. De cette façon, vous pouvez très simplement créer de nouveaux systèmes de coordonnées en utilisant viewBox, width et height de l'élément svg.

+

Par opposition au HTML, le SVG peut embarquer d'autres éléments svg déclarés de manière tout à fait transparente. De cette façon, vous pouvez très simplement créer de nouveaux systèmes de coordonnées en utilisant viewBox, width et height de l'élément svg.

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <svg width="100" height="100" viewBox="0 0 50 50">
@@ -111,4 +111,4 @@ original_slug: Web/SVG/Tutoriel/Transformations_de_base
 
 

{{ PreviousNext("Web/SVG/Tutoriel/Texts", "Web/SVG/Tutoriel/Découpages_et_masquages") }}

-

Interwiki Languages Links

+

Interwiki Languages Links

diff --git a/files/fr/web/svg/tutorial/clipping_and_masking/index.html b/files/fr/web/svg/tutorial/clipping_and_masking/index.html index d838dc5feb..868fa20e19 100644 --- a/files/fr/web/svg/tutorial/clipping_and_masking/index.html +++ b/files/fr/web/svg/tutorial/clipping_and_masking/index.html @@ -36,7 +36,7 @@ original_slug: Web/SVG/Tutoriel/Découpages_et_masquages

{{ EmbedLiveSample('Découper','240','240','/files/3224/clipdemo.png') }}

-

Nous avons maintenant un demi-cercle, sans avoir à passer par un arc dans un élément path. Pour le découpage, chaque forme à l'intérieur de clipPath est inspecté et évalué avec ses propriétés et ses transformations. Chaque zone transparente dans clipPath aura pour effet de masquer le contenu. La couleur, l'opacité et autres n'ont pas d'effet tant qu'ils ne rendent pas les formes complètement transparentes.

+

Nous avons maintenant un demi-cercle, sans avoir à passer par un arc dans un élément path. Pour le découpage, chaque forme à l'intérieur de clipPath est inspecté et évalué avec ses propriétés et ses transformations. Chaque zone transparente dans clipPath aura pour effet de masquer le contenu. La couleur, l'opacité et autres n'ont pas d'effet tant qu'ils ne rendent pas les formes complètement transparentes.

Masquage

@@ -85,7 +85,7 @@ original_slug: Web/SVG/Tutoriel/Découpages_et_masquages

Utilisation de techniques CSS bien connues

-

Un des outils les plus puissants parmis l'arsenal du développeur web est display: none. Il n'est donc pas étonnant qu'il ait été décidé que cette propriété CSS serait également intégrée à SVG, de même que visibility et clip définis en CSS 2. Pour ré-afficher un élément précédemment caché avec display: none il est important de savoir que la valeur initiale des éléments SVG est inline.

+

Un des outils les plus puissants parmis l'arsenal du développeur web est display: none. Il n'est donc pas étonnant qu'il ait été décidé que cette propriété CSS serait également intégrée à SVG, de même que visibility et clip définis en CSS 2. Pour ré-afficher un élément précédemment caché avec display: none il est important de savoir que la valeur initiale des éléments SVG est inline.

{{ PreviousNext("SVG/Tutoriel/Transformations_de_base", "Web/SVG/Tutoriel/Contenu_embarque_SVG") }}

diff --git a/files/fr/web/svg/tutorial/fills_and_strokes/index.html b/files/fr/web/svg/tutorial/fills_and_strokes/index.html index 6a17f408d6..b0b44168f7 100644 --- a/files/fr/web/svg/tutorial/fills_and_strokes/index.html +++ b/files/fr/web/svg/tutorial/fills_and_strokes/index.html @@ -11,9 +11,9 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes

Il y a différentes manières de colorer des formes: utiliser différents attributs SVG sur l'objet, utiliser du {{glossary("CSS")}} en ligne, une section CSS ou un fichier CSS externe. La plupart des {{glossary("SVG")}} que vous trouverez sur le Web utilisent du CSS en ligne, mais il y a des avantages et inconvénients pour chaque manière.

-

Attributs Fill et Stroke

+

Attributs Fill et Stroke

-

Colorer

+

Colorer

La coloration peut être faite en définissant deux attributs sur l'objet: fill et stroke. Fill définit la couleur de remplissage et stroke définit la couleur de la bordure. Vous pouvez utiliser la même convention de nommage des couleurs que CSS, que ce soit les noms (comme red), les valeurs rgb (comme rgb(255,0,0)), les valeurs hexadécimales, rgba, etc.

@@ -24,9 +24,11 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes

De plus, vous pouvez spécifier l'opacité de fill et/ou stroke. Celle-ci est contrôlé par les attributs fill-opacity et stroke-opacity respectivement.

-
Note: Dans Firefox 3+, les valeurs rgba sont autorisés, ce qui donne le même effet qu'utiliser les attributs d'opacité. En revanche, pour être compatible avec les autres navigateurs, il est souvent préférable de spécifier fill/stoke-opacity séparemment. Si vous spécifiez à la fois une valeur rgba et fill/stoke-opacity, les deux seront appliquées.
+
+

Note : Dans Firefox 3+, les valeurs rgba sont autorisés, ce qui donne le même effet qu'utiliser les attributs d'opacité. En revanche, pour être compatible avec les autres navigateurs, il est souvent préférable de spécifier fill/stoke-opacity séparemment. Si vous spécifiez à la fois une valeur rgba et fill/stoke-opacity, les deux seront appliquées.

+
-

Options du contour

+

Options du contour

Outre les propriétés de couleur, il existe quelques attributs additionnels pour contrôler la manière dont le contour est dessiné.

@@ -38,7 +40,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes

Le second attribut affectant le contour est la propriété stroke-linecap. Elle contrôle la forme des fins de ligne. Dans l'image ci-dessous, le chemin est dessiné en rose et le contour en noir.

-

+

<svg width="160" height="140" xmlns="http://www.w3.org/2000/svg" version="1.1">
   <line x1="40" x2="120" y1="20" y2="20"
@@ -63,7 +65,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes
 
 

La propriété stroke-linejoin permet de contrôler la manière de dessiner la liaison entre deux segments de ligne.

-

+

<svg width="160" height="280" xmlns="http://www.w3.org/2000/svg" version="1.1">
   <polyline points="40 60 80 20 120 60" stroke="black" stroke-width="20"
@@ -90,7 +92,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes
 
 

Finalement, vous pouvez également créer des lignes pointillées en spécifiant l'attribut stroke-dasharray.

-

+

<svg width="200" height="150" xmlns="http://www.w3.org/2000/svg" version="1.1">
   <path d="M 10 75 Q 50 10 100 75 T 190 75" stroke="black"
@@ -104,7 +106,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes
 

L'attribut stroke-dasharray prend une série de nombres séparés par une virgule en argument. 

-

Note: Contrairement aux paths, ces nombres doivent être séparés par des virgules (les espaces sont ignorés).

+

Note : Contrairement aux paths, ces nombres doivent être séparés par des virgules (les espaces sont ignorés).

Le premier nombre spécifie la distance du trait et le second la distance de l'espace. Dans l'exemple précédent, la ligne rouge commence par un trait de 5 suivit d'un espace de 5 (5,5), motif qui se répète sur le reste de la ligne. Vous pouvez spécifier davantage de nombres pour créer un motif de pointillés plus complexe. Pour la ligne noire on a spécifié trois nombres (5,10,5), ce qui a pour effet d'alterner le motif: (5 trait, 10 espace, 5 trait), (5 espace, 10 trait, 5 espace), etc.

@@ -119,11 +121,13 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes
  • stroke-dashoffset, définit à partir d'où commencer les pointilliés sur la ligne.
  • -

    Utiliser CSS

    +

    Utiliser CSS

    En plus de définir des attributs sur des objets, vous pouvez également utiliser CSS pour styliser les remplissages et les contours. Tous les attributs ne peuvent pas être définis via CSS. Ceux qui traitent le remplissage et le contour le sont généralement, fill, stroke, stroke-dasharray, etc... peuvent donc être définis de cette manière. Les attributs tels que width, height, ou les commandes des paths, ne peuvent pas être définis par CSS. Le plus simple est de tester pour découvrir ce qui est disponible et ce qui ne l'est pas.

    -
    Note: La spécification SVG décide strictement entre les attributs qui sont des propriétés et les autres. Les premiers peuvent être modifiés avec CSS, les derniers non.
    +
    +

    Note : La spécification SVG décide strictement entre les attributs qui sont des propriétés et les autres. Les premiers peuvent être modifiés avec CSS, les derniers non.

    +

    En ligne

    @@ -134,7 +138,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes

    Dans un section style

    -

    Sinon, il peut être déplacé vers une section style. Au lieu de l'insérer dans une section <head> comme vous le feriez en HTML, on la place dans la zone <defs> du SVG. <defs> (abbréviation de definitions) est l'endroit où vous placez les éléments qui n'apparaissent pas dans le SVG directement, mais qui sont utilisés par les autres éléments.

    +

    Sinon, il peut être déplacé vers une section style. Au lieu de l'insérer dans une section <head> comme vous le feriez en HTML, on la place dans la zone <defs> du SVG. <defs> (abbréviation de definitions) est l'endroit où vous placez les éléments qui n'apparaissent pas dans le SVG directement, mais qui sont utilisés par les autres éléments.

    <?xml version="1.0" standalone="no"?>
     <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" version="1.1">
    @@ -159,7 +163,7 @@ original_slug: Web/SVG/Tutoriel/Fills_and_Strokes
     
     

    Dans un fichier externe

    -

    Ou vous pouvez spécifier une feuille de style externe pour vos règles CSS avec la syntaxe XML pour les stylesheets:

    +

    Ou vous pouvez spécifier une feuille de style externe pour vos règles CSS avec la syntaxe XML pour les stylesheets:

    <?xml version="1.0" standalone="no"?>
     <?xml-stylesheet type="text/css" href="style.css"?>
    diff --git a/files/fr/web/svg/tutorial/filter_effects/index.html b/files/fr/web/svg/tutorial/filter_effects/index.html
    index 332a9b39f5..4fb19b51a6 100644
    --- a/files/fr/web/svg/tutorial/filter_effects/index.html
    +++ b/files/fr/web/svg/tutorial/filter_effects/index.html
    @@ -115,34 +115,24 @@ original_slug: Web/SVG/Tutoriel/filtres
     
     

    Finalement, {{SVGElement('feMerge')}} fusionne ensemble "offsetBlur", qui est l'ombre portée, et "litPaint", qui est l'élément d'origine avec l'effet d'éclairage.

    -
    -
    Source graphic -

    Élément d'origine

    -
    +graphique source +

    Graphique source

    -
    Primitive 1 +Primitive 1

    Primitive 1

    -
    -
    Primitive 2 +Primitive 2

    Primitive 2

    -
    -
    Primitive 3 +Primitive 3

    Primitive 3

    -
    -
    Primitive 4 +Primitive 4

    Primitive 4

    -
    -
    Primitive 5 +Primitive 5

    Primitive 5

    -
    -
    Primitive 6 +Primitive 6

    Primitive 6

    -
    -
    -

    {{ PreviousNext("Web/SVG/Tutoriel/Contenu_embarque_SVG", "Web/SVG/Tutoriel/polices_SVG") }}

    diff --git a/files/fr/web/svg/tutorial/gradients/index.html b/files/fr/web/svg/tutorial/gradients/index.html index 1e5e8e7d45..4528d51fb7 100644 --- a/files/fr/web/svg/tutorial/gradients/index.html +++ b/files/fr/web/svg/tutorial/gradients/index.html @@ -13,7 +13,7 @@ original_slug: Web/SVG/Tutoriel/Gradients

    Il y a deux types de dégradés: linéaire et radial. Les dégradés sont définis dans la section defs et non sur les formes elles-mêmes — cela favorise leur réusabilité. Vous devez donner au dégradé un attribut id; autrement, il ne pourra pas être utilisé par les autres éléments à l'intérieur du fichier SVG.

    -

    Dégradé Linéaire

    +

    Dégradé Linéaire

    Les dégradés linéaires (linear gradient en anglais) changent de couleur le long d'une ligne droite. Pour en insérer un, on crée un élément {{SVGElement('linearGradient')}} dans la section des définitions du fichier SVG.

    @@ -79,12 +79,12 @@ original_slug: Web/SVG/Tutoriel/Gradients <stop id="stop3" offset="100%"/> </linearGradient> <linearGradient id="Gradient2" x1="0" x2="0" y1="0" y2="1" - xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#Gradient1"/> + xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#Gradient1"/>

    Ici, le namespace xlink est inclut directement sur le noeud, bien qu'il soit généralement définit en haut du document, comme dans l'exemple avec les images

    -

    Dégradé Radial

    +

    Dégradé Radial

    Les dégradés radiaux (radial gradient en anglais) sont similaires aux dégradés linéaires à la différence près qu'ils irradient autour d'un point. Pour en créer un, on crée un élément {{SVGElement('radialGradient')}} dans la section de définitions du document SVG.

    diff --git a/files/fr/web/svg/tutorial/index.html b/files/fr/web/svg/tutorial/index.html index eacaeb73c4..8e47aea0cd 100644 --- a/files/fr/web/svg/tutorial/index.html +++ b/files/fr/web/svg/tutorial/index.html @@ -11,13 +11,12 @@ tags: translation_of: Web/SVG/Tutorial original_slug: Web/SVG/Tutoriel --- -

    SVG, pour Scalable Vector Graphics (ou encore Graphismes vectoriels redimensionnables), est un langage basé sur le XML du W3C qui permet de définir des éléments graphiques avec des balises. Ce langage est plus ou moins implémenté dans Firefox, Opera, les navigateurs à base de Webkit, Internet Explorer et les autres navigateurs Web.

    +

    SVG, pour Scalable Vector Graphics (ou encore Graphismes vectoriels redimensionnables), est un langage basé sur le XML du W3C qui permet de définir des éléments graphiques avec des balises. Ce langage est plus ou moins implémenté dans Firefox, Opera, les navigateurs à base de Webkit, Internet Explorer et les autres navigateurs Web.

    Ce tutoriel a pour but d'expliquer les mécanismes internes de SVG et regorge de détails techniques. Si vous souhaitez juste dessiner de belles images, vous trouverez plus facilement votre bonheur sur la page de documentation d'Inkscape. Le W3C fournit également une bonne introduction au format SVG, en anglais.

    -
    -

    Note :

    -

    Le tutoriel en est encore à un stade précoce de développement. Si vous le pouvez, aidez-nous en rédigeant un paragraphe ou deux. Des points supplémentaires pour l'écriture d'une page entière !

    +
    +

    Note : Le tutoriel en est encore à un stade précoce de développement. Si vous le pouvez, aidez-nous en rédigeant un paragraphe ou deux. Des points supplémentaires pour l'écriture d'une page entière !

    Introduction à « SVG from Scratch »

    @@ -42,11 +41,4 @@ original_slug: Web/SVG/Tutoriel
  • Graphiques SVG
  • -

    Les sujets suivants sont plus avancés et devraient donc faire l'objet de leurs propres tutoriels.

    - -

    Scripter SVG avec JavaScript

    - -
    -

    Brouillon

    -

    Cette section est en cours de création.

    -
    +

    Les sujets suivants sont plus avancés et devraient donc faire l'objet de leurs propres tutoriels.

    \ No newline at end of file diff --git a/files/fr/web/svg/tutorial/introduction/index.html b/files/fr/web/svg/tutorial/introduction/index.html index e6bd6d5c2e..0bac917759 100644 --- a/files/fr/web/svg/tutorial/introduction/index.html +++ b/files/fr/web/svg/tutorial/introduction/index.html @@ -9,11 +9,11 @@ original_slug: Web/SVG/Tutoriel/Introduction ---

    {{ PreviousNext("SVG/Tutoriel", "SVG/Tutoriel/Premiers_pas") }}

    -

    lion_svg.pngSVG est un langage XML, assez similaire au XHTML. Ce langage peut être utilisé pour dessiner des choses complexes, comme le petit lion sur la gauche. Je l'ai dit en présentation de ce tutoriel, le SVG est un langage vectoriel. En gros, cela veut dire que l'image peut être transformée, rétrécie, agrandie, bref, manipulée, sans perte de qualité.

    +

    SVG est un langage XML, assez similaire au XHTML. Ce langage peut être utilisé pour dessiner des choses complexes, comme le petit lion sur la gauche. Je l'ai dit en présentation de ce tutoriel, le SVG est un langage vectoriel. En gros, cela veut dire que l'image peut être transformée, rétrécie, agrandie, bref, manipulée, sans perte de qualité.

    La seconde particularité est que vous allez pouvoir lire le code. Stop ! Lire une image ? Et oui, cela vient du fait que SVG dérive du XML. Nous verrons dans ce tutoriel que le code SVG reste (la plupart du temps) humainement lisible. C'est aussi sympa car on va pouvoir le transformer en arbre DOM et ainsi le manipuler, avec du CSS et / ou du Javascript.

    -

    SVG est apparu en 1999, après que plusieurs formats concurrents aient été soumis au W3C  sans succès. SVG est pris en charge par tous les principaux navigateurs. Un inconvénient est que le chargement SVG peut être lent. En contrepartie, l'avantage c'est de disposer du DOM et de ne pas nécessiter d'extensions tierces. Choisir d'utiliser ou non SVG dépend souvent des cas d'utilisation.

    +

    SVG est apparu en 1999, après que plusieurs formats concurrents aient été soumis au W3C  sans succès. SVG est pris en charge par tous les principaux navigateurs. Un inconvénient est que le chargement SVG peut être lent. En contrepartie, l'avantage c'est de disposer du DOM et de ne pas nécessiter d'extensions tierces. Choisir d'utiliser ou non SVG dépend souvent des cas d'utilisation.

    Les ingrédients de base

    @@ -25,9 +25,11 @@ original_slug: Web/SVG/Tutoriel/Introduction

    Les bons outils

    -

    Il y a un certain nombre de logiciels de dessin disponibles qui utilisent SVG comme format natif. Certains, comme Inkscape, sont libres et gratuits. Néanmoins, ce tutoriel se basera sur le XML et un simple éditeur de texte. Le but est d'enseigner les mécanismes de SVG à ceux qui veulent les comprendre, et la meilleure façon de le faire est de mettre les mains dans le cambouis avec un peu de balisage.

    +

    Il y a un certain nombre de logiciels de dessin disponibles qui utilisent SVG comme format natif. Certains, comme Inkscape, sont libres et gratuits. Néanmoins, ce tutoriel se basera sur le XML et un simple éditeur de texte. Le but est d'enseigner les mécanismes de SVG à ceux qui veulent les comprendre, et la meilleure façon de le faire est de mettre les mains dans le cambouis avec un peu de balisage.

    -

    Tous les visionneurs SVG ne sont pas égaux, il est donc probable que quelque chose écrit pour une application ne s'affiche pas exctement de la même manière dans une autre, simplement parce qu'ils prennent en charge différentes spécifications SVG, CSS ou JavaScript.

    +
    +

    Note : Tous les visionneurs SVG ne sont pas égaux, il est donc probable que quelque chose écrit pour une application ne s'affiche pas exctement de la même manière dans une autre, simplement parce qu'ils prennent en charge différentes spécifications SVG, CSS ou JavaScript.

    +

    Avant de commencer, vous devez avoir une compréhension basique du XML ou d'un autre langage de balisage comme le HTML. Si vous n'êtes pas à l'aise avec le XML, voici quelques règles à garder en-tête :

    @@ -36,7 +38,7 @@ original_slug: Web/SVG/Tutoriel/Introduction
  • Les valeurs des attributs en SVG doivent être placées entre guillemets même si ce sont des nombres.
  • -

    La spécification du langage SVG (en) est énorme. Ce tutoriel a pour but d'en traiter juste assez pour pouvoir commencer. Une fois que vous serez à l'aise avec les bases du SVG, vous devriez être capables d'utiliser les références d'éléments et les références d'interfaces pour découvrir tout ce que vous aurez besoin de connaître.

    +

    La spécification du langage SVG (en) est énorme. Ce tutoriel a pour but d'en traiter juste assez pour pouvoir commencer. Une fois que vous serez à l'aise avec les bases du SVG, vous devriez être capables d'utiliser les références d'éléments et les références d'interfaces pour découvrir tout ce que vous aurez besoin de connaître.

    Les versions SVG

    @@ -48,8 +50,4 @@ original_slug: Web/SVG/Tutoriel/Introduction

    Une spécification SVG Print était prévue, qui ajouterait la prise en charge de plusieurs pages et une gestion améliorée des couleurs. Ce travail a été interrompu.

    -

    {{ PreviousNext("SVG/Tutoriel", "SVG/Tutoriel/Premiers_pas") }}

    - -

    Interwiki Languages Links

    - -

    {{ languages( { "en": "en/SVG/Tutorial/Introduction", "ja": "ja/SVG/Tutorial/Introduction" } ) }}

    +

    {{ PreviousNext("SVG/Tutoriel", "SVG/Tutoriel/Premiers_pas") }}

    \ No newline at end of file diff --git a/files/fr/web/svg/tutorial/other_content_in_svg/index.html b/files/fr/web/svg/tutorial/other_content_in_svg/index.html index c8d11cff2f..0356f8789c 100644 --- a/files/fr/web/svg/tutorial/other_content_in_svg/index.html +++ b/files/fr/web/svg/tutorial/other_content_in_svg/index.html @@ -8,21 +8,21 @@ original_slug: Web/SVG/Tutoriel/Contenu_embarque_SVG

    En plus des formes graphiques simples comme les rectangles et les cercles, le format SVG permet d'ajouter d'autres types de contenu aux images.

    -

    Embarquer des images

    +

    Embarquer des images

    De la même façon qu'il est possible d'utiliser la balise img en HTML, le format SVG possède un élément image qui a la même utilité. Vous pouvez l'utiliser pour insérer des images bitmap ou vectorielles dans votre image SVG. La spécification définit que les formats PNG, JPEG et SVG au moins doivent être supportés.

    L'image embarquée devient un élément SVG normal. Cela implique que vous pouvez utiliser le découpage, les masques, les filtres, les rotations et toute la panoplie des outils svg sur ce contenu embarqué :

    -
    <svg version="1.1"
    -     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
    -     width="200" height="200">
    -  <image x="90" y="-65" width="128" height="146" transform="rotate(45)"
    -     xlink:href="https://developer.mozilla.org/media/img/mdn-logo.png"/>
    +
    <svg version="1.1"
    +  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
    +  width="200" height="200">
    +<image x="90" y="-65" width="128" height="146" transform="rotate(45)"
    +  xlink:href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image/mdn_logo_only_color.png"/>
     </svg>
     
    -

    imagedemo.png

    +

    {{ EmbedLiveSample('embarquer_des_images','220','240') }}

    Embarquer du contenu XML quelconque

    @@ -30,7 +30,9 @@ original_slug: Web/SVG/Tutoriel/Contenu_embarque_SVG

    L'élément foreignObject est donc la bonne méthode pour embarquer du XHTML dans du SVG. Si le SVG doit contenir du texte de longueur conséquente, la disposition HTML est bien plus pratique et utilisable que l'élément SVG text. Une autre utilisation bien pratique de cet élément est l'adjonction de formules avec MathML. Pour des applications scientifiques utilisant le SVG, c'est un bon moyen de permettre la communication entre ces deux univers.

    -
    Note: Gardez à l'esprit que le contenu du foreignObject doit pouvoir être analysé et pris en compte par votre lecteur SVG. Il y a peu de chances qu'un lecteur SVG autonome soit capable de restituer du contenu HTML or MathML.
    +
    +

    Note : Gardez à l'esprit que le contenu du foreignObject doit pouvoir être analysé et pris en compte par votre lecteur SVG. Il y a peu de chances qu'un lecteur SVG autonome soit capable de restituer du contenu HTML or MathML.

    +

    Etant donné que le foreignObject est un élément SVG comme un autre, vous pouvez, comme dans le case de l'élément image, utiliser toute la panoplie des attributs SVG qui pourrait s'appliquer au contenu embarqué.

    diff --git a/files/fr/web/svg/tutorial/paths/index.html b/files/fr/web/svg/tutorial/paths/index.html index c006452033..e0160782bb 100644 --- a/files/fr/web/svg/tutorial/paths/index.html +++ b/files/fr/web/svg/tutorial/paths/index.html @@ -9,7 +9,7 @@ original_slug: Web/SVG/Tutoriel/Paths ---

    {{ PreviousNext("Web/SVG/Tutoriel/Formes_de_base", "Web/SVG/Tutoriel/Fills_and_Strokes") }}

    -

    L’élément <path> (chemin en français) est le plus versatile des éléments de la bibliothèque SVG parmi les formes basiques. Vous pouvez l’utiliser pour créer des lignes, des courbes, des arcs et autres.

    +

    L’élément <path> (chemin en français) est le plus versatile des éléments de la bibliothèque SVG parmi les formes basiques. Vous pouvez l’utiliser pour créer des lignes, des courbes, des arcs et autres.

    Les chemins créent des formes en combinant plusieurs lignes droites ou courbes. Les formes composées uniquement de lignes droites peuvent être crées avec des lignes brisées (polylines). Bien que les lignes brisées et les chemins peuvent tout deux créer des formes d’apparence similaire, les lignes brisées nécessitent un grand nombre de petites lignes pour simuler des courbes, et qui ne s’adaptent pas bien aux grandes tailles. Une bonne compréhension des chemins est importante pour dessiner en SVG. Bien qu’il ne soit pas recommandé d'éditer des chemins complexes avec un éditeur XML ou texte (on utilisera plutôt un éditeur SVG tel que Inkscape ou Adobe Illustrator), comprendre comment un chemin s'écrit vous permettra éventuellement d’identifier et de corriger des erreurs d’affichage dans un SVG.

    @@ -38,7 +38,7 @@ original_slug: Web/SVG/Tutoriel/Paths

    Dans l’exemple suivant, on se place au point (10, 10). Notez cependant qu'à ce stade rien n'est dessiné, on a manuellement ajouté un cercle pour indiquer la position:

    -

    +

    <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 10"/>
    @@ -60,9 +60,9 @@ original_slug: Web/SVG/Tutoriel/Paths
     V y (ou v dy)
     
    -

    Afin de commencer facilement, nous allons dessiner une forme simple, un rectangle (qu'on aurait aussi pu dessiner avec un élément <rect>). Il est composé uniquement de lignes horizontales et verticales :

    +

    Afin de commencer facilement, nous allons dessiner une forme simple, un rectangle (qu'on aurait aussi pu dessiner avec un élément <rect>). Il est composé uniquement de lignes horizontales et verticales :

    -

    +

    <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 10 H 90 V 90 H 10 L 10 10"/>
    @@ -101,7 +101,7 @@ V y (ou v dy)
     
     

    Commandes pour les courbes

    -

    Il existe trois commandes différentes pour créer des courbes. Deux d’entre elles sont des courbes de Bézier, et la troisième est un « arc » ou section de cercle. Il se peut que vous ayez déjà acquis une expérience pratique avec les courbes de Bézier en utilisant les outils de chemins avec Inkscape, Illustrator ou Photoshop. Pour une description complète des concepts mathématiques sous-jacents, vous pouvez consulter la page Wikipedia Courbe de Bézier.

    +

    Il existe trois commandes différentes pour créer des courbes. Deux d’entre elles sont des courbes de Bézier, et la troisième est un « arc » ou section de cercle. Il se peut que vous ayez déjà acquis une expérience pratique avec les courbes de Bézier en utilisant les outils de chemins avec Inkscape, Illustrator ou Photoshop. Pour une description complète des concepts mathématiques sous-jacents, vous pouvez consulter la page Wikipedia Courbe de Bézier.

    Il existe une infinité de courbes de Bézier, mais seulement deux des plus simples d’entre elles sont disponibles dans les éléments path: l’une cubique, invoquée avec C, et l’autre quadratique, invoquée avec Q.

    @@ -116,7 +116,7 @@ V y (ou v dy)

    Les points de contrôle décrivent, pour faire simple, la pente de la courbe pour le point de départ et pour le point d'arrivée. La fonction Bézier crée ensuite une courbe lisse faisant le lien entre la pente que vous avez établie au début de votre ligne, et celle à l’autre extrémité.

    -

    Cubic Bézier Curves with grid

    +

    <svg width="190" height="160" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 10 C 20 20, 40 20, 50 10" stroke="black" fill="transparent"/>
    @@ -151,7 +151,7 @@ V y (ou v dy)
     
     

    Un exemple de cette syntaxe est montré ci-dessous. Dans la figure associée, les points de contrôle spécifiés sont indiqués en rouge, et le point de contrôle inféré, en bleu.

    -

    ShortCut_Cubic_Bezier_with_grid.png

    +

    <svg width="190" height="160" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80" stroke="black" fill="transparent"/>
    @@ -166,7 +166,8 @@ V y (ou v dy)
     
     

    (x1 y1) est la position du point de contrôle, et (x y) est le point d’arrivée de la courbe.

    -

    Quadratic Bézier with grid

    +

    courbe de Bézier quadratique avec une grille

    +
    <svg width="190" height="160" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 80 Q 95 10 180 80" stroke="black" fill="transparent"/>
    @@ -182,10 +183,11 @@ V y (ou v dy)
     

    Ce raccourci examine le précédent point de contrôle utilisé et en infère un nouveau à partir de celui-ci. Cela signifie qu’après un premier point de contrôle, vous pouvez créer des formes assez complexes en spécifiant seulement les points d’extrémités.

    -

    Note: Ce raccourci fonctionne uniquement si la commande précédente est une commande Q ou T. Dans le cas contraire, le point de contrôle est considéré comme le même que le point précédent, et vous ne dessinerez que des lignes.

    +

    Note : Ce raccourci fonctionne uniquement si la commande précédente est une commande Q ou T. Dans le cas contraire, le point de contrôle est considéré comme le même que le point précédent, et vous ne dessinerez que des lignes.

    -

    Shortcut_Quadratic_Bezier_with_grid.png

    +

    +
    <svg width="190" height="160" xmlns="http://www.w3.org/2000/svg">
       <path d="M10 80 Q 52.5 10, 95 80 T 180 80" stroke="black" fill="transparent"/>
    @@ -193,7 +195,7 @@ V y (ou v dy)
     
     

    Les deux courbes produisent des résultats similaires, bien que les courbes cubiques vous offrent une plus grande liberté dans l’apparence exacte que vous voulez donner à votre courbe. Le choix du type de courbe de Bézier à utiliser se fait au cas par cas, et dépend du nombre de symétries que présente votre ligne.

    -

    Elliptical Arc

    +

    Elliptical Arc

    Le dernier type de ligne courbe que vous pouvez créer avec SVG est l’arc, invoqué avec A (Elliptical Arc). Les arcs sont des sections de cercles ou d’ellipses.

    @@ -207,7 +209,7 @@ a rx ry x-axis-rotation large-arc-flag sweep-flag dx dy

    x-axis-rotation décrit la rotation de l’arc. Il s’explique plus facilement avec un exemple:

    -

    SVGArcs_XAxisRotation_with_grid

    +

    SVGArcs_XAxisRotation_with_grid

    <svg width="320" height="320" xmlns="http://www.w3.org/2000/svg">
       <line x1="10" y1="315" x2="315" y2="10" stroke="black" stroke-width="2" />
    @@ -238,10 +240,9 @@ a rx ry x-axis-rotation large-arc-flag sweep-flag dx dy
           stroke="blue" stroke-width="6" fill="none" />
     
    - -

    {{ EmbedLiveSample('Playable_code', '100%', 200) }}

    +

    {{ EmbedLiveSample('exemple_jouable', '100%', 200) }}

    large-arc-flag

    @@ -279,10 +280,9 @@ a rx ry x-axis-rotation large-arc-flag sweep-flag dx dy stroke="blue" stroke-width="6" fill="none" />
    - -

    {{ EmbedLiveSample('Playable_code_2', '100%', 200) }}

    +

    {{ EmbedLiveSample('code_jouable_2', '100%', 200) }}

    L’exemple ci-dessous montre les quatre combinaisons possibles avec sweep-flag et large-arc-flag:

    -

    +

    <svg width="325" height="325" xmlns="http://www.w3.org/2000/svg">
       <path d="M80 80
    diff --git a/files/fr/web/svg/tutorial/patterns/index.html b/files/fr/web/svg/tutorial/patterns/index.html
    index 0b170b5b48..703d6f3935 100644
    --- a/files/fr/web/svg/tutorial/patterns/index.html
    +++ b/files/fr/web/svg/tutorial/patterns/index.html
    @@ -56,10 +56,10 @@ original_slug: Web/SVG/Tutoriel/Motifs
     
     

    La chose à retenir est que si l'objet change de taille, le motif lui-même sera mis à l'échelle mais les objets à l'intérieur non. Ainsi, alors qu'on aura toujours 4 motifs qui se répètent horizontalement et verticalement, les objets à l'intérieur du motif garderont la même taille, et une zone vide sera affichée.

    - -

    {{ EmbedLiveSample('Playable_code','220','350') }}

    +

    {{ EmbedLiveSample('exemple_jouable','220','350') }}

    Unités du contenu: objectBoundingBox

    @@ -127,10 +126,9 @@ window.addEventListener('load', drawSvg);

    Maintenant, parce le contenu du motif utilise le même système d'unité que le motif, le motif redimensionne automatiquement son contenu. Cela contraste avec le système "userSpaceOnUse" par défaut, où lorsque le motif change le taille, le contenu garde la même taille.

    - -

    {{ EmbedLiveSample('Playable_code_2','220','350') }}

    +

    {{ EmbedLiveSample('code_jouable_2','220','350') }}

    -

    Note: Dans Gecko, les cercles semblent avoir du mal à être dessinés si le rayon est inférieur à 0.075 (on ignore s'il s'agit d'un bug de l'élément pattern ou non). Pour contourner ce problème, il est probablement préférable d'éviter de dessiner des cercles dans des unités "objectBoundingBox".

    +
    +

    Note : Dans Gecko, les cercles semblent avoir du mal à être dessinés si le rayon est inférieur à 0.075 (on ignore s'il s'agit d'un bug de l'élément pattern ou non). Pour contourner ce problème, il est probablement préférable d'éviter de dessiner des cercles dans des unités "objectBoundingBox".

    +

    Unités du motif: userSpaceOnUse

    @@ -200,10 +199,9 @@ window.addEventListener('load', drawSvg);

    Bien sûr, cela veut dire que le motif ne sera pas mis à l'échelle si vous modifiez la taille de l'objet ultérieurement.

    - -

    {{ EmbedLiveSample('Playable_code_3','220','350') }}

    +

    {{ EmbedLiveSample('exemple_jouable_3','220','350') }}

    Récapitulatif

    Les trois exemples sont illustrés ci-dessous sur un rectangle allongé à une hauteur de 300px:

    -

    Image:SVG_Pattern_Comparison_of_Units.png

    +

    {{ PreviousNext("Web/SVG/Tutoriel/Gradients", "Web/SVG/Tutoriel/Texts") }}

    diff --git a/files/fr/web/svg/tutorial/positions/index.html b/files/fr/web/svg/tutorial/positions/index.html index a2542da4f7..4a42fe000f 100644 --- a/files/fr/web/svg/tutorial/positions/index.html +++ b/files/fr/web/svg/tutorial/positions/index.html @@ -12,7 +12,9 @@ original_slug: Web/SVG/Tutoriel/Positionnement

    La grille

    -

    Pour chaque élément, SVG utilise un ensemble de coordonnées aussi appelé grille assez similaire à ce qui est utilisé dans canvas (et par tout un tas d'autres routines de dessin informatique). Dans le cas présent, le point en haut à gauche est considéré comme le point (0,0) ou point d'origine. Le positionnement est ensuite mesuré en pixel, depuis le coin supérieur gauche. Les valeurs positives de x vont vers la droite, les valeurs positives de y vont vers le bas. Notez que tout ceci est un peu contraire à la géométrie que l'on vous a enseignée. Ici, le positionnement fonctionne de la même manière que pour les éléments HTML.

    +

    Pour chaque élément, SVG utilise un ensemble de coordonnées aussi appelé grille assez similaire à ce qui est utilisé dans canvas (et par tout un tas d'autres routines de dessin informatique). Dans le cas présent, le point en haut à gauche est considéré comme le point (0,0) ou point d'origine. Le positionnement est ensuite mesuré en pixel, depuis le coin supérieur gauche. Les valeurs positives de x vont vers la droite, les valeurs positives de y vont vers le bas. Notez que tout ceci est un peu contraire à la géométrie que l'on vous a enseignée. Ici, le positionnement fonctionne de la même manière que pour les éléments HTML.

    + +

    Exemple

    @@ -51,6 +53,6 @@ original_slug: Web/SVG/Tutoriel/Positionnement

    {{ PreviousNext("SVG/Tutoriel/Premiers_pas", "SVG/Tutoriel/Formes_de_base") }}

    -

    Interwiki Languages Links

    +

    Interwiki Languages Links

    {{ languages( { "en": "en/SVG/Tutorial/Positions"} ) }}

    diff --git a/files/fr/web/svg/tutorial/svg_and_css/index.html b/files/fr/web/svg/tutorial/svg_and_css/index.html index d941eff34f..d631eaa441 100644 --- a/files/fr/web/svg/tutorial/svg_and_css/index.html +++ b/files/fr/web/svg/tutorial/svg_and_css/index.html @@ -17,9 +17,8 @@ original_slug: CSS/Premiers_pas/Graphiques_SVG

    Nous allons voir par la suite un exemple que vous pourrez copier pour l'exécuter dans votre navigateur (à la condition que celui-ci soit compatible avec SVG).

    -
    -

    Note :

    -

    Les éléments référencés par des éléments <use> héritent des styles de cet élément. Pour leur appliquer des styles différents, il faut donc utiliser les propriétés CSS personnalisées (custom properties).

    +
    +

    Note : Les éléments référencés par des éléments <use> héritent des styles de cet élément. Pour leur appliquer des styles différents, il faut donc utiliser les propriétés CSS personnalisées (custom properties).

    Exemple

    @@ -381,9 +380,8 @@ svg {
  • Le SVG a ses propres propriétés et valeurs CSS. Certaines d'entre elles sont similaires aux propriétés CSS utilisées pour le HTML.
  • -
    -

    Défi :

    -

    Modifiez la feuille de style de sorte que les pétales intérieurs deviennent tous roses lorsque le pointeur de la souris passe sur l'un d'entre eux, sans modifier le fonctionnement des pétales extérieurs. +

    +

    Note : Modifiez la feuille de style de sorte que les pétales intérieurs deviennent tous roses lorsque le pointeur de la souris passe sur l'un d'entre eux, sans modifier le fonctionnement des pétales extérieurs.

    Voir une solution à ce défi.

    diff --git a/files/fr/web/svg/tutorial/svg_fonts/index.html b/files/fr/web/svg/tutorial/svg_fonts/index.html index 327022ea96..4ccc526697 100644 --- a/files/fr/web/svg/tutorial/svg_fonts/index.html +++ b/files/fr/web/svg/tutorial/svg_fonts/index.html @@ -12,33 +12,34 @@ original_slug: Web/SVG/Tutoriel/polices_SVG

    Lorsque SVG a été spécifié, le support des polices d'écriture pour le web n'était pas répandu dans les navigateurs. Comme l'accès au fichier de la police adéquate est cependant crucial pour afficher correctement le texte, une technologie de description des polices a été ajoutée à SVG pour offrir cette capacité. Elle n'a pas été conçue pour la compatibilité avec d'autres formats tels que le PostScript ou OTF, mais plutôt comme un moyen simple d'intégration des informations des glyphes en SVG lors de l'affichage.

    -
    Les Polices d'écritures SVG sont actuellement supportées uniquement sur Safari et le navigateur Android.
    -Internet Explorer n'a pas envisagé de les implémenter, la fonctionnalité a été supprimée de Chrome 38 (et Opera 25) et Firefox a reporté sa mise en œuvre indéfiniment pour se concentrer sur WOFF. Cependant, d'autres outils comme le plugin Adobe SVG Viewer, Batik et des modèles de document d'Inkscape supportent l'incorporation des Police d'écriture SVG.
    +
    +

    Note : Les Polices d'écritures SVG sont actuellement supportées uniquement sur Safari et le navigateur Android. Internet Explorer n'a pas envisagé de les implémenter, la fonctionnalité a été supprimée de Chrome 38 (et Opera 25) et Firefox a reporté sa mise en œuvre indéfiniment pour se concentrer sur WOFF. Cependant, d'autres outils comme le plugin Adobe SVG Viewer, Batik et des modèles de document d'Inkscape supportent l'incorporation des Police d'écriture SVG.

    +

    La base pour définir une police SVG est l'élément {{ SVGElement("font") }}.

    Définir une police

    -

    Quelques ingrédients sont nécessaires pour intégrer une police en SVG. Prenons un exemple de déclaration (celle de la spécification), et expliquons-en les détails.

    - -
    <font id="Font1" horiz-adv-x="1000">
    -  <font-face font-family="Super Sans" font-weight="bold" font-style="normal"
    -      units-per-em="1000" cap-height="600" x-height="400"
    -      ascent="700" descent="300"
    -      alphabetic="0" mathematical="350" ideographic="400" hanging="500">
    -    <font-face-src>
    -      <font-face-name name="Super Sans Bold"/>
    -    </font-face-src>
    -  </font-face>
    -  <missing-glyph><path d="M0,0h200v200h-200z"/></missing-glyph>
    -  <glyph unicode="!" horiz-adv-x="300"><!-- Outline of exclam. pt. glyph --></glyph>
    -  <glyph unicode="@"><!-- Outline of @ glyph --></glyph>
    -  <!-- more glyphs -->
    -</font>
    +

    Quelques ingrédients sont nécessaires pour intégrer une police en SVG. Prenons un exemple de déclaration (celle de la spécification), et expliquons-en les détails.

    + +
    <font id="Font1" horiz-adv-x="1000">
    +  <font-face font-family="Super Sans" font-weight="bold" font-style="normal"
    +      units-per-em="1000" cap-height="600" x-height="400"
    +      ascent="700" descent="300"
    +      alphabetic="0" mathematical="350" ideographic="400" hanging="500">
    +    <font-face-src>
    +      <font-face-name name="Super Sans Bold"/>
    +    </font-face-src>
    +  </font-face>
    +  <missing-glyph><path d="M0,0h200v200h-200z"/></missing-glyph>
    +  <glyph unicode="!" horiz-adv-x="300"><!-- Outline of exclam. pt. glyph --></glyph>
    +  <glyph unicode="@"><!-- Outline of @ glyph --></glyph>
    +  <!-- more glyphs -->
    +</font>

    Nous commençons avec l'élement {{ SVGElement("font") }}. Il contient un attribut id, ce qui permet de le référencer via une URI (voir plus bas). L'attribut horiz-adv-x définit sa largeur moyenne, comparée aux définitions des autres glyphes individules. La valeur 1000 définit une valeur raisonnable. Plusieurs autres attributs associés précisent l'affichage de la boite qui encapsule le glyphe.

    -

    L'élément  {{ SVGElement("font-face") }} est l'équivalent SVG de la déclaration CSS  @font-face. Il définit les propriétés de base de la police finale, telles que 'weight', 'style', etc. Dans l'exemple ci-dessus, la première et la plus importante est  font-family : Elle pourra alors être référencée via la propriété font-family présente dans les CSS et les SVG. Les attributs font-weight et font-style ont la même fonction que leurs équivalents CSS. Les attributs suivants sont des instructions de rendu, pour le moteur d'affichage des polices ; par exemple : quelle est la taille des jambages supérieurs des glyphes (ascenders).

    +

    L'élément  {{ SVGElement("font-face") }} est l'équivalent SVG de la déclaration CSS  @font-face. Il définit les propriétés de base de la police finale, telles que 'weight', 'style', etc. Dans l'exemple ci-dessus, la première et la plus importante est  font-family : Elle pourra alors être référencée via la propriété font-family présente dans les CSS et les SVG. Les attributs font-weight et font-style ont la même fonction que leurs équivalents CSS. Les attributs suivants sont des instructions de rendu, pour le moteur d'affichage des polices ; par exemple : quelle est la taille des jambages supérieurs des glyphes (ascenders).

    Its child, the {{ SVGElement("font-face-src") }} element, corresponds to CSS' src descriptor in @font-face declarations. You can point to external sources for font declarations by means of its children {{ SVGElement("font-face-name") }} and {{ SVGElement("font-face-uri") }}. The above example states that if the renderer has a local font available named "Super Sans Bold", it should use this instead.

    @@ -48,60 +49,49 @@ Internet Explorer u1 and u2) and an attribute k that determines how much the distance between those characters should be decreased. The below example instructs user agents to place the "A" and "V" characters closer together the standard distance between characters.

    -
    <hkern u1="A" u2="V" k="20" />
    +
    <hkern u1="A" u2="V" k="20" />

    Référencer une police

    Lorsque vous avez mis en place votre déclaration de police comme décrit ci-dessus, vous pouvez utiliser un simple attribut font-family pour réellement appliquer la police à un texte SVG:

    -
    <font>
    -  <font-face font-family="Super Sans" />
    -  <!-- ... -->
    -</font>
    +
    <font>
    +  <font-face font-family="Super Sans" />
    +  <!-- ... -->
    +</font>
     
    -<text font-family="Super Sans">My text uses Super Sans</text>
    +<text font-family="Super Sans">My text uses Super Sans</text>

    Cependant, vous êtes libre de combiner plusieurs méthodes pour une plus grande liberté de où et comment définir la police.

    Option: Utiliser le CSS @font-face

    -

     

    -

    Vous pouvez utiliser @font-face pour les polices externes de référence :

    -

     

    - -
    <font id="Super_Sans">
    -  <!-- ... -->
    -</font>
    +
    <font id="Super_Sans">
    +  <!-- ... -->
    +</font>
     
    -<style type="text/css">
    -@font-face {
    -  font-family: "Super Sans";
    -  src: url(#Super_Sans);
    -}
    -</style>
    +<style type="text/css">
    +@font-face {
    +  font-family: "Super Sans";
    +  src: url(#Super_Sans);
    +}
    +</style>
     
    -<text font-family="Super Sans">My text uses Super Sans</text>
    +<text font-family="Super Sans">My text uses Super Sans</text>

    Option: Référencer une police externe

    -

     

    -

    L'élément mentionné font-face-uri vous permet de référencer une police externe, permettant donc une plus grande réutilisabilité :

    -

     

    -
    <font>
    -  <font-face font-family="Super Sans">
    -    <font-face-src>
    -      <font-face-uri xlink:href="fonts.svg#Super_Sans" />
    -    </font-face-src>
    -  </font-face>
    -</font>
    +
    <font>
    +  <font-face font-family="Super Sans">
    +    <font-face-src>
    +      <font-face-uri xlink:href="fonts.svg#Super_Sans" />
    +    </font-face-src>
    +  </font-face>
    +</font>
    -
    -

    {{ PreviousNext("Web/SVG/Tutoriel/filtres","Web/SVG/Tutoriel/SVG_Image_Tag") }}

    -
    -
    diff --git a/files/fr/web/svg/tutorial/svg_in_html_introduction/index.html b/files/fr/web/svg/tutorial/svg_in_html_introduction/index.html index 23766ed357..5eb5bade39 100644 --- a/files/fr/web/svg/tutorial/svg_in_html_introduction/index.html +++ b/files/fr/web/svg/tutorial/svg_in_html_introduction/index.html @@ -6,13 +6,13 @@ tags: translation_of: Web/SVG/Tutorial/SVG_In_HTML_Introduction original_slug: Web/SVG/Tutoriel/Introduction_à_SVG_dans_HTML --- -

    Aperçu

    +

    Aperçu

    Cet article et son exemple associé montrent comment utiliser du SVG en ligne pour fournir une image de fond à un formulaire. Il montre comment JavaScript et CSS peuvent servir à manipuler l'image comme vous le feriez avec le XHTML dans un script. Notez que l'exemple ne fonctionnera que dans des navigateurs supportant XHTML (pas HTML) et l'intégration SVG.

    -

    Source

    +

    Source

    -

    Voici le code source de cet exemple :

    +

    Voici le code source de cet exemple :

    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
    @@ -54,7 +54,7 @@ original_slug: Web/SVG/Tutoriel/Introduction_à_SVG_dans_HTML
     </body>
     </html>
    -

    Discussion

    +

    Discussion

    La page est principalement formée de XHTML, CSS et JavaScript classiques. La seule partie intéressante est le contenu de l'élément <svg>. Cet élément et ses fils sont déclarés comme étant dans l'espace de nommage SVG. L'élément contient un gradient et deux formes remplies avec le gradient. Les bornes de couleurs du gradient sont définies par une classe CSS. Lorsque l'utilisateur saisit quelque chose d'incorrect dans le formulaire, le script affecte l'attribut invalid à la balise <body> et une règle de style modifie la couleur end-stop du gradient en rouge en lui donnant la valeur « red » (Une autre règle de style sert à faire apparaître un message d'erreur).

    @@ -70,7 +70,7 @@ original_slug: Web/SVG/Tutoriel/Introduction_à_SVG_dans_HTML
  • Le document est entièrement basé sur les standards
  • -

    Détails

    +

    Détails

    L'attribut viewBox établit un système de coordonnées logiques sur lequel les coordonnées de l'image SVG s'appuient de façon relative. Dans ce cas, notre image s'étend dans un cadre de visualisation de 100 sur 100.

    @@ -78,11 +78,9 @@ original_slug: Web/SVG/Tutoriel/Introduction_à_SVG_dans_HTML

    L'attribut style ancre l'élément SVG en arrière plan du formulaire.

    -

    Liens sur le sujet

    +

    Liens sur le sujet

    • L'article wikipedia sur le format SVG
    • -
    • La page Inline SVG sur le wiki SVG
    • -
    - -

    {{ languages( { "en": "en/SVG_In_HTML_Introduction", "ja": "ja/SVG_In_HTML_Introduction", "pl": "pl/SVG_w_XHTML_-_Wprowadzenie" } ) }}

    +
  • La page Inline SVG sur le wiki SVG
  • + \ No newline at end of file diff --git a/files/fr/web/svg/tutorial/texts/index.html b/files/fr/web/svg/tutorial/texts/index.html index 50a56982f4..972538e2bd 100644 --- a/files/fr/web/svg/tutorial/texts/index.html +++ b/files/fr/web/svg/tutorial/texts/index.html @@ -41,10 +41,9 @@ original_slug: Web/SVG/Tutoriel/Texts </text>
    - -

    {{ EmbedLiveSample('Playable_code', '100%', 100) }}

    +

    {{ EmbedLiveSample('exemple_jouable', '100%', 100) }}

    L'élément tspan peut prendre les attributs personnalisés suivants:

    @@ -99,10 +97,9 @@ original_slug: Web/SVG/Tutoriel/Texts   </textPath> </text>
    - -

    {{ EmbedLiveSample('Playable_code_2', '100%', 100) }}

    +

    {{ EmbedLiveSample('code_jouable_2', '100%', 100) }}

    {{PreviousNext("Web/SVG/Tutoriel/Motifs", "Web/SVG/Tutoriel/Transformations_de_base")}}
    diff --git a/files/fr/web/svg/tutorial/tools_for_svg/index.html b/files/fr/web/svg/tutorial/tools_for_svg/index.html index 3ccff4deb5..52468aa4d9 100644 --- a/files/fr/web/svg/tutorial/tools_for_svg/index.html +++ b/files/fr/web/svg/tutorial/tools_for_svg/index.html @@ -14,7 +14,7 @@ original_slug: Web/SVG/Tutoriel/Tools_for_SVG

    Inkscape

    -

    URL: www.inkscape.org

    +

    URL: www.inkscape.org

    L'un des outils fondamentaux pour travailler un format graphique est un logiciel de dessin performant. Inkscape permet de faire du dessin vectoriel, il est mis à jour régulièrement, et a le mérite d'être open source.

    @@ -22,27 +22,27 @@ original_slug: Web/SVG/Tutoriel/Tools_for_SVG

    Adobe Illustrator

    -

    URL: www.adobe.com/products/illustrator/

    +

    URL: www.adobe.com/products/illustrator/

    Avant de racheter Macromedia, Adobe était le plus ardent défenseur de SVG. C'est de cette époque que date le bon support du SVG dans Illustrator. Cependant, le code généré comporte souvent des bizarreries, qui obligent à le retraiter pour pouvoir l'utiliser en dehors d'Illustrator.

    Apache Batik

    -

    URL: xmlgraphics.apache.org/batik/

    +

    URL: xmlgraphics.apache.org/batik/

    Batik est un ensemble d'outils open source proposés par Apache Software Foundation. La boite à outils est codée en Java et assure un support quasi intégral de SVG 1.1, ainsi que certaines des fonctionnalités qui étaient prévues à l'origine pour SVG 1.2.

    En plus d'un outil de visualisation (Squiggle) et d'un moteur d'aplatissement des calques pour l'export en PNG, Batik propose aussi un outil de formatage du code SVG, ainsi qu'un convertisseur de typographie TrueType vers SVG.

    -

    Utilisé avec Apache FOP, il permet également de transformer du SVG en PDF.

    +

    Utilisé avec Apache FOP, il permet également de transformer du SVG en PDF.

    Autres moteurs de rendu

    -

    Il existe plusieurs projets qui permettent d'exporter une image tramée à partie d'une source SVG. ImageMagick est l'un des outils les plus connus de traitement des images en ligne de commande.  Wikipédia utilise la librairie de code Gnome rsvg pour le rendu de ses images SVG.

    +

    Il existe plusieurs projets qui permettent d'exporter une image tramée à partie d'une source SVG. ImageMagick est l'un des outils les plus connus de traitement des images en ligne de commande.  Wikipédia utilise la librairie de code Gnome rsvg pour le rendu de ses images SVG.

    Raphael JS

    -

    URL: raphaeljs.com

    +

    URL: raphaeljs.com

    Raphaël est un framework javascript, qui propose une couche d'abstraction pour les différentes implémentations des navigateurs. Les vieilles versions d'Internet Explorer sont supportées grace à la génération de code VML, un langage de balisage vectoriel, qui est l'un des ancêtres de SVG et existe depuis IE 5.5.

    @@ -54,18 +54,18 @@ original_slug: Web/SVG/Tutoriel/Tools_for_SVG

    Google Docs

    -

    URL: www.google.com/google-d-s/drawings/

    +

    URL: www.google.com/google-d-s/drawings/

    Les dessins réalisés dans Google Docs peuvent être exportés en SVG.

    Science

    -

    Les fameux outils d'analyse de données xfig and gnuplot supportent l'export en SVG. Pour le rendu de graphiques sur le web JSXGraph supporte VML, SVG et canvas, proposant automatiquement l'un ou l'autre en fonction du support des navigateurs.

    +

    Les fameux outils d'analyse de données xfig and gnuplot supportent l'export en SVG. Pour le rendu de graphiques sur le web JSXGraph supporte VML, SVG et canvas, proposant automatiquement l'un ou l'autre en fonction du support des navigateurs.

    -

    SVG est souvent utilisé dans les applications GIS (Geographic Information System) à la fois comme format de stockage et de rendu. Cf carto.net pour davantage de détails.

    +

    SVG est souvent utilisé dans les applications GIS (Geographic Information System) à la fois comme format de stockage et de rendu. Cf carto.net pour davantage de détails.

    Autres outils

    -

    Le W3C propose une liste des programmes qui supportent le SVG.

    +

    Le W3C propose une liste des programmes qui supportent le SVG.

    {{ PreviousNext("Web/SVG/Tutoriel/SVG_Image_Tag") }}

    -- cgit v1.2.3-54-g00ecf