Des avatars colorés

**

Sur Sleek, nous avons décidé de représenter les avatars "par défaut" à l'aide des initiales de l'utilisateur et d'un fond coloré. Pour rajouter un peu de gaité à l'interface, j'ai songé à écrire un puissant algorithme de sélection automatique de couleur de fond basé sur la structure hexadecimale de l'email afin de générer un code de couleur hexa. Et puis en fait, j'ai trouvé un truc tout con qui prend 3 lignes.

Nous utilisons gravatar pour gérer les avatars. Nous calculions donc déjà un hash md5 de l'email afin de générer l'url de l'image. Et qu'est-ce-qu'un hash md5 ? De l'hexa ! Et ben voilà, j'ai juste gardé les 6 premiers caractères du hash du mail afin de donner le code couleur du fond : chaque email a sa propre couleur personnalisée, et, pour une raison que je n'ai pas pris le temps de chercher, les couleurs sont toujours très jolies et adaptées à une couleur de texte blanche :

function getBackgroundColor (user) {  
  var m = user.picture.match(/avatar\/(\w+|$)/);
  if (m && m[1]) {
    return '#' + m[1].substr(0,6);
  }
}

Je pensais passer plusieurs heures à réfléchir à un algo de fou, finalement, des fois, le plus simple est le plus malin.

Hadrien

Hi, I'm a french Javascript Lead Developer, Web Architect from Toulouse, France. I've worked for 12 years for many projects with YUI, AngularJS, Aurelia.io and now React and React native.

Toulouse, France https://hadrien.eu