Skip to content
Back to Blog
informational

Qu'est-ce que le SVG ? Les graphiques vectoriels évolutifs expliqués

2026-05-17 9 min read

La réponse courte : le SVG est un fichier texte qui dessine des images

SVG signifie Scalable Vector Graphics. À la base, un fichier SVG est juste un fichier texte. Si tu en ouvres un dans un éditeur de texte, tu ne verras pas une grille de pixels comme dans un JPEG ou un PNG ; tu verras du balisage XML décrivant comment dessiner des formes. C'est un ensemble d'instructions mathématiques – des chemins définis par des courbes, des cercles avec un centre et un rayon, des rectangles avec une largeur et une hauteur – qui indiquent à un navigateur ou à un éditeur d'images comment afficher une image. Un logo simple pourrait n'être que 2 Ko de texte. La vraie magie est dans le nom : « scalable » (évolutif). Parce que le fichier décrit la géométrie au lieu d'une grille de pixels fixe, tu peux utiliser le même fichier SVG pour un minuscule favicon de 16 × 16 pixels et un panneau d'affichage de 3 mètres de large sans aucune perte de qualité. Essaie d'étirer un PNG à 10 fois sa taille originale et tu obtiendras un fouillis flou. Un SVG étiré à 10 fois sa taille est parfaitement net, identique à l'original. Le SVG est un standard ouvert du W3C, avec la version stable actuelle étant le SVG 1.1 (publiée en 2011) et le SVG 2 toujours en développement. La bonne nouvelle, c'est que tu n'as pas besoin de te soucier de la compatibilité. Chaque navigateur moderne – Chrome, Firefox, Safari, Edge – gère le SVG nativement. C'est précisément pourquoi les développeurs web l'ont adopté pour tout, des icônes et logos aux graphiques et illustrations complexes.

En quoi le SVG diffère des formats raster (PNG, JPEG, WebP)

Les images raster comme le PNG, le JPEG et le WebP sont essentiellement d'énormes grilles de carrés colorés. Un fichier PNG de 1920 × 1080 stocke la valeur de couleur spécifique pour chacun de ses 2 073 600 pixels. Le fichier n'a pas de concept de « cercle » ou de « ligne » ; il sait juste que le pixel aux coordonnées (142, 87) est une nuance particulière de bleu. Cette méthode est parfaite pour les photographies, où tu as des millions de variations de couleurs subtiles qu'aucune formule ne pourrait jamais espérer décrire efficacement. Les formats vectoriels comme le SVG fonctionnent dans l'autre sens. Un SVG ne stocke pas de pixels. Au lieu de cela, il stocke une commande comme « dessine un cercle rempli aux coordonnées (150, 90) avec un rayon de 40 pixels et la couleur de remplissage #0057FF ». Le navigateur ou la visionneuse d'images fait le travail de calculer quels pixels colorer lorsque l'image est affichée. Cela rend le fichier complètement indépendant de la résolution. Cette différence a d'énormes conséquences pratiques. Pour utiliser un logo d'entreprise sur différents supports, tu pourrais avoir besoin d'un PNG de 32 px pour un favicon, d'une version de 200 px pour l'en-tête du site web, et d'une de 2000 px pour une brochure imprimée. Avec le SVG, un seul fichier gère tous ces cas d'utilisation sans faille. D'un autre côté, essayer de représenter une photographie de montagne en SVG serait un désastre. Le fichier aurait besoin de millions d'éléments de chemin individuels pour ne serait-ce qu'approximer les détails, ce qui donnerait un fichier gigantesque qui aurait toujours l'air pire qu'un JPEG dix fois plus petit. Ne crois personne qui te dit que le SVG est *toujours* plus petit. La taille du fichier dépend entièrement de la complexité. Une icône simple à deux couleurs est probablement plus petite en SVG de 800 octets qu'en PNG de 4 Ko. Mais une illustration détaillée avec de nombreux dégradés et des centaines de chemins pourrait facilement faire 200 Ko en SVG, tandis qu'une version PNG compressée ne ferait que 80 Ko. Choisir le bon format nécessite de savoir ce que contient l'image.

Ce que contiennent réellement les fichiers SVG : un coup d'œil à l'intérieur

Parce que le SVG est juste du XML, tu n'as pas besoin de logiciel spécial pour jeter un coup d'œil à l'intérieur. Voici un fichier SVG complet qui dessine un cercle rouge avec une épaisse bordure bleue : <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="#E63946" stroke="#1D3557" stroke-width="4"/></svg> Cette image entière ne représente que 141 caractères de texte. L'attribut `viewBox` configure notre toile de dessin – un système de coordonnées de 100 × 100. Les attributs `cx`, `cy` et `r` définissent la position et la taille du cercle. Tu peux copier-coller ce code directement dans un fichier HTML, et ton navigateur web affichera l'image parfaitement. Bien sûr, les SVG du monde réel sont généralement plus complexes. Les outils de conception comme Adobe Illustrator ou Figma sont réputés pour exporter des fichiers gonflés remplis de métadonnées, de balises spécifiques à l'éditeur, et parfois même d'images raster cachées pour des effets qui ne peuvent pas être exprimés en vecteurs. Un SVG exporté avec les paramètres par défaut peut être 15 à 20 fois plus grand que le même fichier après optimisation. La vraie puissance du SVG réside dans l'élément `<path>`. L'attribut `d` d'un chemin contient son propre petit langage, avec des commandes pour déplacer un stylo virtuel (`M`), dessiner des lignes (`L`), créer des courbes complexes (`C`) et fermer des formes (`Z`). Un seul et long élément de chemin peut décrire n'importe quelle forme imaginable, du contour d'un pays sur une carte à une forme de lettre personnalisée. C'est ainsi que les graphiques vectoriels obtiennent leurs courbes lisses caractéristiques qui ne sont jamais pixelisées, peu importe à quel point tu zoomes.

