Depuis quelques semaines, j'avais envie de changer d'air pour mon blog : voir de nouvelles technologies, d'avoir un blog plus professionnel.

J'ai pas mal fouillé, et je suis très tenté par Jekyll et Poole, qui permettent d'avoir facilement un site statique écrit en markdown. Le tout hébérgé par github.

Plusieurs objectifs à ce changement :

  • Etre encore plus maître de mon outil de publication.
  • Découvrir de nouvelles technologies.
  • En profiter pour faire le ménage sur le blog.
  • Remettre à plat la ligne éditoriale.

Sudweb, j'en avais parlé il y a 2 ans, en 2012. Cette année, ça se passait à Toulouse, j'y suis donc retourné. Le changement, c'est que j'y étais uniquement en tant que "spectateur".

Vendredi : des conférences et des papotages

Le vendredi, c'est le jour des conférences. Je ne les citerais pas toutes, mais certaines m'ont bien marqué :

  • La culture d'entreprise, vu par Kevin Goldsmith. J'ai eu un peu du mal à tout suivre en anglais de bon matin, mais intéressant, et finalement, cette notion de culture est revenu dans beaucoup d'interventions.
  • La sédimentation des données, par Samuel Huron
  • Comment afficher simplement des données dans le temps, de façon que le présent compte plus que le passé. Hate de pouvoir tester ça sur l'affichage des résultats de tests.
  • Un cours de dessin de croquis par Eva-Lotta Lamm
  • Deux petites histoires sur pourquoi les commentaires dans le code sont importants
  • Tu peux pas test, un concept pour tester. J'étais sceptique sur le programme, mais Vincent Van Steen a finalement réussi à me convaincre que cette méthode peut avoir un intérêt dans certains cas, pour gagner du temps et de l'argent.
  • Une histoire de print qui finit en web, avec un joli livre responsive ; la dette technique ; les réponses aux stress... et plein d'autres sujets ont été abordés.

Comme toujours, la journée est chargée en contenu riches, intéressants, et chacun y trouve son compte. Les pauses sont là pour échanger sur les conférences, sur soi, son métier... je suis timide, j'ai surtout parler à des gens que je connaissais déjà.

Et pour finir la journée, une conférence débat animée par David Bruant et Pablo Pernot, qui a soulevé beaucoup de questions à base de "mais pourquoi je travaille comme ça", "comment changer l'avenir de la profession", ou encore "quand ça va pas, il faut le dire".

Toute la journée, Romain a réalisé des posters basés sur les contenus des conférences, en live. J'ai trouvé ça impressionnant (que ce soit l'esprit de synthèse ou la mise en page) Sur le débat, il a été bluffant. J'ai hâte de voir le résultats des posters dans les prochaines semaines ! Le soir, j'ai fait l'impasse sur la soirée communautaire pour rentrer m'occuper de mon fils, et me reposer avant le deuxième round du lendemain. Sudweb 2014 - Un grand bol d'air frais

SudWeb Logo

Samedi : ateliers et échanges

Le samedi à Sudweb, c'est souvent compliqué : des ateliers sont préparés dans les 7-8 salles dispos, et chacun va là où il veut. Avec la règle des deux pieds : "Si ça te plait pas, tu pars, et tu vas voir ailleurs". Cette année, j'avais un coup de coeur pour un atelier prévu de longue date. Du coup, cela m'a empêché d'aller à un autre qui s'est créé et organisé dans la matinée. Et du coup, j'ai fini par faire une journée sans "technique" :

  • Atelier Légo pour faire des métaphores, étape par étape. Très intéressant, parce que cela permet vraiment de faire passer des idées par construction en 3D. (Un peu comme le cours de croquis de la veille)
  • Atelier DIY : Do it yourself, avec construction par équipe. Mon seul regret : nous n'avons pas eu le temps de finir le device lab à base de tablette que nous avions commencé. Mais clairement, je suis arrivé en regardant mon bureau d'une autre façon lundi matin.
  • Un atelier de travail en groupe avec une kinésiologue, où on a aussi bien parlé acuponcture que de nos frustrations professionnelles.
  • Et enfin, la rétrospective de sudweb. Avec toute l'équipe qui a organisé ça, pour pouvoir dire ce qui nous a plus, ce qui a moins plus, et ce qu'on pourrait faire d'encore meilleurs l'année prochaine.

