La magie du web

Hier, mes collègues et moi avons eu un débat virulent sur les magiciens et nos tours de magie préférés (oui, ce sont des choses qui arrivent dans un bureau rempli de développeurs). Ce qui a démarré tout ça, c’est ce tour où le magicien Cyril Takayama fait sortir des burgers d’une affiche :

Awesome Magic Trick - Burgers pulled from Wall.

Je déteste ce genre de tours. Ce n’est pas de la magie. C’est prendre vos spectateurs pour des idiots et des imbéciles. Ce tour ne demande aucune intelligence ni aucune dextérité. Tout ce qu’il demande, c’est une fausse affiche avec un faux fond et avec un vrai ami chinois derrière qui vous glisse des burgers (démonstration).

Ainsi, je me rends compte de ce qui me plaît vraiment dans la magie : le storytelling, et l’absence de préparatifs.

Ce que j’appelle le storytelling, c’est la narration, la mise en scène, la façon dont le tour est amené. J’aime beaucoup Éric Antoine pour ça. Je déteste cet autre tour de Cyril Takayma où il passe 2 minutes à faire joujou avec sa cigarette. Maintenant pour être honnête, le tour du burger était plutôt pas mal dans se sens là.

Par contre, il était mauvais pour le deuxième point : l’absence de préparatifs. Son tour ne fonctionne qu’avec son matériel, son assistant, et sous un certain angle de vue. C’est la même chose pour les magiciens qui découpent leur assistante dans une boîte à double fond. Ce qui me plaît dans la magie, c’est la spontanéité, et la capacité de réaliser un tour à partir d’un jeu de cartes classique ou d’objets du quotidien non truqués.

Vous voulez des exemples ? Je vous avais déjà parlé de Penn Jillette, et son tour « cups and balls » reste pour moi absolument fabuleux. Et puis ce tour de James Galea (à 2min30) est vraiment parfaitement exécuté :

James Galea (Card Trick) Comedy Festival Gala 2009

Si je vous parle de tout ça, c’est parce que je pense que les bons intégrateurs sont des magiciens. En fait, Harry Roberts de CSS Wizardry tenait le même propos l’année dernière :

Un bon moyen d’être efficace est à travers l’illusion. Un bon exemple de ça sont les fausses colonnes en CSS; surmontant un problème complexe avec un code minimal et une illusion intelligente. Les fausses colonnes sont, encore aujourd’hui, un des meilleurs petits bouts d’illusion du développement web qui résolvent rapidement un problème qui autrement demanderait beaucoup de temps et de code.

Ça m’arrive souvent de tomber sur quelque chose de surprenant sur le web, de regarder comment ça a été fait, et d’être déçu parce que les développeurs ont simplement triché en utilisant du code supplémentaire, parfois très sale.

Pour reprendre l’exemple des colonnes de hauteurs égales en CSS, certaines solutions consistent à utiliser du JavaScript pour générer dynamiquement la bonne hauteur. Mais cette solution ne demande aucune intelligence ni aucune dextérité. Tout ce que ça demande, c’est de rajouter une plâtrée de code qui sera téléchargé en plus et exécuté après le chargement de la page.

Je suis bien plus impressionné par un code CSS simple, qui peut s’appliquer partout, avec le strict minimum de code HTML, que par des démonstrations poussives de code qui demandent une structure HTML bien spécifique.

Si votre code ne provoque pas chez vos collègues un « attends, la vache, comment t’as fait ça là », c’est que vous n’êtes probablement pas un très bon magicien.

  1. Aurélien, le

    Ce qui est triste est de faire de la magie et que ton client trouve cela « normal » parce qu’il n’a pas les compétences pour comprendre en quoi ce qui est livré est vraiment bien ou astucieux.

  2. Dl integrateur web, le

    Il y a beaucoup de métiers ou il ne faut rien attendre du client et le métier d’intégrateur en fait partie.
    La recherche de la satisfaction personnel est une notion importante quand tu es intégrateur sinon tu lâches vite l’affaire pour faire sans cesse les mêmes intégrations sans aucun plaisir.
    En même rien que dans l’informatique on peut citer certains métiers pas du tout reconnu :
    -> L’intégrateur : une recherche constante de la perfection et optimisation alors que si tu faisais un gros paté « ça marcherait »
    -> Le développeur : des milliers de lignes de codes pour que le client clic sur un lien et dise « ouais c’est pas mal ».

    Pour moi la palme revient quand même aux typographes :D je respecte et admire leur boulot, mais alors quel boulot ingrat et sans reconnaissance.

  3. rivsc, le

    « Ça m’arrive souvent de tomber sur quelque chose de surprenant sur le web, de regarder comment ça a été fait, et d’être déçu parce que les développeurs ont simplement triché en utilisant du code supplémentaire, parfois très sale. »

    Pour moi c’est ça la magie ! Un tour que tu trouves fabuleux jusqu’à ce que tu connaisses le truc (simple / propre / ou pas (voir « Le Prestige » avec les oiseaux écrasés) ). Dans ton exemple « cups and balls » je vois quand ils mettent les balls sous les cups, par contre pour le tour des burgers je n’aurai pas deviné si tu ne l’avais pas dit. J’imagine que ça dépend également de notre sensibilité.

  4. Identitools, le

    Tiens ça me fait penser que si jamais un jour on me demande comment j’ai fait quelque chose : http://www.urbandictionary.com/define.php?term=tgcm #jesors

  5. Nico, le

    Un de mes petits plaisirs, c’est quand la personne qui s’occupe des contenus ou qui que ce soit me sort : « hein, mais avec aussi peu de code, ça donne ce truc sympa ? ça va être cool pour la mise à jour ! ».

    Ça c’est de la magie. :)

  6. Link Taylor, le

    Je suis d’accord avec toi, j’aime les tours de magie fait avec le minimum de code très propre, c’est très impressionnant !