Comment associer les auteurs d’articles à des mentions sociales avec Airtable

Aussi disponible en :English

Un Smart Message peut signer une publication avec les identifiants sociaux des auteurs de l’article, par exemple Par @camille.example.com et Noah Petit. Nonli lit les noms des auteurs dans l’article, puis cherche chaque nom dans une table que vous tenez à jour : dans Airtable, ou directement dans le template.

Cette page utilise des noms et des identifiants fictifs. Chaque extrait ci-dessous a été rendu avec le moteur de templates de Nonli le 26/10/2026, avec des données de test et sans rien publier.

1. Ce que cela fait et ne fait pas#

  • Cela associe les auteurs connus d’un article à des identifiants. Cela ne trouve pas les personnes ou les entreprises citées dans le texte de l’article, et ne devine pas un compte à partir d’un nom.
  • Le template écrit du texte. Ce texte devient une vraie mention ou non selon le réseau (voir la section « Quels réseaux transforment le texte en mention » plus bas).
  • Cela ne permet pas de mentionner des profils LinkedIn personnels. Voir Puis-je mentionner des personnes ou des entreprises dans les publications LinkedIn ?

2. Prérequis#

  1. Les noms des auteurs dans vos articles. Nonli lit les auteurs sur la page de l’article, dans ses données structurées (author Schema.org en JSON-LD, ou microdonnées itemprop="author" avec un name). Si la page n’en contient pas, Nonli se rabat sur la balise meta article:author, que certains sites remplissent avec l’URL d’un profil plutôt qu’avec un nom : la recherche utilise alors cette URL. Dans un template, ils sont disponibles dans authors, une liste de noms. Vérifiez d’abord les valeurs réelles sur un vrai article : voir authors dans Quelles variables Twig sont disponibles dans Nonli ?. N’utilisez pas post.author : c’est un texte unique qui peut désigner la personne qui a créé la publication dans Nonli, pas l’auteur de l’article.
  2. Les identifiants de vos auteurs sur chaque réseau où vous publiez.
  3. Pour la méthode Airtable, un jeton Airtable enregistré dans Nonli, et l’identifiant de votre base. Suivez Comment créer une clé d’API (secret) Airtable pour Nonli. N’envoyez jamais votre jeton au support.

3. Méthode 1 : une table Airtable#

3.1. Créer la table#

Créez une table nommée Authors avec une ligne par auteur :

NameBluesky
Camille Martincamille.example.com
Léa Duboislea.example.com
Sam Lefèvre
  • Name est la clé de recherche. Écrivez-la exactement comme dans authors, avec les mêmes accents, espaces et majuscules. Nonli ne corrige ni ne normalise les noms : une variante comme Lea Dubois pour Léa Dubois n’est pas une correspondance fiable. Si un auteur signe de plusieurs façons, ajoutez une ligne par orthographe.
  • Gardez chaque nom unique. Si deux lignes portent le même nom, Nonli utilise la première renvoyée par Airtable, et l’autre est ignorée.
  • Ajoutez une colonne par réseau (par exemple Bluesky, Mastodon). Une cellule vide signifie « pas d’identifiant pour ce réseau ».
  • Enregistrez les identifiants sans @ : le template l’ajoute.
  • Utilisez un champ Single line text pour chaque colonne de réseau. Un champ de type lien vers un autre enregistrement, lookup ou sélection multiple renvoie une liste au lieu d’un texte, et le template échoue au lieu de se rabattre sur le nom.

3.2. Écrire le template#

twig
1{%- set signature = [] -%}
2{%- for authorName in authors -%}
3 {%- set handle = airtable('appYourBaseId', 'Authors', 'Name', authorName, 'Bluesky') -%}
4 {%- set signature = signature|merge([handle ? '@' ~ handle : authorName]) -%}
5{%- endfor -%}
6{{ title }}
7{%- if signature is not empty %}
8
9Par {{ signature|join(', ', ' et ') }}
10{%- endif %}

Remplacez appYourBaseId par l’identifiant de votre base, et Authors, Name et Bluesky par les noms de votre table et de vos colonnes. airtable(base, table, champRecherche, valeurRecherche, champRenvoyé) renvoie la valeur de champRenvoyé dans la première ligne où champRecherche est égal à valeurRecherche, ou rien quand aucune ligne ne correspond ou que la cellule est vide.