Cas d'utilisation courants : où le SVG excelle et où il ne le fait pas

Les logos sont l'exemple parfait pour le SVG. Une seule marque doit être nette sur un en-tête de site web de 120 px, une carte de visite de 1,9 cm, et une bannière de salon de plusieurs mètres. Utiliser un seul fichier SVG maître est infiniment plus sensé et fiable que d'essayer de gérer un dossier de fichiers raster pour chaque résolution possible. Les icônes sont un autre cas d'utilisation parfait. Les jeux d'icônes modernes comme Font Awesome sont distribués en SVG. À une petite taille de 24 × 24 pixels, une icône SVG peut être aussi nette qu'un PNG parfait au pixel près, mais elle s'adapte aussi magnifiquement à 48 px ou 96 px pour les écrans haute résolution des téléphones et ordinateurs portables modernes, le tout à partir du même fichier source. Voici un cas d'utilisation majeur que les gens oublient souvent : la visualisation de données. Quand tu vois un graphique interactif sur un site d'actualités, il y a de fortes chances que ce soit du SVG. Des bibliothèques comme D3.js construisent ces visualisations dynamiquement dans le navigateur. Chaque barre dans un diagramme à barres, chaque point sur un nuage de points et chaque région sur une carte est un élément SVG distinct qui peut être stylisé avec CSS et manipulé avec JavaScript. Maintenant, pour la réalité : n'utilise pas le SVG pour les photographies. Les tons continus et les textures complexes d'une photo ne peuvent pas être décrits efficacement avec des chemins vectoriels. Toute tentative de « tracer » une photo en SVG produira un fichier monstrueusement grand qui ressemblera à un projet d'art vectorisé bon marché, pas à une photographie. Pour tout ce qui est photographique, reste fidèle au JPEG, WebP ou AVIF. Ils te donneront des fichiers beaucoup plus petits et une qualité bien supérieure. De plus, sois prudent avec le SVG dans les flux de travail d'impression professionnels. Le monde de l'impression tourne toujours autour des couleurs CMJN, des couleurs d'accompagnement et des paramètres de surimpression, et des formats comme le PDF et l'EPS offrent un support beaucoup plus profond et fiable pour ces fonctionnalités. L'espace colorimétrique natif du SVG est le RVB, et bien que tu puisses intégrer des profils CMJN, le support des logiciels d'impression est au mieux incohérent.

Conversion vers et depuis le SVG : ce qui fonctionne et ce qui ne fonctionne pas

La conversion entre formats vectoriels est généralement la partie facile. Passer de l'AI au SVG, de l'EPS au SVG, ou d'un PDF vectoriel au SVG est souvent un processus propre car les données géométriques sous-jacentes sont déjà présentes. C'est principalement une traduction du langage d'un format de fichier à un autre. CocoConvert gère ces conversions vectoriel-vers-vectoriel de manière fiable, en préservant les chemins, les couleurs et la typographie. Transformer une image raster comme un PNG ou un JPEG en SVG est une bête complètement différente. Ce processus, appelé auto-traçage, implique un logiciel qui devine où se trouvent les formes dans ton image basée sur des pixels et dessine des chemins vectoriels pour les approximer. Quiconque a mis un logo complexe dans un convertisseur en ligne et a récupéré un fouillis grumeleux connaît la douleur. Les résultats peuvent être acceptables pour un graphique très simple et à fort contraste, mais pour tout ce qui est complexe, c'est une approximation. Pour une version vectorielle vraiment propre d'un logo, rien ne vaut un designer qui le redessine manuellement dans un outil comme Illustrator ou Inkscape. Aller dans l'autre sens – du SVG à un format raster comme le PNG – est simple. Puisque le SVG n'a pas de taille de pixel inhérente, tu as juste besoin de dire au convertisseur quelle taille donner au PNG final. CocoConvert te permet de spécifier une largeur cible, et la hauteur est calculée automatiquement pour maintenir le rapport d'aspect. Pour une utilisation web, l'exportation aux tailles 1× et 2× (par exemple, 400 px et 800 px de large) est une pratique courante. Pour une impression de haute qualité à 300 DPI, n'oublie pas qu'une image de 4 pouces de large doit être exportée à 1200 pixels de large. Une dernière conversion qui déroute souvent les gens est SVG vers PDF. Puisque les deux peuvent être des formats vectoriels, la conversion est généralement sans perte pour l'œuvre d'art elle-même. Le piège, ce sont les polices. Si ton SVG utilise une police installée sur ton système mais ne l'intègre pas, le PDF résultant pourrait la remplacer par autre chose, brisant ton design. L'astuce de pro est de convertir tout le texte en tracés dans ton logiciel de conception *avant* d'exporter le SVG.

