Ma journée MIX-IT 2012
Comme en 2011, j’étais présent à Mix-IT cette année et je me suis dit que ce serait sympa de faire un petit compte-rendu à chaud. Cela donnera peut-être envie à ceux qui n’ont pas suivi les mêmes sessions que moi (ou qui n’ont pas pu y assister pour d’obscures raisons de tirage au sort par exemple) de consulter les slides des présentations quand ils seront disponibles. Allez c’est parti, dans l’ordre chronologique:
Keynote en deux temps
Tout d’abord, Martin Gömer (de chez Google France), nous a parlé de l’arrivée de la bêta de Chrome pour Androïd, qui atteint un score intéressant sur l’implémentation des standards (à mi-chemin entre la dernière mouture de Safari mobile et les dernières versions des navigateurs desktop). Autre bonne nouvelle a priori, le support du remote debugging qui permet, en reliant son mobile à un pc, de débugger le code s’exécutant sur le mobile, sans plugin particulier. Ah oui, Google cherche à embaucher du monde sur Paris. On a d’ailleurs tous remarqué l’appel du pied fait, à juste titre, à Cyril Lacôte (erratum de Cyril: “mais c’était une équipe!”) pour la réalisation de l’impressionant site de Mix-IT 2012 !
Ensuite, changement de sujet avec Claire Blondel, qui ne travaille pas dans l’informatique mais comme ingénieur qualité. Elle nous parle du problème que nous avons (particulièrement en France a priori) avec le contrôle. Nous supportons mal que l’on vienne mettre son nez dans ce que nous faisons. Bon, elle n’a pas tord ! Elle émet ensuite l’idée que cela vient du fait que nous jugeons l’erreur inacceptable, et que cela engendre 4 conséquences néfastes (attention je résume):
- Intolérance: puisque nous vivons avec un code unique, nous avons tendance à penser que nous sommes “normaux” et que les autres cultures sont “anormales”.
- Mauvaise estime de soi: nous vivons dans un système qui attire l’attention sur nos faiblesses le plus souvent, et rarement sur nos forces.
- Manque d’autonomie: nous avons tellement l’habitude que quelqu’un vienne nous dire si nous avons fait une erreur, et comment la corriger, que nous ne sommes guère capable d’auto-critique.
- Manque de persévérance: étant donné qu’il est si mal vu de se tromper, nous avons tendance à penser qu’il vaut mieux ne prendre aucun risque et rester dans notre zone de confort.
Claire propose d’essayer de faire mieux, en commençant par nos propres enfants, en arrêtant de stigmatiser les erreurs et en les aidant à enrichir leur expérience en encourageant leur prise d’initiative. Nous pouvons nous-aussi agir en arrêtant de concevoir les échecs comme des erreurs, mais plutôt comme des expériences qui finiront par mener à un succès. Dans l’ensemble, et en tant que papa de deux garçons, j’ai été très intéressé et concerné par cette keynote, même si j’ai trouvé la vision de ce qui se passe dans d’autres endroits un peu idyllique.
PLAY 2.0
Julien Richard-Foy, de chez Zenexity, vient nous parler de Play. Bon moi je ne connais que le principe, j’avais donc un peu peur qu’il embraye tout de suite sur des choses compliquées, mais finalement la présentation était plutôt orientée vers ceux qui voudraient débuter la programmation Play avec la version 2. Donc il y avait un peu de Scala, mais sans que ça pique trop les yeux quand même. Les concepts de base étaient clairement expliqués, mais évidemment en si peu de temps on ne peut guère aller plus loin qu’un “Hello Mix-IT”.
Painless Web App Development with Backbone
Bodil Stokke nous a fait le plaisir de venir de Norvège pour aborder le sujet des frameworks JavaScript MVC, avec un exemple de live coding utilisant Backbone. J’étais impatient car j’avais adoré son style dans l’interview donnée sur le site de Mix-IT, mais j’avoue avoir été un peu déçu par le talk. Je m’attendais à ce que l’on parle un peu plus des concepts du MVC à la JavaScript, mais finalement on est très vite rentré dans du codage. Pourquoi pas, mais là j’avoue que l’utilisation de Twitter (qui est désormais le hello world des web apps), et de CoffeeScript (que je continue à trouver trop cryptique) m’a un peu désarçonné. Bon j’ai retenu tout de même que Backbone semble être le framework MVC qui vous contraint le moins à utiliser des règles particulières, ce qui est un avantage, mais ce qui fait aussi que l’on code plus de choses à la main que dans d’autres frameworks comme Knockout.
Lightning Talks
Ma grande déception. Mon talk sur l’API History est arrivé en 11ème position, seuls les 10 premiers étant retenus. En plus on a cru pendant longtemps que je le ferais quand même car il semblait y avoir un désistement. Le stress jusqu’au bout quoi ! Bref, je serai beau joueur et je réessaierai l’année prochaine. Bien sûr, si vous ne voulez pas attendre, vous n’avez qu’à consulter mes articles qui vous en diront bien plus sur cette API !
En ce qui concerne ces talks, comme on pouvait s’y attendre c’était de qualité très inégale, et certains sujets étaient évidemment impossibles à rendre en 5 minutes, même en les survolant. Moi j’ai retenu le premier, “La voie du programmeur”, bien présenté et qui nous mettait en face de notre responsabilité de travailler à notre propre carrière. Hé oui, personne ne le fera pour vous, pas même votre entreprise !
The Node.js Scalability Myth
Un titre un peu provoc’, surtout de la part de Felix Geisendörfer, qui est un contributeur de la première heure au projet. Bon là c’était franchement velu, surtout pour moi qui ne connait de Node que le principe. En plus Felix a l’air d’être en sur-régime pemanent, rien que le fait de l’écouter et de le regarder coder m’a fatigué ! Grosso Modo, il nous explique que non, Node n’est pas la solution à tous les problèmes de montée en charge. Il nous explique pourquoi Node monte bien en charge verticalement (c’est à dire en ajoutant des ressources à la machine sur laquelle il tourne) et pourquoi il est totalement étranger à la mise en cluster (scalabilité horizontale). Mais tout de même, il nous explique aussi qu’il est très rare d’avoir des cas de figure ou ce genre de solution est plus approprié, et nous souhaite bonne chance si c’est le cas parce qu’il va falloir se colletiner des problématiques de programmation concurrente, de synchronisation de sessions, etc…
Create Mobile Applications With PhoneGap
Un retour très intéressant de Pamela Fox sur les différentes stratégies possibles lorsque l’on souhaite créer une application mobile, depuis le tout natif jusqu’au pur web. C’était loin d’être un panégyrique de PhoneGap et j’ai beaucoup aimé le personnage et son franc-parler. Je retiens surtout le problème du debugging quand on utilise PhoneGap (elle utilise weinre pour se faciliter la tâche). Mais elle conclut en disant qu’elle referait probablement le même choix aujourd’hui, car elle est confiante dans le fait que ces outils vont continuer de s’améliorer.
Animez vos pages HTML5 avec CSS3
Bon franchement là je m’attendais à ronronner tranquillement, fatigué par ma journée, en entendant des rappels sur des choses que je connais. Et boom, le coup de poing ! Je suis encore surpris par ce que l’on peut faire quand on utilise ces techniques à bon escient, et je ne pensais vraiment pas que l’on pouvait aller si loin avec 10 lignes de CSS ! Bon évidemment, je vous vois venir: “Bah les animations çà ne sert à rien, et c’est facile pour en jeter plein la vue.”. Allez-donc jeter un coup d’oeil au site sur lequel s’appuie la présentation: Animate your HTML5. Et si vous pensez encore que cela ne peut rien apporter à un site grand public, je ne peux plus rien pour vous. En tous cas bravo Martin Gömer !
Keynote finale
Pamela Fox nous donne un talk basé sur l’initiative Teach the World to Code. Elle estime qu’il y a environ 30 millions de développeurs dans le monde, un chiffre ridicument bas par rapport à la population totale.
Hors programmer est une compétence qui nous est de plus en plus utile, même si ça n’est pas notre métier. D’ailleurs de nombreuses personnes qui n’étaient pas développeurs se sont mises à la programmation pour écrire une application dont ils avaient envie ou besoin (cf. Instagram). Chez Twitter, il existe même des séances d’initiation à la programmation pour tous les employés dont ça n’est pas le travail. Enfin, apprendre à résoudre un problème en inventant une démarche logique, un algorithme est probablement plus utile pour le commun des mortels qu’apprendre la théorie de l’intégration, non ? Elle plaide donc pour que cette compétence soit enseignée aux enfants, et aux adultes qui s’y intéressent, comme d’autres compétences élémentaires telles que le calcul et la lecture.
Un certains nombre de possibilités existent déjà:
- De prestigieuses universités mettent leurs cours en ligne: MIT, Stanford, …
- Des sites permettant de former des communautés d’apprentissage existent
- Dans la vraie vie des bénévoles créent des ateliers de programmation, enseignent la programmation dans des écoles
(j’attends de voir ça en France !). En France des choses sont faites: écoutez #programatoo et #codinggouter sur Twitter pour participer !
Pour conclure, elle nous donne un objectif pour l’année qui vient: enseigner la programmation à une personne. Sympathique, non ?
Mon impression générale
Vraiment une journée intense et agréable, du genre qui vous pousse à vous intéresser à ceci, à approfondir cela… C’est ce que l’on attend d’une conférence à mon sens.
J’ai aussi été frappé par la jeunesse des intervenants, qui démontre une fois de plus qu’en développement plus qu’ailleurs peut-être, “aux âmes biens nées, la valeur n’attend point le nombre des années”…