← Tous les articles

SF Symbols personnalisés : le modèle variable et les trois sources requises

Apple livre plus de 6 000 SF Symbols et l’application SF Symbols est gratuite, mais la plupart des applications finissent par avoir besoin d’une icône qu’Apple ne propose pas : une marque, un glyphe spécifique à un domaine, une action personnalisée qui ne rentre pas dans le vocabulaire système. La bonne approche consiste à créer un SF Symbol personnalisé plutôt qu’à insérer un SVG statique, car les SF Symbols personnalisés héritent gratuitement de la machinerie du système : ils s’adaptent à Dynamic Type, participent aux animations Symbol Effects, s’affichent dans les quatre modes de rendu, s’alignent avec la typographie SF Pro et respectent les paramètres d’accessibilité sans code spécifique à l’application. Les SVG statiques ne participent à rien de tout cela.

L’article parcourt le flux de travail à partir du modèle variable de l’application SF Symbols, introduit dans SF Symbols 3 lors de la WWDC 20211. Le cadrage est « quelles sont les trois conceptions sources requises et pourquoi », car le format du modèle est la pièce maîtresse du flux de travail que la plupart des designers et ingénieurs manquent lors de leur première tentative. Les versions ultérieures de SF Symbols (4, 5, 6, 7) ont étendu le format du modèle avec la couleur variable, les transitions magic replace, le support des dégradés et les effets d’animation, mais la structure fondamentale à trois sources du modèle variable est stable depuis SF Symbols 3.

TL;DR

  • Les SF Symbols personnalisés démarrent à partir d’un modèle exporté depuis l’application SF Symbols (File > Export Template, ou ⌘E)2. Le modèle est un SVG avec des guides définis par le système pour le dimensionnement et un symbole de remplacement à substituer.
  • Le modèle variable ne nécessite que trois conceptions sources : Ultralight-Small, Regular-Small et Black-Small. L’application SF Symbols interpole automatiquement les 24 variations restantes (3 échelles × 9 graisses)3.
  • La compatibilité des chemins est l’exigence centrale : chaque chemin doit avoir le même nombre de points d’ancrage, le même point de départ et la même direction dans les trois sources. Sans cela, l’interpolation produit des glyphes malformés.
  • Les symboles personnalisés prennent en charge les quatre modes de rendu (monochrome, hiérarchique, palette, multicolore) et la structure en couches (primaire, secondaire, tertiaire). Le panneau d’inspection du rendu du Symbol Editor assigne les sous-chemins aux couches.
  • Livraison finale : ajoutez le fichier de symbole à Xcode en tant que Symbol Image Set dans le catalogue d’assets. SwiftUI le référence via Image(_:) avec le nom du symbole ; le système gère le reste.

Le modèle variable

SF Symbols 3 (WWDC 2021) a introduit le modèle variable3, un fichier SVG unique qui capture trois conceptions sources et à partir duquel l’application SF Symbols génère la grille complète des 27 variations. Les trois sources sont :

  • Ultralight-Small. La graisse la plus fine, l’échelle la plus petite.
  • Regular-Small. La graisse intermédiaire, l’échelle la plus petite.
  • Black-Small. La graisse la plus épaisse, l’échelle la plus petite.

L’application utilise ces trois sources pour interpoler les 24 autres cellules (Ultralight-Medium, Regular-Medium, Black-Medium, Ultralight-Large, Regular-Large, Black-Large, plus les graisses intermédiaires à chaque échelle). L’interpolation est automatique à condition que les chemins sources aient une structure compatible.

Avant que SF Symbols 3 n’introduise le modèle variable, les symboles personnalisés exigeaient que les 27 variations soient dessinées manuellement. Le modèle variable a réduit cela à 3 + interpolation, ce qui fait toute la différence entre un effort de conception gérable et un projet voué à l’échec.

L’exigence de données compatibles

L’interpolation de chemins exige que les trois chemins sources décrivent la même forme dans le même ordre2 :

  • Même nombre de points d’ancrage. Un carré en graisse Regular avec 4 ancrages doit avoir 4 ancrages en Ultralight et en Black, même si la courbure visible diffère.
  • Même point de départ. Le premier ancrage du chemin doit se trouver dans la même position conceptuelle (par exemple, toujours le coin supérieur gauche) dans les trois graisses.
  • Même direction. Les trois chemins parcourent la forme dans le même ordre (sens horaire ou antihoraire).