Sudweb, et après

Rien à dire, j'ai passé 2 supers journées. Je pense que si je pouvais, je ne changerais pas grand chose : j'y étais allé pour avoir un grand bol d'air, entendre parler de quelques technos que je maîtrise pas forcément, et m'ouvrir l'esprit à d'autres choses. J'ai tout bon sur toute la ligne. Un grand coup de chapeau à l'équipe qui a organisé tout ça.

Et après ? Lundi, retour au bureau, à la réalité. Le coup de boost de voir autant de gens voulant travailler encore mieux (dans tous les sens du terme) pendant 2 jours m'a remonté le moral. Mardi, j'ai un bon coup de blues, et je me demande si on devrait pas organiser un sudweb chaque semaine.

Il ne reste qu'à attendre les vidéos des conférences pour pouvoir les partager avec les collègues et connaissances pour leur montrer :)

Comme beaucoup de gens, je travaille toujours sur plusieurs projets à la fois. Mon rôle principal est de créer et maintenir des tests fonctionnels automatiques.

Pour gérer tout cela, nous sommes 2 personnes. Mais nous avons aussi des tests manuels à faire avant chaque mise en production de chaque projet.

Quelques chiffres

  • 6 serveurs jenkins : 3 linux, 3 windows. (Uniquement pour les tests fonctionnels)
  • 1 700 scenarios cucumber joués quotidiennement. (soit plus de 20 heures chaque jour)
  • près de 300 jobs jenkins pour les ranger
  • 7 produits principaux, à tester sur 1 à 3 navigateurs + mobile

Cela donne le tournis. Plus le temps passe, plus j'ai besoin d'avoir un affichage synthétique pour savoir si mes tests sont passés ou non.

J'avais dans le passé créer un petit plugin pour afficher mes résultats. Mais chaque projet est légèrement différent, demande des réglages différents, et j'arrivais aux limites de cet affichage. J'avais un écran par projet, soit 7 écrans de contrôle, que j'aurais voulu avoir toujours sous la main.

Plugin jenkins

J'ai donc regardé sur jenkins s'il existait des plugins permettant de lister les résultats au format json. Je n'ai rien trouvé de concluant, j'ai donc codé un petit plugin pour avoir un fichier jsonp qui liste tous les jobs, et pour chacun : * son statut courant, * les stats du dernier résultat, * l'avancement s'il est en cours... Vous pouvez trouver le code sur le dépôt github.

Console en javascript

Une fois le json obtenu, il restait à le traiter. L'avantage est de pouvoir le faire en javascript, ce qui permet à chacun de gérer ensuite l'avantage à sa sauce. J'ai fait un écran de contrôle pour l'ensemble des projets que je gère.

Et j'ai filé les clefs à une équipe sur un projet, qui a modifié l'écran pour avoir seulement les tests fonctionnels de son projet, et a ajouté les tests unitaires sur le même écran. Et voilà ce que ça donne :

Jenkins show

  • On peut séparer les jobs dans les différents projets via des expressions régulières.
  • Pour l'un des projets, très conséquents, j'ai même séparé par navigateur.
  • On voit bien les tests KO pour chaque job. (en rouge)
  • Les jobs désactivés ou n'ayant pas de résultats sont gris.
  • Les jobs qui sont en cours d'exécution sont en bleu, avec une barre d'avancement sur leur durée estimée.
  • Les jobs qui seront lancés quand il y aura une place pour eux ont une pastille jaune.