Le SVG dans le développement web : intégration, style et animation

Tu as plusieurs façons d'intégrer un SVG sur une page web, et la méthode que tu choisis a de réelles conséquences. La plus simple est une balise `<img>` : `<img src="logo.svg" alt="Logo de l'entreprise">`. C'est facile, mais c'est une boîte noire. Tu ne peux pas accéder à l'intérieur avec CSS pour changer la couleur d'une forme, ni l'animer avec JavaScript. Pour obtenir un contrôle total, tu dois intégrer le SVG directement dans ton HTML. Le balisage SVG devient une partie du DOM, tout comme tes `<div>` et `<p>`. C'est là que le SVG brille vraiment sur le web. Tu peux cibler n'importe quel élément à l'intérieur du SVG avec des sélecteurs CSS pour changer les remplissages au survol, ou utiliser JavaScript et l'API Web Animations pour créer des interactions complexes. C'est ainsi que les frameworks front-end modernes utilisent les SVG pour les icônes – ils sont rendus en ligne comme des composants. Utiliser `background-image: url('icon.svg')` dans ton CSS est une troisième option, idéale pour les motifs répétitifs ou les éléments décoratifs. Comme la balise `<img>`, cependant, cela isole le SVG, empêchant tout style interne. Tu peux contourner cela en créant et en liant différents fichiers SVG pour différents états, mais ce n'est pas une solution particulièrement élégante. Les animations, c'est là que les SVG deviennent vraiment amusants. Tu peux appliquer des animations et transitions CSS standard à n'importe quel élément d'un SVG en ligne. Une astuce populaire pour les effets de « dessin » utilise les propriétés CSS `stroke-dasharray` et `stroke-dashoffset` pour faire apparaître un chemin comme s'il se dessinait lui-même à l'écran. Il existe aussi une syntaxe d'animation SVG native appelée SMIL, mais avec son historique de support irrégulier (elle n'a jamais fonctionné dans Internet Explorer), la plupart des développeurs s'en tiennent aujourd'hui au CSS ou à JavaScript. Enfin, un mot sur la performance. Ne laisse pas la pureté vectorielle saboter la vitesse de ton site. Un SVG très grand et complexe avec des milliers de chemins peut être lent à rendre pour un navigateur. Si tu as une illustration complexe utilisée comme arrière-plan, tu ferais peut-être mieux de la rastériser en un fichier WebP optimisé. La légère perte de scalabilité en vaut la peine si cela permet d'économiser 300 ms de temps de rendu sur un appareil mobile.

Optimisation des fichiers SVG : réduire la taille sans perdre en qualité

Ne fais jamais confiance à un fichier SVG directement exporté d'un outil de conception. Ils sont presque toujours gonflés de données inutiles. Illustrator et d'autres éditeurs ajoutent des tonnes de métadonnées XML, d'attributs spécifiques à l'éditeur, de calques cachés et de définitions inutilisées. Il n'est pas rare de voir un fichier logo de 18 Ko passer à 3 Ko après optimisation – une réduction de 80 % sans aucun changement visuel. L'outil standard de l'industrie pour ce travail est SVGO (SVG Optimizer). Bien que ce soit un utilitaire en ligne de commande, la façon la plus simple de l'utiliser est via une interface graphique web, et la meilleure est SVGOMG par Jake Archibald. Tu peux coller ton code SVG ou télécharger un fichier et basculer visuellement différents paramètres d'optimisation pour voir leur effet sur la taille du fichier et le rendu. Les plus grands gains proviennent généralement de la suppression des métadonnées, de la réduction des groupes, de la suppression des éléments cachés et de la conversion de formes simples comme `<rect>` en éléments `<path>` plus efficaces. Fais particulièrement attention au curseur « Precision », qui contrôle le nombre de décimales dans les coordonnées. Le réduire de 6 à 2 peut souvent réduire la taille du fichier de 20 à 30 % sans différence perceptible. Si tu intègres des SVG directement dans ton HTML pour les icônes, tu peux être encore plus agressif. L'attribut `xmlns` n'est pas nécessaire pour les SVG en ligne en HTML5, et tu peux même supprimer le `viewBox` si tu sais que l'icône aura toujours une taille fixe (bien que ce soit moins courant et puisse être risqué). CocoConvert applique automatiquement certaines optimisations de base, comme la suppression des métadonnées et la réduction de la précision des coordonnées. Cela te donne un bon point de départ. Mais pour une utilisation web en production où chaque kilooctet compte, nous te recommandons fortement de passer tes fichiers par SVGOMG. Un outil automatisé doit être conservateur, mais un humain qui peut vérifier le résultat peut pousser l'optimisation beaucoup plus loin en toute sécurité pour obtenir le fichier le plus petit possible.