Aller au contenu

ConTeXt/Utiliser Metapost (MPGraphic)/Icônes et illustrations : SVG ou Metapost ?

Un livre de Wikilivres.



Cette section présente la complémentarité entre les icônes SVG — simples, efficaces, prêtes à l’emploi — et les dessins MetaPost/MetaFun, incomparables lorsqu’il s’agit de produire des graphiques calculés, des schémas techniques ou des illustrations paramétriques dans ConTeXt. Vous apprendrez à importer un fichier SVG, à le manipuler via MetaFun, et à reconnaître les situations où MetaPost demeure l’outil le plus puissant.


   Objectif
   Objectif de cette section
   Comprendre quand utiliser une icône SVG, quand dessiner en MetaPost, et comment importer ou transformer un fichier SVG dans ConTeXt.  
   Présenter les forces respectives des deux approches et leur complémentarité, à travers des exemples ConTeXt complets.


Icônes et illustrations : quand choisir le SVG, quand choisir MetaPost ?

[modifier | modifier le wikicode]

1. Pourquoi ne pas tout dessiner en MetaPost ?

[modifier | modifier le wikicode]

MetaPost (ou MetaFun) excelle dans :

  • les formes géométriques scalables et propres ;
  • les schémas et organigrammes cohérents ;
  • les graphiques automatisés (camemberts, histogrammes, réseaux) ;
  • les calculs internes précis (alignements, proportions, intersections, tangentes).

Cependant, redessiner en MetaPost une icône générique (loupe, ampoule, flèche, engrenage…) n’est pas toujours utile. Ces icônes existent déjà en SVG, libres, élégantes et prêtes à l’emploi.

SVG pour les icônes ; MetaPost pour le dessin intelligent.

2. Pourquoi préférer parfois le SVG ?

[modifier | modifier le wikicode]

Le format SVG est remarquable pour les icônes :

  • rendu vectoriel impeccable à toute taille ;
  • fichiers légers ;
  • nombreuses bibliothèques libres (Bootstrap Icons, Tabler Icons, Feather Icons, Font Awesome, etc.) ;
  • styles sobres adaptés à une documentation technique.

Pour un Wikilivre, c’est généralement le meilleur choix.

3. Importer un fichier SVG dans ConTeXt

[modifier | modifier le wikicode]

Exemple minimal :

\setuppapersize[A5]
\mainlanguage[fr]

\setupbodyfont[modern,10pt]

\useexternalfigure[lightbulb][lightbulb.svg]

\starttext
\section{Importer un fichier SVG}

Voici l’icône en largeur 2 cm :
\externalfigure[lightbulb][width=2cm]

\blank[medium]

La même icône, recolorée via MetaFun :
\startuseMPgraphic{TeinteIcône}
  picture p ; p := externalfigure "lightbulb.svg";
  draw p withcolor (.95,.85,.30) ; % jaune doré
\stopuseMPgraphic

\useMPgraphic{TeinteIcône}

\stoptext

Le couple SVG + MetaFun permet donc :

  • une importation simple ;
  • une transformation vectorielle directe ;
  • une recoloration dynamique.

4. MetaPost reste imbattable pour certains usages

[modifier | modifier le wikicode]
   Astuce
   Astuce
   Dès que votre illustration repose sur des calculs géométriques, des proportions précises ou un rendu paramétrique, 
   MetaPost est la solution la plus puissante.  
   Utilisez-le pour les schémas, les diagrammes, les camemberts ou les graphiques dépendant de paramètres.

MetaPost excelle pour :

  • les schémas techniques complexes ;
  • les graphiques paramétriques ;
  • les éléments dont la géométrie dépend de variables ;
  • les illustrations vectorielles cohérentes avec la charte graphique.

Exemple : un petit « camembert » avec MetaFun

[modifier | modifier le wikicode]
\setuppapersize[A5]
\mainlanguage[fr]
\setupbodyfont[modern,10pt]

\startuseMPgraphic{CamembertSimple}
  numeric a, b ; a := 40 ; b := 60 ;
  path pa, pb ;
  pa := fullcircle scaled 3cm ;
  pb := pa cutafter (directionpoint 0 of pa)
            cutbefore (directionpoint a of pa) ;

  fill pa withcolor (.8,.8,.8);
  fill pb withcolor (.4,.6,.85);

  draw pa ;
\stopuseMPgraphic

\starttext
\section{Exemple : un graphique généré en MetaPost}

\midaligned{\useMPgraphic{CamembertSimple}}

\stoptext

Ce type de graphique ne peut pas être obtenu proprement en SVG sans un outil externe. MetaPost le génère dynamiquement à la compilation.

5. Complémentarité SVG ↔ MetaPost

[modifier | modifier le wikicode]
Besoin Solution recommandée
Icônes simples, universelles, colorées SVG
Logos vectoriels SVG
Schémas précis, techniques MetaPost
Graphiques calculés, paramétriques MetaPost
Icônes recolorées dynamiquement SVG + MetaFun
Illustrations complexes libres de droits SVG

Les deux approches sont complémentaires : SVG = bibliothèque visuelle ; MetaPost = moteur graphique intelligent.

6. Recommandation pour ce Wikilivre

[modifier | modifier le wikicode]
  • Utiliser des icônes SVG pour les encadrés (« Objectifs », « Astuce », « Attention », etc.)
  • Montrer MetaPost dans ses usages les plus pertinents :
    • dessin vectoriel savant ;
    • schémas paramétriques ;
    • graphiques automatisés ;
    • mises en forme vectorielles cohérentes.

7. Résumé final

[modifier | modifier le wikicode]
   Information
   En résumé
   Le SVG est idéal pour les icônes et les symboles éditoriaux : il est léger, vectoriel et facilement réutilisable.  
   MetaPost, de son côté, reste irremplaçable pour les dessins intelligents, calculés, paramétriques et parfaitement intégrés au flux typographique.  
   ConTeXt permet de combiner les deux : importer un SVG, le manipuler via MetaFun, et s’appuyer sur MetaPost pour les graphiques et schémas complexes.

8. Remarque sur les icônes utilisées

[modifier | modifier le wikicode]

Les icônes de cette page proviennent exclusivement de Wikimedia Commons et sont toutes au format SVG :

  • – Objectifs (plume stylisée)
  • – Astuce (ampoule « flat design »)
  • – Résumé / information
  • / – navigation gauche / droite
  • – lien vers le sommaire du Wikilivre

Ce choix illustre concrètement l’intérêt d’utiliser des bibliothèques d’icônes SVG existantes, déjà harmonisées, et de réserver MetaPost aux graphiques et schémas réellement calculés.