Ne pas respecter l’un de ces points produit des artefacts d’interpolation : plis, chevauchements erronés, traits manquants. L’application SF Symbols en signale certains (l’aperçu des variantes montre le résultat de l’interpolation), mais les problèmes subtils ne se manifestent que dans l’asset final exporté.

Le flux de travail pragmatique consiste à concevoir Regular-Small en premier, puis à dériver Ultralight en réduisant la largeur du trait et Black en augmentant la largeur du trait sur le même squelette de chemin. Chaque dérivation préserve par construction le nombre d’ancrages, le point de départ et la direction. Concevoir chaque graisse indépendamment produit des problèmes de compatibilité dont le débogage prend plus de temps que de refaire la construction.

Le flux de travail

Cinq étapes du concept à l’asset fonctionnel :

1. Trouver un symbole existant similaire

La bibliothèque de l’application SF Symbols contient plus de 6 000 symboles. Trouvez-en un structurellement similaire à votre concept (un cercle avec contenu, un carré avec superposition, une ligne avec décoration). Le chemin d’export du modèle utilise la géométrie d’un symbole existant comme point de départ.

2. Exporter le modèle

File > Export Template… ou ⌘E. Choisissez « Variable » comme type de modèle. Le résultat est un fichier SVG avec les trois graisses sources du symbole disposées, ainsi qu’une géométrie de référence montrant la hauteur de capitale, la ligne de base et les marges visuelles que SF Symbols utilise pour s’aligner avec le texte SF Pro.

3. Remplacer les chemins du modèle

Ouvrez le SVG dans un éditeur vectoriel (Sketch, Figma, Illustrator, Affinity Designer, Inkscape). Les couches nommées du modèle contiennent les trois conceptions sources. Remplacez chacune par votre conception personnalisée tout en préservant les noms de couches et l’alignement hauteur de capitale/ligne de base.

L’exigence de compatibilité des chemins est cruciale ici : concevez chaque graisse à partir du même squelette de chemin, en faisant varier la largeur du trait ou la graisse du remplissage plutôt qu’en redessinant. Le flux « dupliquer et modifier » des outils vectoriels est la voie de moindre résistance.

4. Réimporter et vérifier

Glissez le SVG modifié dans l’application SF Symbols. L’application génère les 27 variations et les affiche dans la grille des variantes. Inspectez chaque combinaison graisse-échelle à plusieurs niveaux de zoom ; les artefacts d’interpolation apparaissent souvent à des graisses intermédiaires qui ne sont pas immédiatement évidentes.

Pour les symboles comportant plusieurs éléments visuels (un corps plus un badge, un cercle plus une forme intérieure), ouvrez le panneau d’inspection du rendu et assignez les sous-chemins aux couches (primaire, secondaire, tertiaire). Les affectations de couches déterminent comment le symbole s’affiche dans les modes hiérarchique, palette et multicolore.

5. Ajouter à Xcode

Glissez le fichier de symbole (.svg exporté depuis SF Symbols) dans le catalogue d’assets de Xcode. Xcode le traite comme un Symbol Image Set. Référencez-le depuis le code :

Image("MyCustomSymbol")
    .symbolRenderingMode(.hierarchical)
    .foregroundStyle(.tint)

Image(_:) (sans le paramètre systemName:) charge depuis le catalogue d’assets. Les mêmes comportements .symbolRenderingMode, .foregroundStyle, .symbolEffect et Dynamic Type qui fonctionnent sur les symboles système fonctionnent sur les symboles personnalisés, à condition que le symbole ait été créé correctement.

Modes de rendu et structure en couches

Les quatre modes de rendu exposés par SF Symbols fonctionnent de la même manière sur les symboles personnalisés et sur les symboles système4 :

  • Monochrome. Couleur unique (foregroundStyle). Le mode le plus simple et le plus courant.
  • Hiérarchique. Couleur unique, opacité variable selon la couche. Les couches définies dans le panneau d’inspection du rendu reçoivent des opacités prédéfinies ; le développeur applique une teinte et obtient automatiquement une hiérarchie visuelle.
  • Palette. Couleur explicite par couche. Le développeur passe plusieurs arguments foregroundStyle ; chaque couche reçoit la sienne.
  • Multicolore. Couleurs fixes définies par Apple par couche. Pour les symboles personnalisés, les couleurs sont celles que le designer assigne dans la configuration Multicolor du Symbol Editor.

