Aller au contenu
Démarrer un projet
Menu

Citations

Le mur de citations, en quinconce autour du titre, et sa carte.

Le mur

Trois colonnes de la trame. Les citations se posent en quinconce autour du titre, qui occupe deux cases au milieu de la grille ; des cases vides laissent respirer. C’est la section « Ce qu’ils en disent » de l’accueil, telle quelle.

Emploi
Les citations des clients, en bloc, avec le titre de la section au milieu et un bouton vers les réalisations.
Moment
Une fois par page, sur l’accueil et sur la page carrières. La page d’un cas cite autrement : une seule carte, celle de son client, dans le bloc CitationCas (voir Page de cas).
Jamais
Avec des citations écrites par nous, ni dans un carrousel : le mur ne défile pas.
  • Emplacement du verbatim client, sur ce que le produit a changé. verbatim réel à récupérer
    Prénom Nom Fonction · Entreprise
  • Emplacement du verbatim client, sur le déroulement du projet et les délais tenus. verbatim réel à récupérer
    Prénom Nom Fonction · Entreprise
  • Témoignages

    Ce qu’en disent ceux qui nous ont choisis.

    Voir les réalisations
  • « Grinn développe notre application depuis sa première version, en 2022, et l’a fait évoluer au rythme de notre croissance. C’est une équipe qui connaît notre produit aussi bien que nous, et qui répond vite quand il le faut. »
    Timothée Lachenal Directeur général · PepPsy
  • Emplacement du verbatim client, sur l’assistant et le temps qu’il fait gagner. verbatim réel à récupérer
    Prénom Nom Fonction · Entreprise
SpécimenLe mur de l’accueil, avec les quatre fiches de src/content/verbatims. Aucune n’a encore de citation : chaque carte le dit.
Appelsrc/components/trame/Mur.astro
<Mur verbatims={verbatims} etiquette={V3.verbatims.surtitre} titre={V3.verbatims.titre} titreId="mur-spec" bouton={{href:'/realisations/',libelle:V3.realisations.bouton}} />
Appelsrc/pages/index.astro
const verbatims = (await getCollection('verbatims')).sort((a, b) => a.data.ordre - b.data.ordre)

Qui va où

Le composant range huit cases dans l’ordre du tableau MUR : la tête prend deux colonnes, les vides n’existent qu’à partir de 1000 px. En dessous, le titre passe en tête (order -1) et les cases vides disparaissent ; la grille a deux colonnes dès 700 px, trois dès 1000 px.

CaseDès 1000 px (trois colonnes)Sous 1000 px
1citation 1, rangée 1citation 1
2citation 2, rangée 1citation 2
3vide, rangée 1masquée
4la tête, sur deux colonnes, rangée 2en tête de grille, pleine largeur
5citation 3, rangée 2citation 3
6vide, rangée 3masquée
7citation 4, rangée 3citation 4
8vide, rangée 3masquée
ClasseZoneValeur
.tr-diresla grilleune colonne ; deux dès 700 px ; trois dès 1000 px ; data-stagger 80, data-lignes
.tr-direune cellule de citationpadding clamp(16px, 2vw, 24px)
.tr-dire--tetela cellule du titrepadding clamp(24px, 3vw, 44px) ; étiquette, h2 sur 12ch au plus, bouton au trait petit à 26 px dessous ; dès 1000 px : grid-column span 2, order 0
.tr-dire--videune case videdisplay none ; display block dès 1000 px ; min-height 120 px ; aria-hidden ; data-cellules="calme" : des cases de 48 px s’y allument, deux à la fois (trame.ts, partie 5) ; la deuxième case vide est pâle (les verts en relief)

La carte

Dans sa cellule au trait pointillé, la carte a un bord plein. Le logo en haut, la citation en romain, puis le portrait rond et le nom en capitales.

