Hello, I’m Vinch

And this is my website.

Des news de 1MD ?

02/24/11

This post is more than 3 years old. It might not reflect my current skills and convictions.

Vous en voulez ? Vous en aurez.

Cela faisait longtemps que je n’avais plus eu l’occasion de vous parler de mon job de tous les jours qui consiste à être co-gérant de l’agence créative 1MD et à faire des trucs foufous pour nos clients que nous adorons.

Depuis le 19 novembre où je vous parlais de notre action pour Coca-Cola France, il s’en est passé des choses !

Tout d’abord, vous le saviez sûrement déjà si vous me suivez studieusement sur Twitter, nous avons atteint l’objectif dont la boîte tire son nom. En effet, nous avons atteint le million de dollars de CA, et cela beaucoup plus tôt que prévu ! Cela implique donc une fête inoubliable que nous sommes activement en train de préparer en ce moment même ! Si vous voulez en être, inscrivez-vous par ici → http://1md.be/buzz

YouRecycled.com

Ensuite, au niveau des projets, nous sommes fiers d’avoir réalisé le design et le développement du nouveau site de Walibi ainsi que du site Star by Ciné Télé Revue. Ces deux sites ont été réalisés avec Drupal avec la complicité de nos amis de chez Snowcap. Même si j’ai tendance à cracher à tout ce qui ressemble de près ou de loin à un CMS, j’avoue que Drupal nous a bien aidé dans ces deux cas, même si je persiste à penser qu’en tant qu’intégrateur/développeur un peu maniaque, on peut difficilement prendre son pied en réalisant un site avec Drupal !

Nous avons également réalisé le site YouRecycled.com dont le but est de promouvoir le site YouRecycle.com. Ce dernier vous permet de gagner de l’argent en recyclant vos vieux appareils électroniques. Pour YouRecycled.com, nous avons réalisé un algorithme relativement pointu qui permet de transformer n’importe quelle photo en sa version « recyclée » (voir illustration ci-dessus). Nous avons essayer de reproduire l’effet qu’on retrouve sur le travail de Charis Tsevis mais de façon automatique !

Encore plus récemment, nous avons réalisé un « single page website » en HTML5 (www.lagentehadichosi.es) pour Alpro soya en Espagne. Comme beaucoup l’ont fait remarquer, la technique utilisée est fortement inspiré par celle de Nike Better World. Rendons à César ce qui est à César. J’écrirai sans doute un billet prochainement pour expliquer la technique utilisée, même si ce n’est rien de vraiment sorcier…

1MD projects

Quoiqu’il en soit, Avec des sites comme Walibi, Star TV, Alpro soya ou encore Volkswagen Super Likers et Fabia I Like, j’espère sincèrement que 1MD a prouvé qu’elle était bien plus qu’une agence Flash. Même si nous sommes comblés par notre partenariat avec Adobe (la preuve), nous souhaitons réellement nous positionner comme une agence créative indépendante de la technologie. Nous utilisons la technologie qui se prête le mieux à ce que nous voulons faire (Flash, HTML5, Unity 3D, etc.)

Nous sommes encore moins une agence de « buzz » et par dessus le marché, nous ne sommes pas la boîte de prod web des agences de pub renommées. Malgré quelques exceptions, nous préférerons toujours travailler en direct avec le client, pour fournir le meilleur résultat final possible.

J’espère avoir un peu éclairci les choses car j’ai eu écho de beaucoup de confusion à notre égard. C’est sans doute justifié par le fait que nous ne savons pas exactement nous-mêmes ce que nous sommes. Par contre, nous savons précisémment bien ce que nous ne sommes pas ! (et la liste de ce que nous ne sommes pas s’allonge doucement au fil du temps)

Trève de sériosité, si vous aimez notre boulot, je vous invite à nous suivre sur Facebook ou Twitter, si ce n’était pas déjà le cas. Et restez y branchés, plein de trucs dingues vont arriver bientôt !

Savez-vous compter en hexatridécimal ?

02/03/11

This post is more than 3 years old. It might not reflect my current skills and convictions.

Le système hexatridécimal est un système de numération positionnel en base 36. Il utilise 36 symboles, généralement les chiffres arabes + les 26 lettres de l’alphabet. Dans le même ordre d’idées, les informaticiens du monde entier connaissent depuis leur plus jeune âge le système binaire (base 2 avec uniquement 0 et 1 comme symboles) ainsi que le système hexadécimal (base 16, utilisé notamment pour exprimer les codes de couleurs). Le système le plus courant (et le plus naturel pour le commun des mortels) est bien entendu le système décimal (en base 10).

