« SVG » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
{{Ebauche}}
{{Ebauche}}


===Origine et but===
== Introduction ==


* SVG traduit: Graphiques Vectoriels Adaptables
SVG veut dire '''Scalable Vector Graphics''' (Graphiques Vectoriels Adaptables) et est est un standard W3C (en XML). SVG s’intègre bien aux autres formats W3C.
* SVG est un standard W3C (en XML) et s’intègre bien aux autres formats W3C.
 
* '' http://www.w3.org/TR/SVG/''
* http://www.w3.org/TR/SVG/


De la spécification: "SVG est un langage de description de graphiques bi-dimensionnels en XML. SVG admet trois types d’objets graphiques : des contours graphiques vectoriels (par exemple, des tracés consistant en lignes droites et courbes), des images et du texte. Les objets graphiques peuvent être regroupés, stylés, transformés et composés dans des objets précédemment rendus. L’ensemble de fonctions comprend des transformations imbriquées, des tracés de rognage, des masques basés sur la couche alpha et des objets de gabarit.
De la spécification: "SVG est un langage de description de graphiques bi-dimensionnels en XML. SVG admet trois types d’objets graphiques : des contours graphiques vectoriels (par exemple, des tracés consistant en lignes droites et courbes), des images et du texte. Les objets graphiques peuvent être regroupés, stylés, transformés et composés dans des objets précédemment rendus. L’ensemble de fonctions comprend des transformations imbriquées, des tracés de rognage, des masques basés sur la couche alpha et des objets de gabarit.
Ligne 11 : Ligne 11 :
Les dessins SVG peuvent être interactifs et dynamiques. On peut définir et déclencher des animations, soit déclarativement (i.e., en incorporant les éléments d’animation SVG dans un contenu SVG), soit via un script.
Les dessins SVG peuvent être interactifs et dynamiques. On peut définir et déclencher des animations, soit déclarativement (i.e., en incorporant les éléments d’animation SVG dans un contenu SVG), soit via un script.


<div>
'''Utilisations les plus intéressantes (actuellement):'''
 
=====Utilisations les plus intéressantes (actuellement):=====


* visualisation de contenus (économiques, processus, cartes, etc.)
* visualisation de contenus (économiques, processus, cartes, etc.)
Ligne 20 : Ligne 18 :
* animations multimédia de contenus formalisables (chimie, maths, etc.)
* animations multimédia de contenus formalisables (chimie, maths, etc.)


</div></div><div>
==Pourquoi SVG ?==


===Pourquoi SVG ?===
=== Avantages des images vectorielles ===
 
<div>
 
=====Avantages de "vector graphics"=====


* rendering correct dans multiples média et à différentes tailles (adaptation)
* rendering correct dans multiples média et à différentes tailles (adaptation)
Ligne 34 : Ligne 28 :
* facilités d’édition: les éléments sont des objets, hierarchies, etc.
* facilités d’édition: les éléments sont des objets, hierarchies, etc.


</div><div>
===Avantages particuliers de SVG (par rapport à Flash et similaires)===
 
=====Avantages particuliers de SVG (par rapport à Flash et similaires)=====


* insertion dans le monde XML/XHTML
* insertion dans le monde XML/XHTML
Ligne 49 : Ligne 41 :
* '' http://www.carto.net/papers/svg/comparison_flash_svg.html''
* '' http://www.carto.net/papers/svg/comparison_flash_svg.html''


</div></div><div>
== Outils ==
 
===Outils===


<div>
=== Validation en ligne ===


