Outils

Un week-end de mars, j’ai créé un petit générateur de vignettes YouTube aléatoires pour amuser la galerie.

Inspiration

Depuis plusieurs années, sur les réseaux sociaux vidéo, on voit fleurir ce nouveau genre : les essais vidéo ↗ (video essay). Des vidéos au montage travaillé, durant entre 10 et 90 minutes, avançant des théories de manière didactique et imagée.

On retrouve souvent la volonté de vulgariser des élements de la culture légitime ↗, tout en attirant les masses avec des références de la pop-culture.

Ce pattern a été répété tant de fois, qu’il est vite devenu identifiable, et parfois détourné voir moqué par les internautes.

Liste de vidéos YouTube : Comprendre Bref 2 grâce à Albert Camus ; Retour vers le futur grâce à Darwin ; Minecraft grâce à Proust ; Squid Game grâce à Dostoïevski.
Un exemple de chaîne YouTube dans ce style.

Démarche

L’intérêt de ce genre de pattern, c’est que les différents éléments peuvent être combinés de manière aléatoire tout en produisant un résultat cohérent. Cette dimension aléatoire stimule l’imagination et suscite parfois la surprise.

J’ai donc imaginé un générateur aléatoire de vignettes YouTube dans ce style.

Capture d’écran du site, avec le logotype, une vignette "Comprendre Corneil et Bernie grâce à Lénine".
Un exemple de génération.

Technique

Pour créer ce générateur, j’ai utilisé React via Next.js et TailwindCSS. Les images sont créées par superposition de deux images, d’un texte, et de filtres et masques CSS.

Pour cela, j’ai créé deux grandes listes foreground (pour les images de références populaires) et background (pour les images de références de la culture légitime), avec le nom de l’entité, et le nom de fichier de l’image.

{
  "Michel Foucault": "foucault",
  "Simone de Beauvoir": "beauvoir",
  "Jean-Paul Sartre": "sartre",
  "Hannah Arendt": "arendt",
  ...
}

Puis je génère des combinaisons ainsi :

const generateCombination = () => {
  const newCombination = getRandomCombination();
  setCombination(newCombination);
  setImages({
    background: "/background/" + background[newCombination.background],
    foreground: "/foreground/" + foreground[newCombination.foreground] + ".png"
  });
};
import { background } from "./background";
import { foreground } from "./foreground";

function getRandomElement<T>(array: T[]): T {
  return array[Math.floor(Math.random() * array.length)];
}

export function getRandomCombination() {
  return {
    background: getRandomElement(Object.keys(background)),
    foreground: getRandomElement(Object.keys(foreground))
  };
}

Résultat

Une vignette "Comprendre les Minions grâce à Jean-Paul Sartre".
Autre exemple de génération
Une vignette "Comprendre Simone de Beauvoir grâce à Britney Spears".
Avec le bouton 'Inverser', on obtient ce genre de résultat où c’est l’élément de la culture populaire qui permet de comprendre l’élément de culture légitime.