{"partition": "head_middle", "source_domain": "www.carto.net", "digest": "sha1:ZTB6TFB5HPA5HYSWXBKUEMFLTQB73USE", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00047.parquet"}
carto:net - scalable vector graphics
carto:papers:svg:article_principal
La cartographie en mode vectoriel sur le Web : les possibilités de SVG
Yes raster is faster,
but raster is vaster, and vector just seems more correcter. [Tomlin,
Neumann, Andreas Institut de Cartographie, Ecole polytechnique fédérale (ETH), Zurich
Winter, Andréas M. Institut de Geographie et de recherche régionale, Université de Vienne Entre temps les hyperliens des exemples sont mis sur la version anglaise.
Le World Wide Web est devenu un phénomène de masse. Ses possibilités en termes d'exploitation, de croissance et de pénétration dépassent
désormais d'autres médias. La revue spécialisée "Kartographische Nachrichten" (en allemand) accueille une discussion sur ce monde virtuel, dont on
connaît mal les contours. Les années passées, un certain nombre d'articles ont été publiés sur ce thème, à propos des principes techniques
[Gartner, 1996], des conditions de structuration [Dickmann, 1997], de la problématique de la représentation cartographique [Schlimm, 1998], et même un traité
critique sur son développement [Gartner, 1999], pour ne citer que quelques travaux. D'autres rapports, consacrées aux techniques de
communication en général, contribuent également à une meilleure compréhension de ce phénomène. À maintes reprises, les auteurs
soulignent le caractère irréversible du développement de ce nouveau moyen de communication [Peterson, 1999].
Un problème souvent évoqué est l'impossibilité de diffuser à l'utilisateur final des représentations graphiques 2D en mode vectoriel. Une telle
technique permettrait de développer l'interactivité et des fonctions telles que le zoom et le pan (panoramique). La qualité de reproduction
graphique augmenterait également de façon significative. La représentation du texte et de l'image raster est standardisée depuis longtemps.
Or les cartographes ont besoin d'un certain nombre de fonctions complémentaires. Certaines ont pu être réalisées au moyen scripts
complexes, soit côté serveur soit côté client, mais toujours en utilisant des images raster.
Fin 1999, un nouveau standard prometteur est apparu : le SVG (Scalable Vector Graphic). Il offre la possibilité d'intégrer le graphisme vectoriel
aux sites Web. L'intérêt manifesté par les grands acteurs de l'informatique rend prévisible à court terme une application massive de cette
technologie. Cela profitera sans aucun doute aux cartographes qui, pour la première fois dans l'histoire du web, seront en mesure de répondre
aux demandes de représentations graphiques complexes.
Le présent article traite d'abord du problème des standards d'Internet, en grande partie responsables du retard de l'application du graphisme
vectoriel, suivi par une discussion sur les autres possibilités - dont quelques unes furent disponibles dès 1996 - permettant d'inclure du
graphisme vectoriel dans un environnement web. Les exigences techniques requises par le graphisme vectoriel sont expliquées, ainsi les
technologies complémentaires les plus importantes. Dans la partie principale, la nouvelle norme SVG est présentée, accompagnée d'une
discussion détaillée sur les points concernant plus particulièrement la cartographie. Les exemples sont consultables sur des pages web
spécialement réalisées pour les "Kartographischen Nachrichten", ainsi que les codes-source commentés.
1. Les standards d'Internet
Internet contribue particulièrement à l'ouverture des formats de fichier, des interfaces, des protocoles, des architectures et même des systèmes
d'exploitation et des logiciels. Cette ouverture est fondamentale et remet souvent en cause les pratiques habituelles, cependant quelques
sociétés continuent bien sûr d'essayer de limiter cette ouverture. Sur Internet, il n'est possible de parler de "norme" que lorsqu'une majorité de
sociétés accepte de mettre en oeuvre une technologie et si elle est utilisée par les concepteurs de sites Web. Les mécanismes de
décision sont complexes et les décisionnaires multiples.
1.1 Les normes officielles
Ces normes sont issus d'accords et de négociations qui aboutissent à l'édition et à la diffusion de documents contenant des spécifications
techniques et d'autres critères précis, devant être utilisés comme des règles, des directives ou des définitions de caractéristiques, afin
d'assurer que les matériels, les produits, les processus et les services sont conformes à leur but [ISO, 1999]. Cette définition générale
s'applique seulement aux standards officiels. Ils sont adoptés par un institut pour la standardisation, comme l'ISO (International Organization for
Standardisation) ou IEEE (Institute of Electrical and Electronicals Ingineers) et entrent officiellement en vigueur. L'ECMA (European Computer
Manufacturer's Association) ou le W3C (World Wide Web Consortium) promulguent également des standards publics avec une possibilité
d'enquête publique, mais sans transposition dans chaque cadre national de standardisation. S'agissant du Web, l'harmonisation des différents
langages d'édition est un point particulièrement important. Une page web peut n'être pas exclusivement rédigée en HTML, et comporter des
éléments issus d'autres langages (pour gérer le style, l'animation, l'interactivité etc). Ces éléments imbriqués doivent "communiquer", ce qui
réclame une syntaxe concise.
En fait, ces normes à la documentation volumineuse sont rarement appliquées de façon stricte. Au départ, les standards officiels sont souvent
très en retard par rapport aux usages effectifs. Par exemple, lorsque le HTML 1.0 a été publié, il était déjà appliqué de façon générale tout en
étant démodé techniquement. De nos jours, cependant, des normes sont fréquemment adoptées avant même que la technologie
correspondante n'existe. Elles sont créées par des consortiums ou des groupes de travail plus ou moins indépendants.
Les standards de fait
Ce sont des standards largement utilisés et acceptés sans qu'aucune organisation de standardisation officielle ne les aient précédemment
adoptés. A proprement parler, on ne peut donc parler de norme. Pour des raisons techniques, les éditeurs de logiciels ne sont pas toujours
capables de respecter les normes officielles. Pour des raisons commerciales, ils souhaitent également établir leur propre standard, qui dans le
meilleur des cas pour eux s'imposera aux autres.
Une conséquence regrettable de ces pratiques est le manque de respect des normes dans leur intégralité. Certaines spécifications
officiellement adoptées (par exemple pour HTML 4) ne peuvent ainsi être appliquées. A côté de cela, certaines sociétés développent des
standards spécifiques, qui constituent certes des apports incontestables, mais posent d'importants problèmes de compatibilité avec des
logiciels concurrents ou des environnement différents. Dans telles circonstances, il est impossible d'utiliser le standard le plus récent, et donc
ses apports, pour réaliser un document web lisible par tous les destinataires potentiels. Tous les concepteurs de site sont confrontés à ce
problème, en particulier si le contenu n'est a priori pas approprié à une diffusion sur le web, et comporte par exemple des graphiques ou des
données géographiques.
Mais les grandes sociétés ne sont pas seules à être à l'origine d'une nouveau standard. Des groupes de recherche sont également capables
d'élaborer et de diffuser une innovation, qui sera par la suite largement adoptée. Dans ce cas, la diffusion de cette innovation dépend
uniquement de sa qualité. Un exemple connu est celui du CERN (European Organization for Nuclear Research) qui a réalisé le tout premier
navigateur graphique. Plus récemment l'Institut Fraunhofer s'est rendu célèbre pour son système de compression Audio MP3. Pour peu que
leur statut légal soit clarifié, ces réalisations deviennent pratiquement des standards officiels et peuvent être adoptées par les acteurs
commerciaux pour être développés et commercialisée. Les apports de ces petits groupes peuvent se révéler particulièrement innovants, parce
qu'ils n'ont pas nécessairement la même approche que les sociétés importantes et les consortiums.
2. Formats vectoriels
Voici donc dans quel contexte une norme vectorielle doit être établie. Personne n'a jamais douté de sa nécessité : la précocité des premières
tentatives pour représenter des données vectorielles sur le web sont là pour en témoigner. En plus de la rivalité "classique" dans l'industrie
d'Internet, les géants du logiciel graphique ont rejoint le combat, ce qui a rendu un accord éventuel encore plus difficile. Le fait que dans le
monde du graphisme, aucun format fiable d'échange de données vectorielles n'existe ne facilite pas de choses non plus. Dans le cas des
images raster un accord a été trouvé plus rapidement. Par la suite, de nombreux développements de formats vectoriels ont vu le jour et il est impossible
de comparer sans les relativiser. Nous présenterons ici un choix d'approches en principe intéressantes pour la cartographie, mais un certain
nombre de ces approches sont désormais démodées et ne feront plus l'objet de développements ultérieurs.
2.1 Les approches existantes en matière de format vectioriel pour le Web
SVF: le Simple Vector Format était à l'origine destiné à la diffusion de dessins CAD sur le web. En 1996, la sortie du
plug-in correspondant a constitué la première tentative pour représenter des vecteurs sur le Web. Aucun nouveau
développement n'est intervenu après 1997. L'impression n'est possible qu'avec la version payante du plug-in. Il est
doté de convertisseurs pour HPGL et DXF, et possède des fonctions de zoom graduel et de panoramique, et
d'affichage/masquage de couches. L'interactivité est plutôt limitée : des lignes et des surfaces peuvent être hyperliées,
seulement au moyen de programmes externes. Par contre les fonctions de lissage (anti-aliasing )et d'animation sont
absentes. (www.softsource.com/svf/)
DWF: Drawing Web Format, qui peut être visualisé avec le plug-in WHIP4 d'AutoDesk. C'est un des rares plug-in qui réponde à JavaScript. Il
s'agit de la conversion de fichiers DWG. Ses fonctions : panoramique, zoom avant/arrière progressif, fenêtre de contrôle du zoom, retour à la
vue initiale, zoom sur des vues prédéterminées, contrôle des couches, hyperliens (résultat non
satisfaisant pour la vue d'ensemble). Il est possible d'insérer des images et du texte. Aucune fonction
d'animation n'est disponible, c'est pourquoi la compatibilité avec JavaScript n'est pas d'une grande utilité. Une applet équivalente
existe également. (www.autodesk.com/whip/*)
*) Mise à jour 2003: Le plugin a changé de nom : Volo View (www.autodesk.com/voloview).
Flash: Pour l'instant, c'est le format vectoriel permettant l'interactivité qui est le plus largement diffusé. Il est supporté par les navigateur grâce
à un plug-in de Macromedia. S'agissant de la cartographie, c'est le standard le plus évolué pour représenter des vecteurs. Il n'existe pas de standard officiel et pendant longtemps la documentation a été très réduite. Il s'agit d'une
format propriétaire binaire, ce qui s'oppose à l'idée d'open-source. Elaboré pour répondre aux besoins des publicitaires et de l'industrie
multimédia, ce format a gagné du terrain rapidement. Début 2000, environ 70% de navigateurs peuvent lire ce format sans installation
complémentaire [StatMarket,
o.J.]. Le Flash permet de diffuser du graphisme vectoriel. Il permet également d'intégrer facilement ou de réaliser
des clips vidéo et audio. Les éléments graphiques peuvent être importés depuis Macromedia FreeHand, Adobe Illustrator ou CorelDraw et/ou
édité avec Macromedia Flash. Il existe une large palette de fonctions d'animation et d'effets spéciaux. Beaucoup d'applications particulièrement
créatives dans ce format prouvent sa flexibilité comme outil pour le web. Par exemple, il permet le chargement progressif des données (une
page est visible même si toutes les données ne sont pas encore chargée). Il est plus difficile pour le cartographe d'intégrer des données externes et de rééditer ou créer les fonctions dont il a besoin. Des interfaces ont
certes été développées mais elles ne sont pas standardisées. (www.macromedia.com/software/flash/)
PGML: Precision Graphic Markup Language. C'est un ensemble de spécifications pour un format texte vectoriel 2D, proposé par Adobe sur la
base de PostScript et PDF. Il est généré en convertissant PDF. Il répond à des demandes complexes et propose un haut niveau d'interactivité,
mais n'a encore pas d'application. (www.w3.org/TR/1998/NOTE-PGML)
WebCGM: c'est une tentative pour permettre l'utilisation de la norme ISO Computer Graphic Metafile (CGM) sur le WWW. La version web est
binaire et constitue une recommandation W3C, ce qui signifie qu'il s'agit d'une norme arrivée à maturité. Le WebCGM permet l'interactivité
grâce à une syntaxe riche consacrée aux hyperliens, cependant, il est principalement conçu pour visualiser des dessins techniques et scientifiques [cgmOPEN.org,
1999]. Voir aussi www.w3.org/Graphics/WebCGM/.
VML: Vector Markup Language. Il s'agit d'un format texte vectoriel 2D élaboré par Microsoft. Il a été conçu pour Internet Explorer, mais n'a pas
connu de nouveaux développements depuis septembre 1998. Il marque la naissance d'une syntaxe intéressante, mais sans exemple
d'applications significatives. Ce fut la première approche prometteuse avant le SVG, mais elle est limitée à une plate-forme unique. (www.w3.org/TR/NOTE-VML)
PDF: Portable Document Format, syntaxe EPS. C'est désormais le format natif d'Illustrator 9 d'Adobe. En pré-presse, il remplace de plus en
plus PostScript et EPS. A l'origine il n'a pas été conçu pour le web, mais il peut être visualisé au moyen de plugins. Il existe des filtres
d'exportation pour les traitements de texte et les logiciels de PAO et de dessins les plus répandus. Son "viewer" est diffusé gratuitement par
Adobe et fonctionne indépendamment du navigateur. La lecture, l'impression ou la copie des documents peuvent aussi être protégées par un
mot de passe. Le format binaire ne permet pas un traitement efficace par les moteurs de recherche, la version texte l'autorise mais de façon
peu aisée en raison de la taille des données. (partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf)
SVG: Scalable Vector Graphics. Il s'agit d'une nouveau standard ouvert, recommandé et développé par le World Wide Web Consortium (W3C),
et suivi par d'importants éditeurs de logiciels et la communauté scientifique. SVG offre tous les avantages de Flash, le standard de fait actuel
(cf. ci-dessus), ainsi que les particularités suivantes : fontes incorporées, XML, feuilles de style (CSS), interactivité et animation. Avec l'aide du
Document Object Model (DOM), il est pleinement compatible avec le HTML. La section principale de cet article en donne une description plus
détaillée. (www.w3.org/Graphics/SVG/Overview.html)
VRML: Virtual Reality Modeling Language, bien que destiné à la représentation 3D, il est utilisable pour la 2D. Il offre un grand nombre de
possibilités, mais souffre d'une trop grande complexité pour les représentations simples. Qui plus est, le VRML est actuellement en
phase de restructuration. Un plug-in est nécessaire. (www.web3d.org/)
HGML: Hyper Graphic Markup Language. Il date de juin 1998 et a été perçu comme un format compact adapté aux faibles bandes passantes.
Aucune réalisation. (www.w3.org/TR/NOTE-HGML)
DrawML: décembre 1998, c'est un format qui facilite la représentation et la mise-à-jour des dessins techniques. (www.w3.org/TR/1998/NOTE-drawml-19981203)
2.2 Les API 2D associées à des applets ou des objets ActiveX
ActiveX: il s'agit d'une approche développée par Microsoft pour utiliser des objets écrits en Visual Basic, un langage
dont Microsoft est propriétaire. Cette technique ne peut être employée d'une façon très significative, puisqu'elle est
liée à un navigateur et un système d'exploitation spécifiques. La documentation est pauvre. Les ActiveX sont réalisés
avec des kits de développement. L'interactivité est possible. Il ne s'agit pas vraiment d'un module
d'extension. Les ActiveX sont incorporés dans d'autres documents et peuvent être rappelés par eux. Ainsi, on en
trouve également dans des documents Microsoft Word ou PowerPoint.
Java2D: il s'agit d'un programme binaire qui permet d'afficher un graphique en 2D. Il est inséré dans des pages
Web. Il est librement modifiable, flexible et ne dépend pas d'une plate-forme unique. Il fonctionne comme "une
machine virtuelle" sur le client qui l'active lorsque c'est nécessaire. Java2D a été conçu par Sun et Adobe comme
une plate-forme de programmation graphique ind