=====Validation on-line:=====
* [http://validator.w3.org/ http://validator.w3.org]


* '' [http://validator.w3.org/ http://validator.w3.org]'' /
=== Viewers ===
 
</div><div>
 
=====Viewers:=====


* Navigateurs Firefox 1.5+, Opéra 9+ ou Safari 3+
* Navigateurs Firefox 1.5+, Opéra 9+ ou Safari 3+
* On conseille le viewer 6a de Adobe pour faire du SVG dynamique/SMIL
* Le meilleur navigateur actuel pour SVG est Opera 10 (oct. 2009)
* '' [http://www.adobe.com/svg/viewer/install/beta.html  http://www.adobe.com/svg/viewer/install/beta.html]'' (V. 6a difficile à trouver !)
* Adobe avait produit un bon plugin pour Mozilla/IE capable d'afficher du SVG dynamique. Toutefois, ce plugin ne marche plus avec les navigateurs modernes
** Ne prenez pas la version "officielle" 3, car elle ne marche pas avec Mozilla !
* [http://www.adobe.com/svg/viewer/install/beta.html  http://www.adobe.com/svg/viewer/install/beta.html] (V. 6a difficile à trouver  
=== Editeurs ===


</div><div>
* Prenez Inkscape (gratuit) pour faire des dessins statiques
* OpenOffice "Draw", Illustrator etc. permettent de sauver du SVG
* Site Spinner Pro ? pour des dessins dynamiques


=====Editeurs SVG statique et dynamique=====
=== SVG avec un éditeur XML ===


* Pas de logiciel gratuit, on conseille Webdraw ou son successeur (commercial)
Si vous désirez éditer SVG à la main, on conseille d’installer la DTD dans votre éditeur XML si c’est pas fait.
* '' http://tecfa.unige.ch/guides/svg/pointers.html''


</div><div>
* SVG 1.0 et 1.1. sont inclu dans Exchanger lite


=====Editeurs SVG statique et exporteurs=====
Pour certains éditeurs, il faut d'abord trouver la DTD et qui est à la fin de la spécification officielle et ensuite installer:
* [http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd SVG 1.0]
* [http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd SVG 1.1] (conseillé)


* Prenez Inkscape (gratuit) pour faire des dessins.
Exemple: Installation d’une DTD dans Xemacs:
* Note: OpenOffice "Draw", Illustrator etc. permettent de sauver du SVG
 
</div><div>
 
=====SVG avec un éditeur XML=====
 
* La DTD est à la fin de la spécification officielle
* '' http://tecfa.unige.ch/lib/xml/dtd/svg10.dtd'' (copie locale de SVG 1.0)
* '' [http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd http://www.w3.org/TR/SVG/]'' (SVG 1.1 en oct 2007).
* On conseille d’installer la DTD dans votre éditeur XML si c’est pas fait.
 
</div><div>
 
=====Installation d’une DTD dans Xemacs (pas nécessaire pour Exchanger lite !)=====


* Il faut copier le fichier avec la DTD qq part sur votre système (de préférence au même endroit que le CATALOG.
* Il faut copier le fichier avec la DTD qq part sur votre système (de préférence au même endroit que le CATALOG.
* Ensuite éditer le fichier <code class="Code-1it"> ...XEmacs/xemacs-packages/etc/psgml-dts/CATALOG</code> qui se trouve dans l’installation Xemacs.
* Ensuite éditer le fichier ''...XEmacs/xemacs-packages/etc/psgml-dts/CATALOG'' qui se trouve dans l’installation Xemacs.
* Ajouter une ligne qui associe un identificateur public avec un fichier
* Ajouter une ligne qui associe un identificateur public avec un fichier


  Exemple Unix: PUBLIC "-//W3C//DTD SVG 1.0//EN" /web/lib/xml/dtd/svg10.dtd
  Exemple Unix: PUBLIC "-//W3C//DTD SVG 1.0//EN" /web/lib/xml/dtd/svg10.dtd
  Exemple Dos:  PUBLIC "-//W3C//DTD SVG 1.0//EN" svg10.dtd
  Exemple Dos:  PUBLIC "-//W3C//DTD SVG 1.0//EN" svg10.dtd


* N’oubliez pas de dire à Emacs que *.svg est associé à XML, éditez le fichier <code class="Code-1b"> ~/.xemacs/init.el</code> et ajoutez:
* N’oubliez pas de dire à Emacs que *.svg est associé à XML, éditez le fichier ''~/.xemacs/init.el'' et ajoutez:


  (setq auto-mode-alist
  (setq auto-mode-alist
     (append ’(("\.svg"  . xml-mode)) auto-mode-alist))
     (append ’(("\.svg"  . xml-mode)) auto-mode-alist))


Note: Votre home (~) sous windows est qq. part dans c:\Documents and Settings\xxxx\. Alternativement on peut aussi insérer cette instruction dans ...<code class="Code-1it"> XEmacs\site-packages\lisp\site-start.el</code>
Note: Votre home (~) sous windows est qq. part dans c:\Documents and Settings\xxxx\. Alternativement on peut aussi insérer cette instruction dans <code> XEmacs\site-packages\lisp\site-start.el</code>


</div></div><div>
=== Mime-types que votre serveur doit définir (!) ===
 
===Ressources===
 
<div>
 
=====Spécification (SVG 1.1 Specification, W3C recommendation Jan 2003)=====
 
* '' http://www.w3.org/TR/SVG/''
* '' http://www.yoyodesign.org/doc/w3c/svg1/index.html'' (SVG 1.0 en français)
 
</div><div>
 
=====Page ressource @ TECFA:=====
 
'' http://tecfa.unige.ch/guides/svg/pointers.html''
 
</div></div></div><div>
 
==SVG de base==
 
<div>
 
===Viewer et serveur===
 
<div>
 
====SVG avec un viewer ou plugin====
 
* Pour regarder les exemples il vous faut un viewer SVG ou un navigateur avec SVG natif
* SVG dans Firefox:
** SVG est inclu par défaut dans Firefox 1.5, Opéra 9 et Safari 3.
** Désavantage: Il manque les animations (!), certains filtres, fonctionalités pour des fontes, etc.
** Avantage: On peut combiner XHTML et SVG
* Pour arrêter/mettre en marche SVG natif dans FireFox
** entrez l’URL: <code class="Code-1it"> about:config</code>
** Tapez "svg" dans la fenêtre "filter"
** Double-clic sur <code class="Code-1it"> svg.enabled</code>
* On conseille éventuellement d’installer le plug-in de Adobe (fait du SVG dynamique !)
** ... mais sur ma machine ca plante souvent depuis la version 2.0 (DKS)
 
</div><div>
 
====Mime-types que votre serveur doit définir (!)====


* Lorsque votre navigateur n’affiche pas un fichier svg provenant d’un serveur, il faut configurer les serveur web avec les mime-types suivants.
* Lorsque votre navigateur n’affiche pas un fichier svg provenant d’un serveur, il faut configurer les serveur web avec les mime-types suivants.
Ligne 162 : Ligne 93 :
<nowiki>*.svgz image/svg+xml</nowiki>
<nowiki>*.svgz image/svg+xml</nowiki>


</div></div><div>
== Structure d’une page SVG ==
 
===Structure d’une simple page SVG===
 
* Une déclaration XML standarde, par exemple
 
&lt;?xml version="1.0" standalone="no"?&gt;
 
* Pour un document non "standalone", il faut indiquer le DTD:
 
&lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
 
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"&gt;


* La racine d’un contenu SVG est "svg":
Un page SVG valide doit contenir des entêtes XML ainsi qu'un namespace declaration pour la balise racine "svg".


&lt;svg&gt;
Voici un exemple SVG 1.0
<source lang="xml">
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
          "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg">


  .....
<!-- un petit rectangle avec des coins arroundis  -->
<rect x="50" y="50" rx="5" ry="5" width="300" height="100"
      style="fill:#CCCCFF;stroke:#000099"/>


  &lt;/svg&gt;
  <!-- un texte au meme endroit -->
<text x="55" y="90" style="stroke:#000099;fill:#000099;font-size:24;">
  HELLO cher visiteur
</text>
</svg>
</source>


* Il faut déclarer un name space dans la racine (si ce n’était pas fait dans un parent):
== Liens ==


&lt;svg xmlns="http://www.w3.org/2000/svg"&gt;
Spécification:


....
* http://www.w3.org/TR/SVG/
* http://www.yoyodesign.org/doc/w3c/svg1/index.html'' (SVG 1.0 en français)


&lt;/svg&gt;
Ressources:


<div>
* [[:en:SVG links|SVG links]] (EduTechWiki Anglais)

Version du 29 octobre 2009 à 17:18

Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.

Introduction

SVG veut dire Scalable Vector Graphics (Graphiques Vectoriels Adaptables) et est est un standard W3C (en XML). SVG s’intègre bien aux autres formats W3C.

De la spécification: "SVG est un langage de description de graphiques bi-dimensionnels en XML. SVG admet trois types d’objets graphiques : des contours graphiques vectoriels (par exemple, des tracés consistant en lignes droites et courbes), des images et du texte. Les objets graphiques peuvent être regroupés, stylés, transformés et composés dans des objets précédemment rendus. L’ensemble de fonctions comprend des transformations imbriquées, des tracés de rognage, des masques basés sur la couche alpha et des objets de gabarit.

Les dessins SVG peuvent être interactifs et dynamiques. On peut définir et déclencher des animations, soit déclarativement (i.e., en incorporant les éléments d’animation SVG dans un contenu SVG), soit via un script.

Utilisations les plus intéressantes (actuellement):

  • visualisation de contenus (économiques, processus, cartes, etc.)
  • interface utilisateurs pour certains types d’applications Internet
  • dessins statiques, animés ou même interactifs dans le monde de l’éducation
  • animations multimédia de contenus formalisables (chimie, maths, etc.)

Pourquoi SVG ?

Avantages des images vectorielles

  • rendering correct dans multiples média et à différentes tailles (adaptation)
  • possibilité d’appliquer des styles (adaptation 2)
  • possibilité d’indexer le texte qui fait partie du graphisme
  • taille de l’image (après compression en tout cas)
  • facilités d’édition: les éléments sont des objets, hierarchies, etc.

Avantages particuliers de SVG (par rapport à Flash et similaires)

  • insertion dans le monde XML/XHTML
    • génération de SVG avec XSLT/PHP etc. à partir de données XML
    • Intégration dans XHTML, viewers SMIL etc.
    • utilisation de CSS
    • scriptable avec JavaScript via DOM (standard)
  • possibilité de partager du code, de travailler directement avec le format
  • modèle de couleurs sophistiqué, filtres comme dans photoshop
  • une spécification assez claire
  • meilleurs capacités graphiques dans l’ensemble, voir:
  • http://www.carto.net/papers/svg/comparison_flash_svg.html

Outils

Validation en ligne

Viewers

  • Navigateurs Firefox 1.5+, Opéra 9+ ou Safari 3+
  • Le meilleur navigateur actuel pour SVG est Opera 10 (oct. 2009)
  • Adobe avait produit un bon plugin pour Mozilla/IE capable d'afficher du SVG dynamique. Toutefois, ce plugin ne marche plus avec les navigateurs modernes
  • http://www.adobe.com/svg/viewer/install/beta.html (V. 6a difficile à trouver

Editeurs

  • Prenez Inkscape (gratuit) pour faire des dessins statiques
  • OpenOffice "Draw", Illustrator etc. permettent de sauver du SVG
  • Site Spinner Pro ? pour des dessins dynamiques

SVG avec un éditeur XML

Si vous désirez éditer SVG à la main, on conseille d’installer la DTD dans votre éditeur XML si c’est pas fait.

  • SVG 1.0 et 1.1. sont inclu dans Exchanger lite

Pour certains éditeurs, il faut d'abord trouver la DTD et qui est à la fin de la spécification officielle et ensuite installer:

Exemple: Installation d’une DTD dans Xemacs:

  • Il faut copier le fichier avec la DTD qq part sur votre système (de préférence au même endroit que le CATALOG.
  • Ensuite éditer le fichier ...XEmacs/xemacs-packages/etc/psgml-dts/CATALOG qui se trouve dans l’installation Xemacs.
  • Ajouter une ligne qui associe un identificateur public avec un fichier
Exemple Unix: PUBLIC "-//W3C//DTD SVG 1.0//EN" /web/lib/xml/dtd/svg10.dtd
Exemple Dos:  PUBLIC "-//W3C//DTD SVG 1.0//EN" svg10.dtd
  • N’oubliez pas de dire à Emacs que *.svg est associé à XML, éditez le fichier ~/.xemacs/init.el et ajoutez:
(setq auto-mode-alist
   (append ’(("\.svg"  . xml-mode)) auto-mode-alist))

Note: Votre home (~) sous windows est qq. part dans c:\Documents and Settings\xxxx\. Alternativement on peut aussi insérer cette instruction dans XEmacs\site-packages\lisp\site-start.el

Mime-types que votre serveur doit définir (!)

  • Lorsque votre navigateur n’affiche pas un fichier svg provenant d’un serveur, il faut configurer les serveur web avec les mime-types suivants.

*.svg image/svg+xml

*.svgz image/svg+xml

Structure d’une page SVG

Un page SVG valide doit contenir des entêtes XML ainsi qu'un namespace declaration pour la balise racine "svg".

Voici un exemple SVG 1.0

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" 
          "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg">

 <!-- un petit rectangle avec des coins arroundis  -->
 <rect x="50" y="50" rx="5" ry="5" width="300" height="100"
       style="fill:#CCCCFF;stroke:#000099"/>

 <!-- un texte au meme endroit -->
 <text x="55" y="90" style="stroke:#000099;fill:#000099;font-size:24;">
  HELLO cher visiteur 
 </text>
</svg>

Liens

Spécification:

Ressources: