Kamel Ghabte · Cours · Gratuit

Transitions et micro-interactions UI

Créer des transitions fluides et micro-interactions en p5.js.

Le concept

Une micro-interaction est un retour visuel subtil à une action : hover, click, load, toggle. Elle rend l'interface vivante. Les transitions (état A → état B) doivent être cohérentes en durée (150-300ms pour les actions, 300-500ms pour les transitions de page) et en courbe (ease-out pour les entrées, ease-in pour les sorties).

Le code

// Micro-interactions: button states
let hovered = false, pressed = false, progress = 0;
function setup() { createCanvas(400, 280); }
function draw() {
  background(11, 15, 20);
  let bx=width/2-70, by=height/2-24, bw=140, bh=48;
  hovered = mouseX>bx&&mouseX<bx+bw&&mouseY>by&&mouseY<by+bh;
  // Animate scale on hover (ease)
  let targetScale = hovered ? 1.06 : 1.0;
  progress = lerp(progress, targetScale, 0.12);
  push();
  translate(width/2, height/2);
  scale(progress);
  // Button
  noStroke();
  fill(hovered ? [55,227,195] : [40,180,155]);
  rect(-70,-24,140,48,10);
  fill(11,15,20);
  textAlign(CENTER,CENTER); textSize(15);
  text(pressed ? 'Envoyé ✓' : 'Envoyer', 0, 0);
  pop();
}
function mousePressed() { if(hovered) pressed = true; }
function mouseReleased() { setTimeout(()=>pressed=false, 1200); }

Pour aller plus loin

Explorez les autres cours gratuits sur la page Ateliers.

Pratiquer, collaborer, déployer — en 15 min.

Réserver un appel →