La structure en couches est ce qui fait fonctionner les modes hiérarchique, palette et multicolore. Un symbole personnalisé sans affectation de couches regroupe tous les chemins dans la couche primaire ; le symbole s’affiche toujours en monochrome mais ne produit aucune hiérarchie visuelle dans les autres modes. Prenez le temps d’assigner les couches dans le panneau d’inspection du rendu pour tout symbole qui bénéficie de la profondeur.

Échecs courants

Trois schémas tirés des journaux d’échec de symboles personnalisés :

Violations de compatibilité de chemins. Le problème le plus courant. Un symbole qui « semble correct en graisse Regular » mais produit des graisses intermédiaires défectueuses présente presque toujours un problème de compatibilité de chemins. Diagnostic : ouvrez la grille des variantes de l’application SF Symbols, examinez les variantes de graisse moyenne ; si elles montrent des plis ou des traits qui ne correspondent pas à l’interpolation attendue, l’un des trois chemins sources viole la compatibilité.

Ligne de base ou hauteur de capitale mal alignée. Les symboles conçus sans respecter le guide de ligne de base du modèle s’aligneront maladroitement à côté du texte. Le symptôme visuel : le symbole apparaît trop haut ou trop bas lorsqu’il est placé en ligne avec un Text au style .body. Correction : utilisez la géométrie de référence du modèle ; positionnez le centre optique du symbole au point médian de la hauteur de capitale.

Aucune affectation de couches. Un symbole avec une structure interne riche (plusieurs éléments visuels) mais sans affectation de couches ne s’affiche correctement qu’en monochrome. Les applications qui sélectionnent le mode hiérarchique ou palette voient un rendu plat. Correction : ouvrez le panneau d’inspection du rendu et assignez chaque sous-chemin à une couche (primaire pour la forme principale, secondaire pour les accents, tertiaire pour les détails tertiaires).

Ce que ce schéma signifie pour les applications iOS 26+

Trois enseignements.

  1. Utilisez des SF Symbols personnalisés, pas des SVG bruts, pour les icônes intégrées à l’application. Le flux de travail des symboles personnalisés représente un véritable travail d’ingénierie, mais l’intégration système (Dynamic Type, Symbol Effects, modes de rendu, accessibilité) rend ce coût rentable pour toute icône qui vit longtemps dans l’UI. Les SVG statiques conviennent aux assets marketing ponctuels, pas à l’UI principale.

  2. Concevez à partir d’un squelette unique ; faites varier la largeur du trait, pas la structure du chemin. Les violations de compatibilité de chemins sont le mode d’échec central. Le processus de conception défensif consiste à commencer par une graisse (Regular-Small), puis à dériver Ultralight en réduisant le trait et Black en augmentant le trait à partir de la même géométrie de chemin. La compatibilité tient par construction.

  3. Assignez explicitement les couches pour tout symbole qui bénéficie des modes de rendu. Un symbole qui ne s’affiche qu’en monochrome est un symbole qui se prive de la moitié du système SF Symbols. Le panneau d’inspection du rendu prend quelques minutes ; le résultat est des symboles qui participent aux modes hiérarchique, palette et multicolore aux côtés des symboles système.

Le cluster Apple Ecosystem complet : App Intents typés ; serveurs MCP ; la question du routage ; Foundation Models ; la distinction LLM runtime vs outillage ; trois surfaces ; le pattern source unique de vérité ; Two MCP Servers ; hooks pour le développement Apple ; Live Activities ; le runtime watchOS ; les internes de SwiftUI ; le modèle mental spatial de RealityKit ; la discipline de schéma SwiftData ; les patterns Liquid Glass ; la livraison multi-plateforme ; la matrice de plateformes ; le framework Vision ; Symbol Effects ; l’inférence Core ML ; Writing Tools API ; Swift Testing ; Privacy Manifest ; l’accessibilité comme plateforme ; la typographie SF Pro ; les patterns spatiaux visionOS ; le framework Speech ; les migrations SwiftData ; le moteur de focus tvOS ; les internes de @Observable ; le protocole Layout de SwiftUI ; ce que je refuse d’écrire. Le hub se trouve à la série Apple Ecosystem. Pour un contexte plus large iOS-avec-agents-IA, consultez le guide iOS Agent Development.