Formulaire de template Smart Message de Nonli, interface en anglais, avec le libellé Author signature (Bluesky) et le template dans le champ Template

Le template collé dans un nouveau template Smart Message, avant l’enregistrement, ici dans l’interface en anglais (Label : libellé). Cette capture montre la version anglaise du template, avec By et and à la place de Par et et. appYourBaseId est un exemple à remplacer.

3.3. Résultat attendu#

Avec le titre Budget 2027 : ce qui change et la table ci-dessus :

authorsRésultat
(aucun)Budget 2027 : ce qui change
Camille MartinBudget 2027 : ce qui change
Par @camille.example.com
Noah Petit (absent de la table)Budget 2027 : ce qui change
Par Noah Petit
Léa Dubois, Noah Petit, Camille MartinBudget 2027 : ce qui change
Par @lea.example.com, Noah Petit et @camille.example.com
Sam Lefèvre (cellule vide)Budget 2027 : ce qui change
Par Sam Lefèvre

Ce template suit ces règles :

  • Pas d’auteur, pas de signature. La ligne Par n’est ajoutée que s’il y a au moins un auteur, pour qu’une publication ne se termine jamais par un Par isolé.
  • Repli sur le nom. Un auteur sans identifiant garde son nom complet : chaque auteur reste crédité.
  • L’ordre est conservé. Les auteurs apparaissent dans l’ordre de l’article, séparés par des virgules, avec et avant le dernier.

3.4. Variante : n’afficher que les auteurs trouvés#

Si vous préférez ne créditer que les auteurs qui ont un identifiant, ignorez les autres :

twig
1{%- set handles = [] -%}
2{%- for authorName in authors -%}
3 {%- set handle = airtable('appYourBaseId', 'Authors', 'Name', authorName, 'Bluesky') -%}
4 {%- if handle -%}
5 {%- set handles = handles|merge(['@' ~ handle]) -%}
6 {%- endif -%}
7{%- endfor -%}
8{{ title }}
9{%- if handles is not empty %}
10
11Par {{ handles|join(', ', ' et ') }}
12{%- endif %}

Avec Léa Dubois, Noah Petit, Camille Martin, le résultat est Par @lea.example.com et @camille.example.com. Si aucun auteur n’est trouvé, il n’y a pas de ligne Par. Choisissez cette variante en connaissance de cause : elle omet les auteurs sans identifiant.

3.5. Variante : signer seulement si tous les auteurs sont trouvés#

Certaines équipes préfèrent tout ou rien : la signature n’est ajoutée que si chaque auteur a un identifiant, et elle est omise entièrement sinon. Gardez la boucle de la variante précédente et changez seulement la condition :

twig
1{%- if handles is not empty and handles|length == authors|length %}

Avec Léa Dubois, Camille Martin, le résultat est Par @lea.example.com et @camille.example.com. Avec Léa Dubois, Noah Petit, Camille Martin, il n’y a aucune ligne Par, car Noah Petit n’a pas d’identifiant.

RègleAuteur non trouvéAdaptée quand
Repli sur le nom (template principal)Crédité par son nomChaque auteur doit toujours être crédité
N’afficher que les auteurs trouvésOmisSeuls les identifiants comptent, un crédit partiel est acceptable
Signer seulement si tous les auteurs sont trouvésToute la signature est omiseUne signature partielle serait trompeuse

Aucune de ces règles n’est un comportement par défaut de Nonli : c’est le template qui décide. Choisissez la règle qui correspond à vos règles éditoriales.

4. Méthode 2 : une table dans le template#

Pour quelques auteurs, vous pouvez garder la table dans le Smart Message lui-même, sans Airtable. L’entrée (authors) et la règle de repli sont les mêmes que dans la méthode 1 :

