Un magenta signature, un serif éditorial qui assume ses titres, un sans-serif
robuste pour tout le reste, et une couleur par rubrique pour se repérer.
Voici la marque telle qu'elle vit sur lalibre.be, prête à être reprise par
les équipes produit et développement.
Source lalibre.be
Relevé 10.10.2026
App Design System v1.0
Méthode Refactoring UI
Contact Raphaël Batista, DA IPM
00 · Principes
Huit règles avant les valeurs
Cette charte décrit le système tel qu'il tourne sur lalibre.be, puis le relit
avec la méthode Refactoring UI (Adam Wathan et Steve Schoger). Quand la méthode et
la marque se contredisent, la marque l'emporte sur la typographie et la couleur, et l'écart est signalé.
site valeur relevée dans le code de productioncalc valeur calculée pour compléter une échelleproposition recommandation, pas encore en production
1
Hiérarchie par la graisse et la couleur
Pas seulement par la taille. Un titre de teaser en Manuale 600 graphite, une métadonnée en
Libre Franklin 600 grise en capitales : deux niveaux lisibles sans changer de corps.
2
Des nuances choisies d'avance
Dix paliers pour le magenta, le marine et les gris. On pioche dans l'échelle, on n'invente
pas un hex au fil d'une maquette.
3
Une échelle d'espacement
4, 8, 12, 16, 24, 32, 48, 64 px. Le site vit surtout sur 0,5 rem et 1 rem : ce sont les deux
valeurs de référence.
4
Une ombre est une altitude
Cinq niveaux, du bouton à la modale. Plus un élément est haut, plus l'ombre est large et
diffuse. Toujours deux couches : une nette, une douce.
5
Pas de gris sur un fond coloré
Sur magenta, marine ou rubrique, le texte secondaire est du blanc atténué ou une teinte
claire de la même couleur. Jamais #686868.
6
La couleur n'est jamais seule
Un contenu abonné, c'est un carré jaune, la lettre L et un texte pour les lecteurs d'écran.
Une erreur, c'est une couleur et un message.
7
45 à 75 caractères par ligne
La colonne d'article fait environ 675 px : à 21 px de corps, cela donne une soixantaine
de caractères. On ne l'élargit pas.
8
Les bordures en dernier
Le site utilise beaucoup de filets #E0E0E0. Pour un nouveau composant, essayer d'abord
l'espace, un fond #F2F2F2 ou une ombre. proposition
01 · Logo
Le logotype
Le logotype La Libre est un mot-symbole en serif, dessiné d'un seul
tenant, en magenta #AC115D. Il existe en deux versions officielles :
magenta sur fond clair, blanc sur fond foncé ou coloré. Les deux fichiers SVG
sont fournis plus bas, recadrés au plus juste.
Zone de protection et taille minimale.
Une marge libre égale à la hauteur du « a » bas de casse entoure le logo : aucun élément
ne doit y pénétrer. Largeur minimale de 80 px à l'écran et 25 mm en impression.
x = hauteur du « a »
Sur quels fonds. Magenta sur blanc ou fond très
clair, blanc partout ailleurs. Sur lalibre.be, le header est un bandeau magenta avec le logo en blanc. Jamais de magenta sur marine ou sur graphite : le contraste
tombe sous 3:1.
Magenta / blanc
Blanc / magenta
Blanc / marine
Blanc / image
À ne pas faire. Le logo s'utilise tel que fourni, sans modification.
✕ 1Recomposer le mot dans une autre police
✕ 2Changer la couleur (hors magenta et blanc)
✕ 3Déformer, étirer ou incliner
✕ 4Ajouter un contour ou une ombre
✕ 5Le poser sur une image chargée sans voile
Nom de marque. Le titre s'écrit La Libre (le nom historique
complet est La Libre Belgique). Le site est lalibre.be, les grands formats
vivent sur dossiers.lalibre.be.
02 · Couleurs
Couleurs de marque
Le magenta porte la marque (logo, header, liens, titres de blocs,
couleur du navigateur). Le graphite porte la lecture : c'est la couleur du texte
et du bouton principal. Le marine sert de fond éditorial pour les séries et les
grands formats. Cliquer sur une valeur la copie.
Piège de nommage pour les devs. Dans le CSS du site,
--color-primary vaut #262729 (graphite) et --color-secondary
vaut #AC115D (magenta). Côté marque, c'est l'inverse : le magenta est la couleur
principale. Les tokens fournis ici lèvent l'ambiguïté avec des noms explicites (--llb-magenta, --llb-graphite).
Échelles de nuances
Le site utilise déjà plusieurs déclinaisons du magenta et du marine.
Elles sont rangées ici sur une échelle de 50 (le plus clair) à 900 (le plus foncé). Les paliers
manquants sont calculés en HSL à partir de la teinte de base, et marqués calc.
Le « Aa » dans chaque pastille est écrit dans la couleur de texte qui passe le mieux.
Magenta
Aa13,750calcAAA
Aa12,1100calcAAA
Aa9,5200calcAAA
Aa6,3300calcAA
Aa5,0400siteAA
Aa5,7500calcAA
Aa7,0600siteAAA
Aa8,8700siteAAA
Aa13,0800siteAAA
Aa16,9900calcAAA
Marine
Aa13,450calcAAA
Aa11,4100calcAAA
Aa8,0200calcAAA
Aa5,4300calcAA
Aa4,2400calcAA 24px+
Aa6,6500siteAA
Aa13,3600siteAAA
Aa14,8700calcAAA
Aa16,1800siteAAA
Aa18,6900siteAAA
Gris
Aa14,050siteAAA
Aa13,4100siteAAA
Aa11,3200siteAAA
Aa8,8300siteAAA
Aa8,0400siteAAA
Aa5,2500siteAA
Aa5,6600siteAA
Aa7,5700siteAAA
Aa15,0800siteAAA
Aa18,9900siteAAA
50 · 100fonds teintés, survol de ligne, zones de mise en avant
200 · 300bordures, séparateurs, éléments inactifs
400 · 500icônes, accents sur fond sombre
600la couleur de base (magenta #AC115D)
700survol
800 · 900état pressé, fonds profonds, texte sur fond teinté
Hors échelle : le magenta vif #EF147F. Nommé
--color-secondary-darkest dans le CSS, c'est en fait la version la plus lumineuse. Il sert
d'accent ponctuel sur fond sombre (mode sombre, vidéo). Il n'entre pas dans l'échelle parce que
sa teinte et sa saturation s'en écartent.
Abonnement
Le jaune est réservé à l'univers payant : bouton S'abonner,
badge « article offert », carré « L » des contenus abonnés, paywall. Le texte posé dessus est toujours brun foncé.
États, direct et marqueurs éditoriaux. Elles ne remplacent jamais un texte :
le badge « Live » dit « Live », un message d'erreur dit ce qui ne va pas.
--llb-success
Succès
HEX
RGB77 · 158 · 51
HSL105 · 51 % · 41 %
Confirmations · texte graphite 4,5:1 (AA grands textes)
--llb-error
Erreur
HEX
RGB199 · 60 · 73
HSL354 · 55 % · 51 %
Champs en erreur, alertes · texte blanc 5,0:1 (AA)
--llb-live
Direct
HEX
RGB223 · 0 · 0
HSL0 · 100 % · 44 %
Badge Live · texte blanc 5,1:1 (AA)
--llb-new
Nouveau
HEX
RGB0 · 253 · 197
HSL167 · 100 % · 50 %
Badge Nouveau · texte graphite 11,3:1 (AA)
--llb-sponsor
Sponsor
HEX
RGB227 · 224 · 224
HSL0 · 5 % · 88 %
Fond des contenus sponsorisés · texte graphite 11,4:1 (AA)
--llb-sponsor-ink
Titre sponsor
HEX
RGB17 · 74 · 112
HSL204 · 74 % · 25 %
Titre des teasers sponsorisés · texte blanc 9,4:1 (AA)
Dégradé éditorial
Le fond des pages séries part d'un bleu pétrole vers le marine
(#08619B vers #061E4D, 270°). La vidéo utilise une variante plus nuit
(#0A2B6C vers #03132B).
linear-gradient(270deg, #08619B, #061E4D)
Contrastes
Ratios WCAG calculés pour les couples les plus courants. Seuils : 4,5:1
pour le texte courant (AA), 3:1 pour les grands textes et les éléments d'interface,
7:1 pour l'AAA. Chaque case dit son verdict en toutes lettres.
Ratios de contraste texte / fond
Texte \ Fond
Blanc#FFFFFF
Surface#F2F2F2
Jaune#F2C93D
Magenta#AC115D
Marine#061E4D
Sombre#1F1E1C
Graphite#262729
Aa15,0AAA
Aa13,4AAA
Aa9,4AAA
Aa2,1non
Aa1,1non
Aa1,1non
Gris#686868
Aa5,6AA
Aa5,0AA
Aa3,524px+
Aa1,3non
Aa2,9non
Aa3,0non
Magenta#AC115D
Aa7,0AAA
Aa6,3AA
Aa4,424px+
·
Aa2,3non
Aa2,4non
Brun#5D3C10
Aa9,9AAA
Aa8,9AAA
Aa6,2AA
Aa1,4non
Aa1,6non
Aa1,7non
Blanc#FFFFFF
·
Aa1,1non
Aa1,6non
Aa7,0AAA
Aa16,1AAA
Aa16,7AAA
03 · Rubriques
Une couleur par rubrique
Chaque rubrique du site a un trio de couleurs injecté par le CMS
(Arc) en variables CSS : --section-color-primary, --section-color-primary-dark
et --section-color-secondary. Elles colorent les en-têtes de chaînes, les liens de menu
et les surtitres des teasers.
Accessibilité. Sur le web, la plupart des couleurs de rubrique
ne tiennent pas le ratio AA (4,5:1) avec du texte blanc : à réserver aux aplats décoratifs, filets
et grands titres. L'app native utilise des versions corrigées, plus denses, qui passent l'AA. C'est
la piste recommandée pour toute nouvelle interface.
Rubriques de l'app native
Tokens du design system de l'app (Figma, v1.0) : douze couleurs,
dont deux propres à l'app (Sélection et Longs formats). Dans l'app, la rubrique
Économie porte le nom Libre Éco et garde la couleur web #0548AA, déjà conforme AA.
AA texte
Belgique#927035 · 4,6:1
International#0B57C7 · 6,6:1
Économie · Libre Éco#0548AA · 8,4:1
Planète#00846E · 4,6:1
Culture#D53C3C · 4,6:1
Sports#218625 · 4,7:1
Lifestyle#D13C6E · 4,6:1
Débats#757575 · 4,6:1
Régions#C55205 · 4,6:1
Network#137BBE · 4,6:1
Sélection#F7B500 · 8,2:1
Longs formats#752863 · 9,4:1
La rubrique colore la page
Dans une rubrique, le trio de couleurs remonte jusqu'au header :
le bandeau prend la teinte foncée de la rubrique, et le lien actif du menu secondaire
se remplit de la primaire. Exemple ci-dessous avec Économie.
S'identifier
Headerfond --section-color-primary-dark · logo blanc
Menu secondaireLibre Franklin 600 · 16 / 20 · padding .5 × .75rem · rayon .25rem
Les chaînes mises en avant d'une rubrique (Libre ECO sur la home, par exemple)
reçoivent un fond en dégradé radial, de la teinte foncée vers la primaire, coiffé d'un filet de 3 px
dans la secondaire.
Manuale pour les titres, Libre Franklin
pour tout le reste. Deux polices libres (licence SIL Open Font License), servies en local par le site
depuis /pf/resources/fonts/lalibre/. Ici, elles sont auto-hébergées en woff2 variable.
Texte et interfaceGraisses en ligne : 400 · 500 · 600 · 700Repli : Helvetica Neue, ArialDessin : Impallari Type
Libre Franklin Bold
Titres de box (en magenta), mises en avant.
Libre Franklin SemiBold
Menus, boutons de navigation, surtitres.
Libre Franklin Medium
Graisse par défaut du body, chapôs.
Libre Franklin Regular
Textes secondaires, aides, légendes.
Rôles observés
Tailles réellement appliquées sur lalibre.be, relevées dans la feuille de style. L'échelle complète (mobile et desktop, 29 éléments) est dans le tableur du kit développeurs.
Le titre d'un teaser tient sur deux ou trois lignes dans une liste d'articles
.ap-StoryListCard-titleManuale 600 · 18 / 22 px
Les plus lus
.ap-Box-titleLibre Franklin 700 · 21 / 22 px · magenta
Le chapô pose l'enjeu en deux phrases. Il est composé en Libre Franklin Medium, plus grand que le texte courant.
.ap-StoryChapoLibre Franklin 500 · 18 / 27 px, 21 / 32 dès 768 px
Le texte courant de l'article utilise la même taille que le chapô, en Libre Franklin Medium. Les liens passent en SemiBold.
.ap-Story-contentLibre Franklin 500 · 18 / 27 px, 21 / 32 dès 768 px
Menu · S'identifier
.ap-PrimaryMenu-buttonLibre Franklin 600 · 13 / 18 px
L'échelle des titres
Le composant .ap-Title du site définit six tailles, toutes en
Manuale 800. C'est l'échelle de référence pour tout nouveau titre : on ne crée pas de taille entre deux paliers.
3xlL'Europe face à son budget30 / 40 · 1,33
2xlL'Europe face à son budget27 / 38 · 1,41
xlL'Europe face à son budget21 / 32 · 1,52
lgL'Europe face à son budget18 / 22 · 1,22
mdL'Europe face à son budget16 / 20 · 1,25
smL'Europe face à son budget13 / 18 · 1,38
.ap-Title--{sm…3xl} · Manuale 800 · taille / interlignage en px · ratio
Une page d'article
Les rôles typographiques mis ensemble, avec les vraies valeurs desktop (dès 768 px).
Belgique · Politique
Budget : ce que contient vraiment l'accord du conclave
Après trois nuits de négociations, le gouvernement a bouclé son budget. Voici les mesures qui toucheront directement les ménages.
Rédaction La Libre · 10 octobre 2026
Le texte courant tient sur une colonne d'environ 675 px. À 21 px de corps, une ligne contient une soixantaine de caractères, ce qui laisse l'œil revenir sans effort au début de la ligne suivante.
Chaque paragraphe est séparé du suivant par 1,5 rem. Les liens passent en SemiBold.
« Une citation se compose en Manuale ExtraBold italique. »
Toutes les marges et paddings du site, relevés dans la feuille de style et classés
par fréquence d'usage. Ils tombent sur une échelle de 4 px, avec un demi-pas à 2 px pour les détails.
Colonne article≈ 675 px · une soixantaine de caractères à 21 px
Bascule typo768 px : titres et texte d'article passent à la taille desktop
Bascule rythme992 px : marges de blocs resserrées, champs plus hauts
Rythme vertical
Titre de chaînemarge basse 1,25 rem (lg à 3xl), 0,75 rem (sm, md), 1,5 à 2 rem dès 768 px
24
Paragraphe.ap-StoryText · marge basse 1,5 rem
24
Paragraphe
32
Bloc intégré (image, vidéo, encadré).ap-StoryElement · 2 rem, 1,5 rem dès 992 px
06 · Formes et élévation
Rayons
Le site est presque droit : 0,25 rem partout (boutons, images,
champs), la pilule pour les badges. Les rayons plus grands sont réservés aux éléments qui flottent.
0chaînes, aplats
.25rem · 4 pxboutons, images, champs
.5rem · 8 pxnotification
10 px basmenu principal
.925rem · ≈15 pxbloc « Lire aussi »
9999 pxbadges, pilules
Élévation
Six ombres relevées dans le CSS, rangées par altitude. Elles ont toutes deux
couches ou une seule couche très diffuse, jamais une ombre dure et unique.
Contour1 px #BDBDBD · boutons secondaires, flancs du paywall
Accent3 px --section-color-secondary · haut des chaînes déco
07 · Iconographie
Icônes
Le site utilise Font Awesome Pro (licence payante : les fichiers ne sont
pas redistribuables ici). Quatre pictogrammes sont propres à La Libre et se redessinent sans la bibliothèque.
LContenu abonnécarré 17 px · #F7B500 · lettre L
Vidéocercle magenta sur l'image
LiveDirect#DF0000 · point pulsé
Chevronfil d'Ariane, « Tout voir »
08 · Composants
Header
Un bandeau magenta de 59 px de haut minimum, coins bas arrondis à 10 px,
logo blanc au centre. À droite, « S'identifier » et le bouton jaune S'abonner.
S'abonnerLibre Franklin 600 · 16 / 18 · #F2C93D / #5D3C10 · rayon 4 px
Boutons
Manuale Medium 16 px, rayon 0,25 rem, padding 0,5 × 0,75 rem, transition 0,3 s.
Le survol enfonce le bouton (ombre inset), le focus clavier dessine un halo magenta à 50 %.
Les états sont forcés ci-dessous pour être comparés.
Le titre en Manuale porte toute la carte ; la métadonnée en dessous, en petites capitales grises,
passe au second plan. Au survol, le titre devient magenta. Quatre formats coexistent : image au-dessus, titre en surimpression, petite image à droite pour les listes serrées, et titre seul pour les box et les fils.
Titre Libre Franklin 700 · 21 / 22 en magenta. La variante encadrée ajoute un filet #E0E0E0 et arrondit les coins du haut.
Navigation et auteur
Fil d'Ariane. Sur le site, les liens sont en #C6C6C6 13 px (1,7:1 sur blanc,
sous le seuil AA). Recommandation : passer les liens en #686868 et garder la page courante en graphite.
C'est ce que montre l'exemple ci-dessus. proposition
Rédaction La LibreService Politique
Carte auteurnom Manuale 800 · 18 / 22 · rôle 13 px capitales #686868 · filet bas #E0E0E0
Liste de liensblanc · filet #E0E0E0 · rayon .25rem · padding .75rem · étiquette magenta 14 / 20 · titre Manuale 27 / 38 magenta
Paywall
Le texte s'efface au-dessus d'un filet magenta, puis vient l'offre. Le paywall
en ligne est un gabarit Piano ; ses couleurs restent celles de l'abonnement.
Le texte courant de l'article continue ici et s'efface progressivement pour laisser la place à l'offre d'abonnement, sans couper brutalement la lecture.
Pianobadge L · carte d'offre · bouton jaune en capitales · fondu au-dessus d'un filet magenta
Champs de formulaire
Champ.ap-Input · filet #E0E0E0 · rayon .25rem · 18 / 22 · padding .5rem, .75rem dès 992 px
Focushalo 0 0 0 3px rgba(172,17,93,.5)
Erreur#C73C49 · bordure + message texte composé à partir des tokens
Notification
Article ajouté à votre liste de lecture
Toast#AC115D · rayon .5rem · blanc 700 13 / 18 · fixe en bas · max-width 20rem
Thème sombre
Le site propose un mode sombre : fond #1F1E1C, conteneurs
noirs, texte #F1EDED, texte secondaire #D9D9D9.
Article offertLe teaser en mode sombre garde Manuale SemiBold
09 · Mouvement
Deux durées, une courbe
Le site anime presque tout en 0,3 s (38 occurrences dans la feuille de style),
quelques micro-états en 0,15 s, avec la même courbe d'accélération. Survoler les cases pour comparer.
0,15 scouleur d'un lien, icône
0,3 sboutons, ombres, fonds
Pulsationpoint du badge LiveLive
Courbecubic-bezier(.4, 0, .2, 1)
Base.3s · --llb-duration
Rapide.15s · --llb-duration-fast
Réduit@media (prefers-reduced-motion: reduce) : pas de pulsation, transitions coupées
10 · Accessibilité
Ce qui passe, ce qui coince
PasseGraphite sur blanc (15:1), magenta sur blanc (7:1), brun sur jaune (6,2:1), blanc sur marine (16,2:1).
PasseFocus clavier visible sur les boutons : halo magenta de 3 px.
PasseRubriques de l'app native, toutes au-dessus de 4,5:1 avec du blanc, sauf Sélection (jaune), à utiliser avec du texte graphite.
CoinceLa plupart des primaires de rubrique web avec du texte blanc (Belgique 2,5:1, Sports 2,4:1). Réserver aux aplats et titres de plus de 24 px, ou passer aux couleurs app.
CoinceLiens du fil d'Ariane en #C6C6C6 (1,7:1). Passer en #686868 (5,6:1).
CoinceMagenta sur graphite ou sur marine : sous 3:1. Le logo y passe en blanc.
Cible tactile44 × 44 px minimum pour tout élément cliquable sur mobile proposition
Longueur de ligne45 à 75 caractères pour le texte courant
11 · Développeurs
Tokens prêts à brancher
L'essentiel en variables CSS. Le fichier complet (échelles, rubriques web et app,
espacements, élévations, rayons, mouvement, thème sombre) et sa version JSON sont dans les téléchargements.
D'où viennent ces valeurs. Couleurs, typographies, tailles, rayons
et ombres sont relevés directement dans le code de production de lalibre.be (feuille
styles.css et variables injectées par Arc), le 10 octobre 2026. Les rubriques app
proviennent du design system Figma de l'app native. La zone de protection et les tailles minimales du logo sont validées par la direction artistique.