FAQ

Ai-je besoin de l’application SF Symbols, ou puis-je créer des symboles personnalisés autrement ?

L’application SF Symbols est l’outil officiel et le seul qui produise des symboles personnalisés validés et compatibles avec l’App Store. Des outils tiers et des convertisseurs en ligne existent, mais produisent des SVG qui peuvent ou non satisfaire aux exigences du format de modèle. Pour les applications de production, utilisez l’application SF Symbols.

Puis-je créer des symboles personnalisés sous Windows ?

L’application SF Symbols est exclusive à macOS. Vous pouvez modifier le modèle SVG exporté sur n’importe quelle plateforme avec un éditeur vectoriel, mais les étapes d’export et de réimport nécessitent macOS. La plupart des équipes ont au moins un designer sous macOS qui peut gérer ces étapes ; les flux de travail en équipe distante font passer le fichier SVG par le contrôle de version ou le stockage partagé.

Comment prendre en charge .symbolEffect sur un symbole personnalisé ?

La plupart des symbol effects fonctionnent automatiquement si la structure du symbole est bien formée : bounce, pulse, scale et les autres s’appliquent au symbole quelle que soit sa source. La transition de contenu .replace nécessite que le symbole de départ et le symbole d’arrivée aient des structures compatibles (nombres de couches similaires, forme globale similaire). L’article Symbol Effects du cluster couvre le vocabulaire des effets en détail.

Quelle est la différence entre un Symbol Image Set et un Image Set classique dans Xcode ?

Un Symbol Image Set importe le modèle complet du symbole (les 27 variations) et les expose via le pipeline de rendu de SF Symbols. Le symbole s’adapte à Dynamic Type, participe aux modes de rendu et fonctionne avec .symbolEffect. Un Image Set classique est une ressource raster ou SVG statique qui ne participe à rien de tout cela. Utilisez Symbol Image Set pour les SF Symbols personnalisés.

Comment les symboles personnalisés se comportent-ils sur visionOS et watchOS ?

De la même manière que les symboles système : ils s’affichent aux tailles attendues par la plateforme (petite pour watchOS, grande pour visionOS), participent aux fonctionnalités d’accessibilité de la plateforme et respectent les conventions de couleur et d’effet de la plateforme. La création du symbole personnalisé est unique ; le comportement multi-plateforme est automatique. Les articles Apple Platform Matrix et patterns spatiaux visionOS du cluster couvrent les considérations propres à chaque plateforme.

Quel est l’impact sur la revue App Store ?

Aucun. Les SF Symbols personnalisés sont examinés de manière identique aux autres assets du catalogue. Les directives de style visuel (ne pas usurper les patterns d’UI d’Apple, ne pas violer les marques déposées) s’appliquent aux symboles personnalisés comme aux autres œuvres personnalisées ; sinon, le processus de revue les traite comme des assets d’image standard.

Références


  1. Apple Developer : SF Symbols. Le téléchargement de l’application, le navigateur de bibliothèque de symboles et le hub de documentation pour la création de symboles personnalisés. 

  2. Documentation Apple Developer : Creating custom symbol images for your app. Le guide officiel d’Apple couvrant l’export du modèle, la structure SVG, les exigences de compatibilité de chemins et l’import dans le catalogue d’assets Xcode. 

  3. Apple Developer : Create custom symbols (session WWDC 2021 10250). L’introduction du format de modèle variable et du flux de travail à trois conceptions sources. 

  4. Documentation Apple Developer : SymbolRenderingMode. Les quatre modes de rendu (.monochrome, .hierarchical, .palette, .multicolor) et leurs interactions avec la structure en couches. 

Articles connexes

Symbol Effects: SwiftUI's Built-In Animation Vocabulary For Every Icon

SF Symbols ships an animation vocabulary every iOS app can speak. Bounce, pulse, scale, replace, variable color, breathe…

12 min de lecture

Liquid Glass in SwiftUI: Three Patterns From Shipping Return on iOS 26

Apple's Liquid Glass is a one-line SwiftUI API. Three patterns from Return go beyond .glassEffect(): glass on text via C…

19 min de lecture

Taste Is Infrastructure: Encoding Aesthetic Judgment for AI

Agents have capability without opinion. The quality ceiling depends on how well you encode aesthetic judgment into hooks…

8 min de lecture