Module 3 · Compiler, tester, corrigerEnviron 1 min
Le compilateur : de la fiche au prompt
Le compilateur est une fonction de quelques lignes qui lit une fiche et écrit un prompt en lignes lisibles, dans l’ordre de la formule de Google. Mehdi l’écrit en JavaScript, le langage du nœud Code de n8n, que vous retrouverez au module 5.
const LIBELLES = {
genre: "Type d'image",
usage: "Usage",
sujet: "Sujet",
action: "Action",
lieu: "Lieu",
composition: "Composition",
optique: "Optique",
lumiere: "Lumière",
style: "Style",
palette: "Palette",
matieres: "Matières",
};
function compiler(fiche) {
const lignes = (fiche.references ?? []).map((r, i) => `Image ${i + 1} : ${r.role}.`);
for (const [cle, libelle] of Object.entries(LIBELLES)) {
const valeur = fiche[cle];
if (!valeur || valeur.length === 0) continue;
lignes.push(`${libelle} : ${Array.isArray(valeur) ? valeur.join(", ") : valeur}.`);
}
if (fiche.texte?.length) {
const textes = fiche.texte.map((t) => `« ${t.contenu} », ${t.emplacement}, ${t.typo}`);
lignes.push(`Texte à écrire exactement : ${textes.join(" ; ")}. Aucun autre texte.`);
}
if (fiche.consignes?.length) lignes.push(fiche.consignes.join(" "));
if (fiche.format) lignes.push(`Format ${fiche.format.ratio}.`);
return lignes.join("\n");
}Appliquée à la fiche du visuel principal, la fonction produit ce prompt :
Image 1 : la bouteille de Maison Zitoune, à reproduire exactement, forme, étiquette et bouchon compris.
Type d'image : photographie de nature morte.
Usage : la bannière de la page d'accueil du site, avec un titre ajouté ensuite à droite.
Sujet : la bouteille d'huile d'olive Maison Zitoune, identique à l'image 1.
Action : posée sur une planche en bois d'olivier, à côté d'un bol en terre cuite rempli d'huile vert doré, de quelques olives vertes et d'une branche d'olivier.
Lieu : au loin, floue, une oliveraie près de Meknès au soleil de fin d'après-midi.
Composition : bouteille sur le tiers gauche, espace calme et lumineux à droite pour le titre.
Optique : objectif 50 mm, faible profondeur de champ.
Lumière : naturelle et douce, venant de la gauche, comme une fin d'après-midi d'automne.
Style : photographie réaliste de terroir, authentique, généreuse et sobre.
Palette : vert olive profond (#4B5320), or chaud (#C9A227), crème (#F3EBDD), brun du bois d'olivier.
Matières : bois d'olivier, terre cuite, verre.
Aucun texte en dehors de l'étiquette.
Format 16:9.Les clés techniques disparaissent, les libellés retrouvent leurs accents, et chaque valeur devient une ligne. Les champs absents ne laissent pas de trou. Les consignes passent après le texte, et le format se rappelle en fin de prompt, comme dans les exemples de Google, en plus du réglage envoyé à l’API.
Le compilateur ne décide rien, il met en forme. Si une image déçoit, la cause se trouve presque toujours dans une valeur de la fiche, rarement dans la mise en forme : c’est ce qui rend la recherche d’un défaut possible.