ClasseZoneValeur
.tr-dire__cartela cartefond surface, bord plein 1 px var(--line), padding 24 px, 18 px entre les blocs, hauteur 100 % de la cellule
.tr-dire:hover .tr-dire__carteau survolfond pâle (var(--pale)) et bord ink-3, en 200 ms (var(--fast))
.tr-dire__logole logo, en réserve32 px de haut, padding 0 12 px, bord 1 px tireté ink-3, fond var(--photo) : Inter 600 10 px, capitales, .14em, ink-3 ; aria-hidden ; 10 px dessous, pour une tête de 42 px
.tr-dire__logo--imgle logo du clientquand la fiche nomme un client et que son fichier existe : 28 px × --echelle, 132 px au plus, opacité .85, alt = le client, lazy ; la marge dessous complète la tête à 42 px
.tr-dire__logo--nomle client sans fichierson nom en toutes lettres : Outfit 700 15 px, encre, sans bord ni fond
blockquotela citationInter 400 17 px / 1.5, encre, text-wrap pretty
.tr-dire--attente blockquotesans citationink-2 : le texte de réserve se lit en retrait
.tr-dire__carte .pendla pastille « verbatim réel à récupérer »8 px à gauche, alignée au milieu de la ligne
.tr-dire__carte figcaptionle pied de cartepoussé en bas (margin-top auto), 6 px au-dessus, 12 px entre portrait et nom
.tr-dire__photole portrait, en réserve32 × 32 px, rond, bord 1 px tireté ink-3, fond var(--photo)
.tr-dire__quinom et fonctionInter 600 10,5 px / 1.3, capitales, .1em, chiffres de tableau ; le nom en encre, la fonction en ink-3
--photole fond des réservesvar(--color-grinn-pale), #F5FAF5, sur la trame (.tr) depuis le 12 octobre (les verts en relief ; #F2F0EC avant) ; #ECEAE6, gris chaud, à la racine

Aucune citation inventée

Les quatre fiches de src/content/verbatims n’ont qu’un ordre et un sujet. Citation, auteur et fonction valent null tant que le client n’a pas fourni les siens.

Quand la citation manque, la carte écrit « Emplacement du verbatim client, sur » suivi du sujet, puis la pastille EnAttente « verbatim réel à récupérer » ; le nom devient « Prénom Nom » et la fonction « Fonction · Entreprise ». Quand une citation existe, elle s’affiche entre guillemets “ ”, avec l’auteur et la fonction de la fiche. Rien d’autre ne change : la carte garde la même place et le même bord.

FicheSujetCitationAuteur
verbatim-1ce que le produit a changénull : la carte montre sa réservenull : « Prénom Nom »
verbatim-2le déroulement du projet et les délais tenusnull : la carte montre sa réservenull : « Prénom Nom »
verbatim-3le suivi après la mise en lignefournieTimothée Lachenal
verbatim-4l’assistant et le temps qu’il fait gagnernull : la carte montre sa réservenull : « Prénom Nom »

Le logo du client

Le champ client de la fiche (src/content.config.ts, null aujourd’hui) nomme le client. Mur.astro affiche alors son logo à l’encre s’il est dans public/assets/logos/clients/, sinon son nom en toutes lettres ; la réserve « Logo client » reste tant que le champ est vide. Un logo ne se publie qu’avec l’accord du client.

Sur la page d’un cas

Le même champ client relie un verbatim à la page de son cas : la page cherche la fiche dont le client, mis en slug, est l’identifiant du cas ou le nom du client, et qui a une citation. Elle la pose dans CitationCas, une carte bordée à côté de l’étiquette « Ce qu’en dit le client » ; sans elle, la carte garde sa réserve au nom du client, et la note dit que le témoignage est à venir. Le détail : Page de cas, rubrique 05.

D’où vient la forme

Le mur reprend la disposition des citations de baseten.co, choisie par JB à la place du carrousel de l’accueil précédent : la grille, le titre au milieu et les cases vides viennent de là, le trait pointillé, les verts et la réserve de logo sont à nous.

Le carrousel (Carrousel.astro et Verbatim.astro, encore visibles sur l’accueil précédent) demandait un script pour défiler ; le mur se lit en entier, sans rien toucher, et chaque carte garde sa place dans la grille.

RègleUne carte sans citation le dit en clair, dans la même case : on n’écrit jamais une phrase à la place d’un client.