lundi 24 janvier 2011

Exporter les cartes en SVG : pour quoi faire ?


Si vous êtes utilisateur(trice) de Freemind ou Freeplane, et accessoirement lecteur(trice) de ce blog, vous savez maintenant que votre logiciel de Mind-Mapping préféré sait convertir ses cartes dans de nombreux formats. On peut distinguer deux familles de formats :
- les formats dynamiques. Le résultat est totalement manipulable : Flash,Java, XHTML
- les formats statiques. Le résultat est alors figé. C'est le cas pour l'exportation PDF ou JPG.

Il existe néanmoins un format un peu à la croisée des chemins : c'est le SVG.

Un peu d'explications techniques
Si on se réfère à l'encyclopédie Wikipédia, le format SVG est l'acronyme de "Scalable Vector Graphics qui, traduit de l’anglais, signifie « graphique vectoriel adaptable », et couramment abrégé par SVG, est un format de données conçu pour décrire des ensembles de graphiques vectoriels et basé sur XML.". A noter que le format natif des cartes Freemind et Freeplane sont justement du XML (caché derrière une extension .mm).

Donc contrairement au format graphique classique type Bitmap (bmp, jpg,...) qui est composé de points immuables, le format SVG est un système vectoriel. Le graphique est donc constamment recalculé.

Voyons cela concrètement.

Voici une carte exportée en format JPG, non zoomée (valeur du zoom : 100%). repérez bien le carré rouge : vous pourrez constatez la différence entre les JPG et le SVG sur cette portion.




La même carte, toujours en JPG mais zoomée à 400%



On remarque très nettement les effets d'escalier qui se dessinent sur les polices de caractères. D'autre part, le format JPG fonctionnant sur un principe de "destruction d'informations", des points grisatres apparaissent notamment autour des zones colorées

Le même image mais grossi 800 fois :



Cette fois, les caractères sont sinon illisibles, au moins compliqués à déchiffrer. Le rendu est plus que médiocre.


Regardons maintenant le résultat au format SVG avec les mêmes facteurs de zoom.
Tout d'abord, un zoom de 400% :



Alors que le format JPG commence à laisser apparaitre de nombreuses imperfections, le format SVG est toujours aussi net. Notez toutefois que les éléments Bitmap d'origine (icône et flèche) subissent une nette déformation

Grossie 800 fois, la qualité visuelle de la carte (ou plutôt ce qui en reste de visible) ne bouge pas d'un cil, que ce soit pour les caractères ou les lignes :



Juste pour constater que qu'on peut effectuer un zoom presque jusqu'à l'infini, voici ce que l'on voit quand la carte est grossie 12800 fois :



Oui, il s'agit bien de la même carte. En l'état (sous forme d'image fixe), une exportation en SVG présente peu d'intérêt par rapport à une image jpg. En effet, si les fichiers au format JPG sont très bien gérés, en natif, par les différents systêmes d'exploitation, c'est totalement différent pour les fichiers SVG. Les logiciels, nécessairement spécifiques, ne sont pas légion. Notons toutefois Inkscape, de la famille des logiciels libres, et le très connu Adobe Illustrator, mastodonte du dessin vectoriel.

De par sa structure, ce format est tout à fait adapté pour une impression "en grand" sur table traçante par exemple. Mais tout le monde n'a pas nécessairement du tel matériel à disposition et surtout l'utilité, nos cartes comportant rarement 20000 branches.

Indépendamment de l'impression, une autre idée fait son chemin et qui présente infiniment plus d'intérêt (à lire sur le forum de Freeplane): pouvoir utiliser une carte Freeplane ou Freemind exporté en SVG pour en faire une animation à la sauce Prezi (je vous invite à lire un billet que j'ai pu écrire au sujet de ce logiciel sur Mapping-Experts, blog qui, soit dit en passant, vient de subir un lifting graphique très réussi). En effet, un logiciel comme Illustrator peut créer des animations flash à partir de fichiers SVG. Il est donc tout à fait imaginable qu'une telle animation puisse se faire de manière presque automatique. Je serai en tout cas vigilant sur le sujet et ne manquerai pas d'en reparler si ce projet devait avancer.