Premier meetup tech chez OpenClassrooms

Depuis que nous avons emménagé dans nos nouveaux bureaux il y a quelques mois, nous sommes entourés de startups. Notre nouveau quartier compte en effet KissKissBankBank, Capitaine Train, Leetchi et bien d’autres…

Voilà quelques temps que nous discutions avec plusieurs startups, en particulier Meilleurs Agents et Wisembly, sur l’importance de la veille technologique. De fil en aiguille, l’idée nous est venue de créer un petit meetup, c’est-à-dire une rencontre, entre les développeurs de chacune de nos boîtes. Notre objectif ? Que chacun puisse parler de ses récentes expérimentations, diffuser les dernières nouveautés suite à sa veille, et surtout favoriser les échanges et les questions.

Ni une, ni deux, la semaine dernière, nous avons lancé le premier meetup de ce genre chez OpenClassrooms avec Meilleurs Agents et Wisembly. 3 startups, 3 présentations, qui portaient sur les thèmes suivants :

  • Comment choisir son framework JavaScript ? par Wisembly
  • Qu’est-ce que Docker et comment l’utiliser ? par Meilleurs Agents
  • La méthode TDD est-elle vraiment morte après la polémique #isTDDdead ? par OpenClassrooms

… le tout autour de pizzas et bières, le régime incontournable du geek (je plaisante hein, on mange bio aussi :o).

Le premier meetup tech chez OpenClassrooms

Le premier meetup tech chez OpenClassrooms

Le format de ces rencontres est volontairement informel, puisque c’est dans les échanges qui suivent les présentations que l’on tire le plus d’intérêt. Les présentations elles-mêmes ne constituaient donc pas des véritables cours, mais nous avons appris un certain nombre de choses que je vous partage ici :

  • Sur les frameworks JavaScript pour développer des SPA (Single Page Application, donc en full JavaScript) :
    • Ils sont aujourd’hui légion : Ember.js, Backbone.js, Angular.js…
    • Il y a encore un an ou deux, on en était très loin. La communauté JavaScript avance très très vite.
    • Wisembly a commencé sans l’un de ces frameworks, car ils n’existaient pas. Aurait-il fallu attendre qu’ils sortent ou ont-ils bien fait de développer leurs propres outils ? Ma petite expérience de startup me dit qu’ils ont bien fait de ne pas attendre : on ne sait jamais où le futur va nous mener, et dans ce milieu tout va vite !
  • Sur Docker, et la portabilité des applications :
    • Docker permet de rendre des applications portables en incluant leurs dépendances (par ex Docker 3.4 et MongoDB 2.2).
    • A l’opposé des machines virtuelles très lourdes et gourmandes en ressources, Docker reste très rapide.
    • Docker ne fonctionne que sous environnement Linux, mais cela vaut semble-t-il le coup de virtualiser Linux pour développer avec.
    • On peut faire du déploiement continu à l’aide de Docker et l’utiliser sur nos serveurs. Depuis peu, Docker est passé en release stable 1.0.
    • Meilleurs Agents utilise depuis peu Docker sur l’un de ses serveurs (pas la prod principale). Leurs retours à ce sujet sont enthousiastes. Ils recommandent de l’essayer sur de nouveaux services plutôt que de migrer des services existant.
  • Sur le développement guidé par les tests (TDD) et la polémique récente #isTDDdead :
    • Tout a commencé lorsque David Heinemeier Hansson (dhh), créateur de Basecamp et du framework Ruby on Rails, lance un pavé dans la mare : le TDD ne marche pas, est une méthode trop lourde, il faut arrêter de le recommander et tester différemment.
    • Réactions étonnées de Kent Beck et Martin Fowler, spécialistes du sujet et défenseurs de TDD
    • Polémique par blogs interposés et sur Twitter, avec plusieurs arguments avancés de part et d’autres : TDD est trop dogmatique d’un côté, TDD est mal utilisé de l’autre, TDD ne convient pas à tout le monde, il faut éviter de créer trop de mocks d’objets pour ces tests…
    • Des discussions publiques par Hangouts ont eu lieu entre ces intervenants célèbres du monde du développement, avec des analyses et sans effusion de sang. ;o)
    • OpenClassrooms a expérimenté plusieurs approches de tests ces dernières années, chacune ayant eu son lot de défauts : trop de tests, pas assez de tests, tests trop longs à charger… Depuis quelques mois, c’est une méthode de test basée sur les cas d’utilisation (Use Case Driven Development) qui remporte notre adhésion. Plutôt que de tester chaque fonction une par une, ce qui fait une suite de tests trop précise et trop lourde à maintenir, nous testons les points d’entrée métier : les use cases.
    • Tout l’enjeu est de savoir placer le curseur entre « Trop tester les détails » et « Ne pas assez tester les détails ».
    • Pour avoir envie d’exécuter les tests fréquemment, en plus d’un serveur d’intégration continue, il faut faire en sorte que toute la suite de tests se joue très rapidement (quelques centaines de millisecondes dans notre cas). Pour cela, il faut éviter de charger les frameworks web autant que possible.

Un grand merci à tous les participants ! On se donnera rendez-vous dans quelques mois chez Wisembly pour un nouveau meetup !

Commentaires ( 4 )

  1. Excellente initiative et merci de partager vos discussions avec l’extérieur :)

  2. Bonjour,
    Concernant les tdd et plus particulièrement votre framework de test unitaire.
    Qu’utilisez vous ?
    Atoum
    Php unit
    Autre ?

    Car selon moi une grosse partie des problème avec les tests, c’est la difficulté que l’on a à les imaginer au travers des bouchonnages. Atoum a résolu en grande partie la complexité liée à la mise en pratique. Reste à imaginer les sénarios…

    • Bonjour,

      Il s’agit de PHPUnit en l’occurrence.

  3. Bonjour,
    Ah oui!de la bierre en développent , ben je ne savais pas « blague » je suis heureux de voir une superbe équipe en plein boulot »bravo » .Pour moi et pour le moment je revois le cours de notre super prof « avant de développer un site avec html 5 et css 3.

    J’ai la certification.

    Bon développement
    Serge

Les commentaires sont fermés.