twig
1{%- set blueskyHandles = {
2 'Camille Martin': 'camille.example.com',
3 'Léa Dubois': 'lea.example.com',
4 'Alex Moreau': 'alex.example.com',
5} -%}
6{%- set signature = [] -%}
7{%- for authorName in authors -%}
8 {%- set handle = blueskyHandles[authorName] ?? null -%}
9 {%- set signature = signature|merge([handle ? '@' ~ handle : authorName]) -%}
10{%- endfor -%}
11{{ title }}
12{%- if signature is not empty %}
13
14Par {{ signature|join(', ', ' et ') }}
15{%- endif %}

Il donne les mêmes résultats que la méthode 1 pour les mêmes noms : par exemple Camille Martin, Noah Petit donne Par @camille.example.com et Noah Petit. Les noms doivent correspondre exactement : Lea Dubois (sans accent) ou camille martin (en minuscules) ne trouvent rien et sont affichés tels quels.

Cette méthode est un exemple à adapter, pas une configuration reprise d’un client.

4.1. Quelle méthode choisir#

AirtableTable dans le template
Où modifier l’associationDans une seule table AirtableDans chaque template
Partagée entre plusieurs templatesOui : une modification s’applique partoutNon : chaque copie du template doit être mise à jour
Nécessite un jeton AirtableOuiNon
Adaptée àUne rédaction avec beaucoup d’auteursQuelques auteurs stables

Aucune des deux méthodes ne change les mentions qu’un réseau accepte.

5. Tester avant de publier#

Dans l’éditeur de templates Smart Message, testez le template avec des articles représentatifs avant d’enregistrer : un article sans auteur, un auteur avec identifiant, un sans, et plusieurs auteurs. Testez ensuite une publication hors production de bout en bout, publiée par un robot : les identifiants Bluesky ne sont transformés en mentions que dans les publications des robots (voir plus bas). Voir Comment créer un Smart Message.

Vérifiez ce que le résultat contient réellement :

  • un nom (Noah Petit) : du texte simple ;
  • un identifiant (@camille.example.com) : du texte que certains réseaux peuvent transformer en mention ;
  • une URL de profil : un lien, pas une mention ;
  • une mention cliquable : visible uniquement sur la publication publiée, et seulement si le réseau l’a créée.

6. Quels réseaux transforment le texte en mention#

  • Bluesky : quand un robot publie, Nonli recherche chaque identifiant complet écrit dans le message, comme @camille.example.com. Quand le compte est trouvé, Nonli publie une vraie mention Bluesky. Sinon, le texte reste simple. Dans une publication créée manuellement, les identifiants tapés ne sont pas convertis : sélectionnez plutôt le compte dans les suggestions de mention de l’éditeur. Utilisez l’identifiant complet avec son domaine (par exemple nom.bsky.social), et ne placez pas de ponctuation comme un point juste après : elle serait lue comme une partie de l’identifiant.
  • LinkedIn : un identifiant ou un nom écrit par un template reste du texte simple. Nonli crée des mentions LinkedIn uniquement pour les pages entreprise sélectionnées dans l’éditeur, et ne prend pas encore en charge les mentions de profils personnels. Pour mentionner une personne, modifiez la publication sur LinkedIn après sa publication, comme expliqué dans Puis-je mentionner des personnes ou des entreprises dans les publications LinkedIn ?
  • Autres réseaux : cette page ne les couvre pas. Vérifiez une publication de test avant de vous fier au résultat.

7. Dépannage#

ProblèmeCause et solution
Aucune ligne Parauthors est vide pour cet article. Vérifiez les données structurées de l’auteur sur la page de l’article.
Un auteur apparaît sous forme de nom au lieu d’un identifiantLe nom est écrit différemment dans Airtable (accent, majuscule, deuxième prénom), la cellule est vide pour ce réseau, ou le nom de colonne du template est faux.
Le mauvais identifiant apparaîtDeux lignes portent le même nom. Gardez une seule ligne par nom.
Aucun auteur n’obtient d’identifiantVérifiez le jeton Airtable dans Nonli, l’identifiant de la base, et les noms de la table et des colonnes.
L’identifiant est publié mais pas cliquableLe réseau ne l’a pas reconnu comme une mention. Sur Bluesky, vérifiez l’identifiant complet et que la publication a été faite par un robot. Sur LinkedIn, un texte de template n’est jamais une mention.

Cet article vous a-t-il été utile ?

Réservez une démo personnalisée avec notre équipe.