# Font Library : gérer les polices d’un thème bloc sans plugin tiers

> Depuis WordPress 6.5, la Font Library héberge les polices en local, directement depuis l'administration. Tutoriel pour l'exploiter dans un thème bloc.

- Auteur : Clément Hadrot
- Publié le : 2025-01-15
- Mis à jour le : 2025-01-15
- Catégorie : Thèmes
- URL : https://wpmoderne.dev.wordpress-developpement.fr/themes/font-library-gestion-polices-themes-blocs/

## L’essentiel

- La Font Library héberge les fichiers de police en local, sans appel externe à Google
- L'activation par défaut se déclare dans theme.json via fontFamilies
- wp_register_font_collection permet de proposer sa propre collection de polices

Installer une police Google Fonts sur un site WordPress a longtemps voulu dire une chose : ajouter une balise `<link>` pointant vers les serveurs de Google, ou installer un plugin dédié pour l'auto-héberger proprement. Depuis WordPress 6.5, sorti au printemps dernier, cette étape est devenue native grâce à la **Font Library**, accessible directement dans l'éditeur de site.

Sur les projets où le respect du RGPD compte, en particulier pour les clients institutionnels ou les administrations, cette fonctionnalité a changé nos habitudes : plus besoin de plugin tiers rien que pour héberger des fichiers de police en local. Voici comment l'exploiter correctement dans un thème bloc.

## Où se trouve la Font Library

Dans l'éditeur de site, sous Styles, une icône dédiée aux polices ouvre la Font Library. On y trouve deux onglets : les polices déjà installées sur le site, et une collection de polices disponibles à l'installation, par défaut alimentée par un sous-ensemble de Google Fonts sélectionné pour sa licence libre et son poids raisonnable.

Choisir une police dans cette interface télécharge les fichiers `.woff2` correspondants et les stocke dans le dossier `wp-content/uploads/fonts/`. Aucune requête n'est ensuite envoyée vers un serveur externe pour afficher le texte du site : les fichiers sont servis depuis l'hébergement WordPress lui-même.

## Déclarer une police par défaut dans theme.json

Pour qu'une police installée via la Font Library soit proposée par défaut aux visiteurs d'un thème, il faut la référencer dans la clé `settings.typography.fontFamilies` de `theme.json` :

```
{
  "version": 2,
  "settings": {
    "typography": {
      "fontFamilies": [
        {
          "fontFamily": "\"Inter\", sans-serif",
          "slug": "inter",
          "name": "Inter",
          "fontFace": [
            {
              "fontFamily": "Inter",
              "fontWeight": "400",
              "fontStyle": "normal",
              "src": [ "file:./assets/fonts/inter-regular.woff2" ]
            },
            {
              "fontFamily": "Inter",
              "fontWeight": "700",
              "fontStyle": "normal",
              "src": [ "file:./assets/fonts/inter-bold.woff2" ]
            }
          ]
        }
      ]
    }
  }
}
```

Fournir les fichiers directement dans le thème via `fontFace`, plutôt que de dépendre de la Font Library installée en base, garantit que la police reste disponible même après une réinstallation ou un changement d'hébergement.

> L'essentiel à retenir : La Font Library héberge les fichiers de police en local, sans appel externe à Google ; L'activation par défaut se déclare dans theme.json via fontFamilies ; wp_register_font_collection permet de proposer sa propre collection de polices

## Créer sa propre collection de polices

Pour des projets où l'on souhaite proposer un catalogue de polices maison, par exemple des polices de marque sous licence commerciale, l'API `wp_register_font_collection()` permet d'ajouter une collection personnalisée à la Font Library :

```
function agence_register_font_collection() {
    wp_register_font_collection(
        'agence-fonts',
        array(
            'name'          => 'Polices de l\'agence',
            'description'   => 'Sélection de polices sous licence de marque',
            'font_families' => array(
                array(
                    'font_family_settings' => array(
                        'fontFamily' => 'Marque Display',
                        'slug'       => 'marque-display',
                        'fontFace'   => array(
                            array(
                                'fontFamily' => 'Marque Display',
                                'fontWeight' => '600',
                                'src'        => array( 'https://cdn.agence.fr/fonts/marque-display.woff2' ),
                            ),
                        ),
                    ),
                ),
            ),
        )
    );
}
add_action( 'init', 'agence_register_font_collection' );
```

Cette collection apparaît ensuite dans l'onglet d'installation de la Font Library, aux côtés de la collection Google Fonts par défaut, ce qui simplifie la vie des équipes éditoriales sur des projets multi-sites partageant une charte typographique commune.

## Les points de vigilance

- Les fichiers installés via la Font Library vivent dans `uploads/`, un dossier généralement exclu des sauvegardes de code source : pensez à les inclure dans vos procédures de déploiement ou à les fournir directement dans le thème
- La suppression d'un site ou d'un environnement de test n'entraîne pas automatiquement le nettoyage des polices installées, un ménage manuel reste parfois nécessaire
- Toutes les polices Google ne sont pas proposées par défaut dans la collection intégrée ; certaines restent accessibles uniquement via un fichier ajouté manuellement

### Compatibilité avec les thèmes classiques

La Font Library reste accessible même sur un thème classique, tant que celui-ci déclare le support des styles globaux via `add_theme_support( 'appearance-tools' )` ou une prise en charge partielle de `theme.json`. Elle n'est donc pas réservée aux seuls thèmes blocs, ce qui facilite son adoption progressive.

> Sur un site public sensible au RGPD, je désactive systématiquement tout appel externe vers Google Fonts et je m'assure que la Font Library héberge bien chaque police utilisée en local, sans exception.

## Pour aller plus loin

La Font Library referme une lacune que les développeurs WordPress comblaient jusqu'ici avec des plugins tiers ou des solutions maison d'auto-hébergement. Pour un thème bloc, la combiner avec une déclaration explicite dans `theme.json` reste la méthode la plus robuste : elle garantit que les polices survivent aux changements d'environnement et ne dépendent jamais d'une base de données spécifique.