Le système hexatridécimal (parfois également nommé alphadécimal, hexatrigésimal ou encore sexatrigésimal) est moins connu et moins répandu. Pourtant, il a trouvé récemment une utilisation tout à fait pratique depuis l’apparition des raccourcisseurs d’URL (URL shorteners) qu’on trouve partout sur le Web aujourd’hui, grâce notamment à l’explosion de Twitter (qui a d’ailleurs son propre raccourcisseur d’URL).

36

En 2009, nous avions lancé un raccourcisseur d’URL pour smart, la célèbre marque de voitures compactes. Vous pouvez encore le trouver sur oym.be. Pour créer une URL courte, une chaîne de caractère de 6 caractères (qu’on appelle hash et qui est composé de chiffres et de lettres) était générée et ensuite concaténée au domaine pour obtenir une URL finale de ce genre oym.be/7zrgiq (20 caractères au total en comptant « http:// »). Le fait d’utiliser 6 caractères permettait de générer plus de deux milliards d’URL (36^6). Néanmoins, s’il fallait le refaire, il serait sans doute plus pertinent d’utiliser un système d’URL basé sur les nombres exprimés en base 36.

En effet, en générant nos hashes dans l’ordre en base 36, nos premières URL générées seront très courtes et se rallongeront au fur et à mesure.

En considérant que le nom de domaine de notre raccourcisseur d’URL est sho.rt, nous pourrons constater les cas de figure suivants :

  • http://sho.rt/1 sera notre première URL générée (1 en base 36 reste 1)
  • http://sho.rt/a sera notre dixième URL générée (10 en base 36 vaut a)
  • http://sho.rt/2s sera notre centième URL générée
  • http://sho.rt/rs sera notre millième URL générée
  • http://sho.rt/7ps sera notre dix millième URL générée
  • etc.

On remarque que le nombre de caractères du hash reste assez bas (à peine trois caractères après une dizaine de milliers d’URL), malgré le nombre relativement élevé d’URL déjà générées. Peu de raccourcisseurs d’URL pourront prétendre atteindre une taille de hash plus élevée que 5, ce qui correspondrait à un nombre total de plus de soixante millions d’URL générées ! Il y a donc énormément de chances que nos URL soient toujours plus courtes que celles générées de façon aléatoire sur oym.be !

Comment mettre tout ça en pratique ?

PHP nous fournit la fonction base_convert() qui est fort pratique car elle permet de convertir un nombre d’une base à une autre. Par exemple, base_convert('10', 36, 10) donne 36 comme résultat (1*36^1 + 0*36^0). Le premier paramètre est le nombre à convertir, le second est la base du nombre à convertir et le troisième est la base dans laquelle le convertir.

Du côté de la DB, il vous suffit de créer une table avec les champs (minimum) suivants :

  • id (entier non signé, auto increment, clé primaire)
  • long_url (chaîne de caractère)

Pour générer le hash d’une URL courte, il vous suffit de faire un INSERT de l’URL longue dans la table, de récupérer l’id venant d’être générée (via la fonction mysql_insert_id() par exemple) et de le transformer en base 36 via la fonction base_convert().

Pour récupérer l’URL longue correspondant à votre hash, vous devrez convertir celui-ci en base 10, effectuer un SELECT dans votre table sur cet identifiant, récupérer l’URL longue et finalement faire votre redirection.

Ce n’est finalement pas plus compliqué que ça ! Grâce à ces quelques conseils, vous devriez désormais être capable de mettre rapidement en place un raccourcisseur d’URL efficace.

Et n’oubliez pas que la taille compte, plus que jamais !

---

UPDATE 03/02/2011 – 10:26

Comme me le suggèrent @_pakal_ et @jkbockstael sur Twitter, j’aurais très bien pu utiliser un système en base 62 (chiffres arabes + les 26 lettres de l’alphabet en minuscule et en majuscule). J’avoue ne pas l’avoir fait car les URL sensibles à la casse m’ont toujours fait un peu peur. Je sais que les serveurs Windows ne les gèrent pas bien. Et il faut également s’assurer que la DB MySQL soit case sensitive. A priori, en étant méticuleux, ça ne posera pas de soucis majeurs. La démarche générale reste la même que celle expliquée plus haut et nos URL raccourcies seront encore plus courtes ! Quelques exemples par ici.